|
1 | | -name: Build Generator JARs |
| 1 | +name: Build Project JARs |
2 | 2 |
|
3 | 3 | on: |
4 | 4 | push: |
|
7 | 7 | - '.github/workflows/build-generator.yml' |
8 | 8 | - 'html-generators/generate.java' |
9 | 9 | - 'html-generators/generateog.java' |
| 10 | + - 'agent-plugins/modern-java-development/skills/modern-java/scripts/DetectJavaVersion.java' |
10 | 11 | schedule: |
11 | 12 | - cron: '0 6 * * 1' # every Monday at 06:00 UTC |
12 | 13 | workflow_dispatch: |
|
67 | 68 | html-generators/generateog.jar |
68 | 69 | html-generators/generateog.aot |
69 | 70 | key: generateog-${{ hashFiles('html-generators/generateog.java') }} |
| 71 | + |
| 72 | + build-detect-java-version: |
| 73 | + runs-on: ubuntu-latest |
| 74 | + permissions: |
| 75 | + contents: write |
| 76 | + steps: |
| 77 | + - uses: actions/checkout@v7 |
| 78 | + |
| 79 | + - uses: actions/setup-java@v6 |
| 80 | + with: |
| 81 | + distribution: temurin |
| 82 | + java-version: '8' |
| 83 | + |
| 84 | + - name: Build Java version detector JAR |
| 85 | + working-directory: agent-plugins/modern-java-development |
| 86 | + run: | |
| 87 | + classes=$(mktemp -d) |
| 88 | + trap 'rm -rf "$classes"' EXIT |
| 89 | + jarfile="skills/modern-java/scripts/detect-java-version.jar" |
| 90 | + mkdir "$classes/compiled" "$classes/shipped" |
| 91 | + javac -source 8 -target 8 -Xlint:-options \ |
| 92 | + -d "$classes/compiled" skills/modern-java/scripts/DetectJavaVersion.java |
| 93 | + ( |
| 94 | + cd "$classes/shipped" |
| 95 | + jar xf "$GITHUB_WORKSPACE/agent-plugins/modern-java-development/$jarfile" |
| 96 | + ) |
| 97 | + rm -rf "$classes/shipped/META-INF" |
| 98 | + if diff --recursive --quiet "$classes/compiled" "$classes/shipped"; then |
| 99 | + exit 0 |
| 100 | + fi |
| 101 | + jar cfe "$jarfile" DetectJavaVersion -C "$classes/compiled" . |
| 102 | +
|
| 103 | + - name: Verify Java version detector JAR |
| 104 | + working-directory: agent-plugins/modern-java-development |
| 105 | + run: | |
| 106 | + jarfile="skills/modern-java/scripts/detect-java-version.jar" |
| 107 | + java -jar "$jarfile" --help >/dev/null |
| 108 | + javap -verbose -classpath "$jarfile" DetectJavaVersion \ |
| 109 | + | grep --quiet 'major version: 52' |
| 110 | +
|
| 111 | + - name: Commit Java version detector JAR |
| 112 | + run: | |
| 113 | + jarfile="agent-plugins/modern-java-development/skills/modern-java/scripts/detect-java-version.jar" |
| 114 | + if git diff --quiet -- "$jarfile"; then |
| 115 | + exit 0 |
| 116 | + fi |
| 117 | + git config user.name "github-actions[bot]" |
| 118 | + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" |
| 119 | + git add "$jarfile" |
| 120 | + git commit -m "Rebuild Java version detector JAR" |
| 121 | + git push origin HEAD:main |
0 commit comments