1
+ name : Build Linux Binary
2
+
3
+ on :
4
+ push :
5
+ branches : ["main"]
6
+ pull_request :
7
+ branches : ["main"]
8
+
9
+ jobs :
10
+ build-linux-binary :
11
+
12
+ runs-on : ubuntu-latest
13
+
14
+ steps :
15
+ - uses : actions/checkout@v4
16
+
17
+ - name : Set up JDK 22
18
+ uses : actions/setup-java@v4
19
+ with :
20
+ java-version : ' 22'
21
+ distribution : ' liberica'
22
+ cache : maven
23
+
24
+ - name : Extract version from Maven cache
25
+ id : get-version
26
+ run : |
27
+ version=$(mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate \
28
+ -Dexpression=project.version -q -DforceStdout --file tcMenuGenerator/pom.xml)
29
+ echo "version=$version" >> $GITHUB_ENV
30
+
31
+ - name : Build tcMenuGenerator binary
32
+ run : |
33
+ mvn -B install -DskipTests -Dgpg.skip=true --file tcMenuJavaApi/pom.xml
34
+ mvn -B install -DskipTests -Dgpg.skip=true --file embedCONTROLCore/pom.xml
35
+ mvn -B install -DskipTests -Dgpg.skip=true --file tcMenuGenerator/pom.xml
36
+ cd tcMenuGenerator/target
37
+ cp classes/img/tcMenuDesigner.ico .
38
+ jpackage -n tcMenuDesigner \
39
+ -p jfx/deps \
40
+ --input jfx/app \
41
+ --icon ./classes/img/menu-icon.png \
42
+ --verbose \
43
+ --license-file ../../LICENSE \
44
+ --linux-app-category Development \
45
+ --linux-menu-group "Development;Utility;" \
46
+ --java-options "-Dprism.lcdtext=false -Djava.library.path=$APPDIR/lin" \
47
+ --app-version ${{ env.version }} \
48
+ --add-modules "jdk.crypto.cryptoki" \
49
+ -m com.thecoderscorner.tcmenu.menuEditorUI/com.thecoderscorner.menu.editorui.cli.TcMenuDesignerCmd
50
+
51
+ - name : Upload DEB artifact
52
+ uses : actions/upload-artifact@v3
53
+ with :
54
+ name : tcmenudesigner_${{ env.version }}_linux_deb-${{ github.sha }}
55
+ path : |
56
+ tcMenuGenerator/target/tcmenudesigner_${{ env.version }}_amd64.deb
0 commit comments