diff --git a/.github/workflows/create_library_zip.yml b/.github/workflows/create_library_zip.yml new file mode 100644 index 00000000..52368b3b --- /dev/null +++ b/.github/workflows/create_library_zip.yml @@ -0,0 +1,53 @@ +on: + push: + tags: + - '*' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + cache: maven + + - name: Build with Maven + run: mvn -B -Puber-jar verify -DfatJarName=GeometrySuiteForProcessing + + - name: Extract POM version + id: pom_version + run: | + VERSION=$(mvn -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive exec:exec) + echo "version=$VERSION" >> $GITHUB_OUTPUT + echo "Extracted Maven Version: $VERSION" + + - name: Create Release zip + run: | + mkdir -p GeometrySuiteForProcessing/library + cp target/GeometrySuiteForProcessing.jar GeometrySuiteForProcessing/library/ + mkdir GeometrySuiteForProcessing/reference + cp -r target/reports/apidocs GeometrySuiteForProcessing/reference + mkdir GeometrySuiteForProcessing/examples + cp -r examples/* GeometrySuiteForProcessing/examples + mkdir GeometrySuiteForProcessing/src + cp -r src/* GeometrySuiteForProcessing/src + cp library.properties GeometrySuiteForProcessing + zip -r GeometrySuiteForProcessing.zip GeometrySuiteForProcessing + + cp library.properties GeometrySuiteForProcessing.txt # Copy and rename library.properties + + - name: Release + uses: softprops/action-gh-release@v2 + with: + files: | + GeometrySuiteForProcessing.zip + GeometrySuiteForProcessing.txt + name: PGS Latest [${{ steps.pom_version.outputs.version }}] + body: This tag hosts the latest release of PGS, and is used to provide PGS as a library via the Processing contribution manager. + make_latest: false + tag_name: latest