Skip to content

Merge pull request #223 from javaevolved/brunoborges-build-plugin-ver… #64

Merge pull request #223 from javaevolved/brunoborges-build-plugin-ver…

Merge pull request #223 from javaevolved/brunoborges-build-plugin-ver… #64

name: Build Project JARs
on:
push:
branches: [main]
paths:
- '.github/workflows/build-generator.yml'
- 'html-generators/generate.java'
- 'html-generators/generateog.java'
- 'agent-plugins/modern-java-development/skills/modern-java/scripts/DetectJavaVersion.java'
schedule:
- cron: '0 6 * * 1' # every Monday at 06:00 UTC
workflow_dispatch:
permissions:
contents: read
actions: write
jobs:
build-generate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-java@v6
with:
distribution: 'temurin'
java-version: '25'
- uses: jbangdev/setup-jbang@main
- name: Build fat JAR
run: jbang export fatjar --force --output html-generators/generate.jar html-generators/generate.java
- name: Build AOT cache
run: java -XX:AOTCacheOutput=html-generators/generate.aot -jar html-generators/generate.jar
- name: Save to cache
uses: actions/cache/save@v6
with:
path: |
html-generators/generate.jar
html-generators/generate.aot
key: generator-${{ hashFiles('html-generators/generate.java') }}
build-generateog:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-java@v6
with:
distribution: 'temurin'
java-version: '25'
- uses: jbangdev/setup-jbang@main
- name: Build fat JAR
run: jbang export fatjar --force --output html-generators/generateog.jar html-generators/generateog.java
- name: Build AOT cache
run: java -XX:AOTCacheOutput=html-generators/generateog.aot -jar html-generators/generateog.jar
- name: Save to cache
uses: actions/cache/save@v6
with:
path: |
html-generators/generateog.jar
html-generators/generateog.aot
key: generateog-${{ hashFiles('html-generators/generateog.java') }}
build-detect-java-version:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v7
- uses: actions/setup-java@v6
with:
distribution: temurin
java-version: '8'
- name: Build Java version detector JAR
working-directory: agent-plugins/modern-java-development
run: |
classes=$(mktemp -d)
trap 'rm -rf "$classes"' EXIT
jarfile="skills/modern-java/scripts/detect-java-version.jar"
mkdir "$classes/compiled" "$classes/shipped"
javac -source 8 -target 8 -Xlint:-options \
-d "$classes/compiled" skills/modern-java/scripts/DetectJavaVersion.java
(
cd "$classes/shipped"
jar xf "$GITHUB_WORKSPACE/agent-plugins/modern-java-development/$jarfile"
)
rm -rf "$classes/shipped/META-INF"
if diff --recursive --quiet "$classes/compiled" "$classes/shipped"; then
exit 0
fi
jar cfe "$jarfile" DetectJavaVersion -C "$classes/compiled" .
- name: Verify Java version detector JAR
working-directory: agent-plugins/modern-java-development
run: |
jarfile="skills/modern-java/scripts/detect-java-version.jar"
java -jar "$jarfile" --help >/dev/null
javap -verbose -classpath "$jarfile" DetectJavaVersion \
| grep --quiet 'major version: 52'
- name: Commit Java version detector JAR
run: |
jarfile="agent-plugins/modern-java-development/skills/modern-java/scripts/detect-java-version.jar"
if git diff --quiet -- "$jarfile"; then
exit 0
fi
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add "$jarfile"
git commit -m "Rebuild Java version detector JAR"
git push origin HEAD:main