diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000000..3624e61fa2
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,53 @@
+name: Build and Test
+
+on:
+ push:
+ branches: [master, main]
+ pull_request:
+ branches: [master, main]
+ workflow_dispatch:
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ container:
+ image: eclipse-temurin:17-jdk
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Install Ant
+ run: |
+ apt-get update
+ apt-get install -y ant
+
+ - name: Show versions
+ run: |
+ java -version
+ ant -version
+
+ - name: Build and test
+ run: ant all
+
+ - name: Upload jars
+ uses: actions/upload-artifact@v4
+ with:
+ name: opendis7-jars
+ path: dist/*.jar
+ retention-days: 30
+
+ - name: Upload javadoc
+ uses: actions/upload-artifact@v4
+ with:
+ name: opendis7-javadoc
+ path: dist/javadoc/
+ retention-days: 30
+
+ - name: Upload test results
+ uses: actions/upload-artifact@v4
+ if: always()
+ with:
+ name: test-results
+ path: build/test/results/
+ retention-days: 14
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
new file mode 100644
index 0000000000..1f91e32a80
--- /dev/null
+++ b/.github/workflows/publish.yml
@@ -0,0 +1,55 @@
+name: Publish Release
+
+on:
+ release:
+ types: [published]
+ workflow_dispatch:
+
+jobs:
+ build-and-release:
+ runs-on: ubuntu-latest
+ container:
+ image: eclipse-temurin:17-jdk
+
+ permissions:
+ contents: write
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Install Ant and tools
+ run: |
+ apt-get update
+ apt-get install -y ant zip
+
+ - name: Build
+ run: ant all
+
+ - name: Create release bundle
+ run: |
+ mkdir -p release
+ cp dist/opendis7-*.jar release/
+ cp dist/license.txt release/
+ cp dist/license.html release/
+ cd release && zip -r ../opendis7-release.zip .
+
+ - name: Upload release assets
+ if: github.event_name == 'release'
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ apt-get install -y gh
+ for jar in dist/opendis7-*.jar; do
+ gh release upload "${{ github.event.release.tag_name }}" "$jar" --clobber
+ done
+ gh release upload "${{ github.event.release.tag_name }}" opendis7-release.zip --clobber
+
+ - name: Upload artifacts
+ if: github.event_name == 'workflow_dispatch'
+ uses: actions/upload-artifact@v4
+ with:
+ name: opendis7-release
+ path: |
+ dist/opendis7-*.jar
+ opendis7-release.zip
diff --git a/build.xml b/build.xml
index 32dfa66e51..eb69ab4cd4 100644
--- a/build.xml
+++ b/build.xml
@@ -181,18 +181,24 @@ POSSIBILITY OF SUCH DAMAGE.
+
+
-
+
+
+
-
+
+
+