Skip to content

Build artifacts after push to main #7

Build artifacts after push to main

Build artifacts after push to main #7

Workflow file for this run

name: Build Windows Binary
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
build-windows-binary:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 22
uses: actions/setup-java@v4
with:
java-version: '22'
distribution: 'liberica'
cache: maven
- name: Extract version from Maven cache
id: get-version
shell: bash
run: |
version=$(mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate \
-Dexpression=project.version -q -DforceStdout --file tcMenuGenerator/pom.xml)
echo "version=$version" >> $GITHUB_ENV
- name: Build tcMenuGenerator binaries
shell: bash
run: |
mvn -B install -DskipTests -Dgpg.skip=true --file tcMenuJavaApi/pom.xml
mvn -B install -DskipTests -Dgpg.skip=true --file embedCONTROLCore/pom.xml
mvn -B install -DskipTests -Dgpg.skip=true --file tcMenuGenerator/pom.xml
cd tcMenuGenerator/target
cp classes/img/tcMenuDesigner.ico .
jpackage --type app-image -n tcmenu \
-p jfx/deps \
--input jfx/app \
--win-console \
--resource-dir ./classes/img/ \
--icon tcMenuDesigner.ico \
--app-version ${{ env.version }} \
--verbose \
--java-options "-Dprism.lcdtext=false -Djava.library.path=$APPDIR/win" \
--add-modules "jdk.crypto.cryptoki" \
-m com.thecoderscorner.tcmenu.menuEditorUI/com.thecoderscorner.menu.editorui.cli.TcMenuDesignerCmd
cp classes/img/tcMenuDesigner.ico .
jpackage --type app-image -n tcMenuDesigner \
-p jfx/deps \
--input jfx/app \
--resource-dir ./classes/img/ \
--icon tcMenuDesigner.ico \
--app-version ${{ env.version }} \
--verbose \
--java-options "-Dprism.lcdtext=false -Djava.library.path=$APPDIR/win" \
--add-modules "jdk.crypto.cryptoki" \
-m com.thecoderscorner.tcmenu.menuEditorUI/com.thecoderscorner.menu.editorui.cli.TcMenuDesignerCmd
- name: Package EXE and config files
shell: bash
run: |
mkdir -p packaged/tcmenu/app
mkdir -p packaged/tcMenuDesigner/app
cp tcMenuGenerator/target/tcmenu/tcmenu.exe packaged/tcmenu/
cp tcMenuGenerator/target/tcmenu/app/tcmenu.cfg packaged/tcmenu/app/
cp tcMenuGenerator/target/tcMenuDesigner/tcMenuDesigner.exe packaged/tcMenuDesigner/
cp tcMenuGenerator/target/tcMenuDesigner/app/tcMenuDesigner.cfg packaged/tcMenuDesigner/app/
- name: Upload Windows artifacts
uses: actions/upload-artifact@v3
with:
name: tcmenudesigner_${{ env.version }}_windows_exe-${{ github.sha }}
path: |
packaged/tcmenu
packaged/tcMenuDesigner