Skip to content

Optimise .jar files with JarTighten #486

Optimise .jar files with JarTighten

Optimise .jar files with JarTighten #486

Workflow file for this run

# This workflow will build a Java project with Gradle
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
name: Java CI with Gradle (Forge 1.20.x - snapshot)
on:
push:
branches:
- forge-1.20.x
pull_request:
branches:
- forge-1.20.x
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: 17
- name: Install advancecomp
run: sudo apt-get install advancecomp
- name: Install strip-nondeterminism
run: sudo apt-get install strip-nondeterminism
- name: Install jq
run: sudo apt-get install jq
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: Build with Gradle
uses: gradle/gradle-build-action@v2
with:
gradle-version: wrapper
cache-read-only: ${{ github.ref != 'refs/heads/forge-1.20.x' }}
arguments: build --scan --stacktrace --warning-mode all
- name: Rezip mod .jar files to remove directory entries
run: bash removeDirectoryEntries.sh
- name: Run strip-nondeterminism on built .jar files
run: strip-nondeterminism build/libs/*.jar
- name: Run advzip (-i 99) on built .jar files
run: advzip --shrink-insane -kzi 99 -p build/libs/*.jar
- name: Run ECT on built .jar files
run: for file in ./build/libs/*.jar; do ./ci-tools/ect-ubuntu-x86-64 --disable-png --disable-jpg -strip -zip $file; done
- name: Run ECT (-9) on built .jar files
run: for file in ./build/libs/*.jar; do ./ci-tools/ect-ubuntu-x86-64 -9 --disable-png --disable-jpg -strip -zip $file; done
- name: Run ECT (-99) on built .jar files
run: for file in ./build/libs/*.jar; do ./ci-tools/ect-ubuntu-x86-64 -99 --disable-png --disable-jpg -strip -zip $file; done
- name: Run ECT (-30060) on built .jar files
run: for file in ./build/libs/*.jar; do ./ci-tools/ect-ubuntu-x86-64 -30060 --disable-png --disable-jpg -strip -zip $file; done
- name: Run ECT (-90032) on built .jar files
run: for file in ./build/libs/*.jar; do ./ci-tools/ect-ubuntu-x86-64 -90032 --disable-png --disable-jpg -strip -zip $file; done
- name: Run JarTighten on built .jar files
run: for file in ./build/libs/*.jar; do java -jar ./ci-tools/JarTighten-1.2.6-all.jar -o -c -E -S -t -z -j --mode=MULTI_CHEAP --zopfli-iter=99 $file $file; done
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: Package
path: build/libs