TalentMatch uses Gradle for build automation and dependency management. You are recommended to read this Gradle Tutorial from the se-edu/guides.
| Command | Description |
|---|---|
./gradlew clean | Deletes the files created during previous build tasks (e.g., files in the build folder) |
./gradlew shadowJar | Creates a fat JAR file in the build/lib folder that contains all dependencies |
./gradlew run | Builds and runs the application |
./gradlew runShadow | Builds the application as a fat JAR, and then runs it |
./gradlew checkstyleMain | Runs the code style check for the main code base |
./gradlew checkstyleTest | Runs the code style check for the test code base |
./gradlew test | Runs all tests |
./gradlew clean test | Cleans the project and runs tests |
When developing TalentMatch, the following build sequence is recommended:
./gradlew clean to ensure a clean slate./gradlew checkstyleMain to verify code style compliance./gradlew test to ensure all tests pass./gradlew run to start the application for manual testingTalentMatch uses GitHub Actions for CI. The project comes with the necessary GitHub Actions configuration files (in the .github/workflows folder). No further setup is required.
The TalentMatch CI pipeline includes:
As part of CI, TalentMatch uses Codecov to generate coverage reports. When CI runs, it will:
Note: Because Codecov is known to experience intermittent issues (e.g., report upload failures), the CI is configured to pass even if the Codecov task fails. Therefore, developers should check coverage levels periodically and take corrective actions if coverage falls below desired thresholds.
To enable Codecov for forks of TalentMatch, follow the steps given in this se-edu guide.
In addition to running Gradle checks, CI includes repository-wide checks that cover all files in the repository. These checks enforce repository rules such as line ending requirements that are difficult to enforce on development machines.
These checks are implemented as POSIX shell scripts and can only be run on POSIX-compliant operating systems such as macOS and Linux. To run all checks locally on these operating systems, execute the following in the repository root directory:
./config/travis/run-checks.sh
Any warnings or errors will be printed to the console.
check-* scripts within the .github directory.SEVERITY:FILENAME:LINE: MESSAGE
Where:
Follow these steps to create a new release of TalentMatch:
MainApp.java./gradlew shadowJarjava -jar build/libs/talentmatch-x.x.jarv0.1)For each release, include:
When deploying TalentMatch to production environments:
config.json (see the Configuration Guide)