Skip to content

Commit b733f02

Browse files
committed
try actions?
1 parent ae25c78 commit b733f02

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

.github/workflows/build-jar.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Build and Release Self-Contained JAR
2+
run-name: ${{ github.actor }} is building a jar file for his Maze Game 🚀
3+
on: [push]
4+
jobs:
5+
build-and-release:
6+
runs-on: ubuntu-latest
7+
steps:
8+
- name: Checkout repository
9+
uses: actions/checkout@v3
10+
11+
- name: Set up Java JDK
12+
uses: actions/setup-java@v3
13+
with:
14+
distribution: 'temurin'
15+
java-version: '17'
16+
17+
- name: Create build directories
18+
run: |
19+
mkdir -p build/classes
20+
mkdir -p build/resources
21+
22+
- name: Compile Java source files
23+
run: |
24+
find dev/abhay7/MazeGame -name '*.java' > sources.txt
25+
javac -d build/classes @sources.txt
26+
27+
- name: Copy resources
28+
run: |
29+
cp -r res build/resources
30+
31+
- name: Package JAR file
32+
run: |
33+
mkdir -p build/jar
34+
cd build/classes
35+
jar cf MazeGame.jar -C . .
36+
cd ../resources
37+
jar uf ../classes/MazeGame.jar -C . .
38+
echo "Main-Class: dev.abhay7.MazeGame.MazeGame" > manifest.txt
39+
jar umf manifest.txt ../classes/MazeGame.jar
40+
mv ../classes/MazeGame.jar ../jar/MazeGame.jar
41+
42+
- name: Upload JAR as release asset
43+
uses: actions/upload-release-asset@v1
44+
with:
45+
upload_url: ${{ github.event.release.upload_url }}
46+
asset_path: build/jar/MazeGame.jar
47+
asset_name: MazeGame.jar
48+
asset_content_type: application/java-archive

0 commit comments

Comments
 (0)