CodeAlpha DevOps Internship — Task 3: Java Application using Gradle
A small Java to-do list CLI application, built and tested with Gradle, using Gson as a managed dependency, with an automated CI pipeline via GitHub Actions.
TaskManager class holds a list of Task objects (add, complete, list, count pending).tasks.json) — demonstrates dependency
management via build.gradle.TaskManagerTest), covering add/complete/validation logic.CodeAlpha_JavaGradleApp/
├── build.gradle
├── settings.gradle
├── src/
│ ├── main/java/com/codealpha/app/
│ │ ├── App.java # entry point
│ │ ├── Task.java # data model
│ │ └── TaskManager.java # business logic + Gson usage
│ └── test/java/com/codealpha/app/
│ └── TaskManagerTest.java
└── .github/workflows/gradle.yml
This repo does not include the binary gradle-wrapper.jar (it must be generated locally
once you have Gradle installed, since it’s a binary file). To generate it:
gradle wrapper --gradle-version 8.7
This creates gradlew, gradlew.bat, and gradle/wrapper/. Commit those so anyone can
build the project with ./gradlew without installing Gradle themselves.
# If you generated the wrapper:
./gradlew build
./gradlew test
./gradlew run
# Or with Gradle installed directly:
gradle build
gradle test
gradle run
Expected console output includes the task list, pending count, JSON export, and a
confirmation that tasks.json was written.
build.gradle declares:
com.google.code.gson:gson:2.10.1 — used in TaskManager for JSON serializationorg.junit.jupiter:junit-jupiter (via JUnit BOM) — for testingRun gradle dependencies to see the full resolved dependency tree.
.github/workflows/gradle.yml runs on every push/PR to main:
gradle build and gradle testAdd a badge to the top of this README once the repo is on GitHub:

build, test, run)