Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions .github/workflows/build-linux-aarch64.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Build Linux (aarch64)
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Git Checkout
uses: actions/checkout@v3
- name: Set up JDK 21
uses: actions/setup-java@v3
with:
java-version: '21'
distribution: 'adopt'
cache: maven
- name: Build with Maven
run: mvn -B clean install -Plinux-aarch64 -Pci-build -Dno-native-profile
- name: Describe current commit
run: echo "commit_sha=${GITHUB_SHA::7}" >> $GITHUB_ENV
- name: Remove Previous Build Artifacts
uses: actions/github-script@v6
with:
script: |
const { owner, repo } = context.issue;
(await github.rest.actions.listArtifactsForRepo({ owner, repo })).data.artifacts
.filter(({ name }) => (name.startsWith('pdf-over-${{ github.event.pull_request.number || github.ref_name }}-') && name.endsWith('linux-aarch64')))
.forEach(({ id, name }) => { console.log('Deleting '+name+' ('+id+')'); github.rest.actions.deleteArtifact({ owner, repo, artifact_id: id }); });
- name: Set executable permissions
run: |
find pdf-over-build -maxdepth 1 -type f -name '*.sh' -exec chmod +x {} +
if [ -d pdf-over-build/jre/bin ]; then
chmod +x pdf-over-build/jre/bin/*
fi
- name: Tar bundle
run: tar -C pdf-over-build -cvf pdf-over.tar ./
- name: Upload Build Artifacts
uses: actions/upload-artifact@v4
with:
name: pdf-over-${{ github.event.pull_request.number || github.ref_name }}-${{ env.commit_sha }}-linux-aarch64
path: pdf-over.tar

permissions:
contents: read
actions: write
2 changes: 1 addition & 1 deletion .github/workflows/nighty-link-pr-comment.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Comment nightly.link artifact on pull request
on:
workflow_run:
workflows: ['Build Linux','Build Windows','Build MacOS (aarch64)','Build MacOS (x86_64)']
workflows: ['Build Linux','Build Linux (aarch64)','Build Windows','Build MacOS (aarch64)','Build MacOS (x86_64)']
types: [completed]
jobs:
pr_comment:
Expand Down
1 change: 1 addition & 0 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
[![pipeline status: Mac x86_64](https://github.com/a-sit/pdf-over/actions/workflows/build-mac-x86_64.yaml/badge.svg?branch=main)](https://github.com/a-sit/PDF-Over/actions/workflows/build-mac-x86_64.yaml?query=branch%3Amain+is%3Asuccess+event%3Apush)
[![pipeline status: Linux](https://github.com/a-sit/pdf-over/actions/workflows/build-linux.yaml/badge.svg?branch=main)](https://github.com/a-sit/PDF-Over/actions/workflows/build-linux.yaml?query=branch%3Amain+is%3Asuccess+event%3Apush)
[![pipeline status: Mac aarch64](https://github.com/a-sit/pdf-over/actions/workflows/build-mac-aarch64.yaml/badge.svg?branch=main)](https://github.com/a-sit/PDF-Over/actions/workflows/build-mac-aarch64.yaml?query=branch%3Amain+is%3Asuccess+event%3Apush)
[![pipeline status: Linux aarch64](https://github.com/a-sit/pdf-over/actions/workflows/build-linux-aarch64.yaml/badge.svg?branch=main)](https://github.com/a-sit/PDF-Over/actions/workflows/build-linux-aarch64.yaml?query=branch%3Amain+is%3Asuccess+event%3Apush)

**🇦🇹 This project only works with the Austrian eGovernment platform. 🇦🇹**

Expand Down

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you do not trust me with this binary, please download it yourself from https://adoptium.net/de/temurin/releases?version=21&os=linux&arch=aarch64&mode=filter

Binary file not shown.
10 changes: 5 additions & 5 deletions pdf-over-commons/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.eclipse.swt</groupId>
<artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
<version>4.35</version>
<scope>compile</scope>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.swt.gtk.linux.aarch64</artifactId>
<version>3.129.0</version>

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's the only thing I don't really understand - why do you depend on the win32 artifacts?
Not sure if it is OK to just switch to the linux aarch64 artifacts here.
Or should the dependency be marked as provided?

<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.drewnoakes</groupId>
Expand All @@ -44,4 +44,4 @@
</build>


</project>
</project>
114 changes: 110 additions & 4 deletions pdf-over-gui/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@
<pdfover-build.root-dir>${project.basedir}${file.separator}..</pdfover-build.root-dir>
<pdfover-build.output-dir>${pdfover-build.root-dir}/pdf-over-build</pdfover-build.output-dir>
<pdfover-build.staging-dir>${project.build.directory}/staging/${pdfover-build.output-filename}</pdfover-build.staging-dir>
<pdfover-build.swt-version>4.35</pdfover-build.swt-version>
<pdfover-build.swt-version>3.129.0</pdfover-build.swt-version>
</properties>

<dependencies>
<dependency>
<groupId>org.eclipse.swt</groupId>
<groupId>org.eclipse.platform</groupId>
<artifactId>${pdfover-build.swt-artifact-id}</artifactId>
<version>${pdfover-build.swt-version}</version>
</dependency>
Expand Down Expand Up @@ -191,7 +191,7 @@
<overWriteSnapshots>true</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<excludeScope>system</excludeScope> <!-- this excludes tools.jar, e.g. -->
<excludeGroupIds>org.codehaus.izpack,org.eclipse.swt</excludeGroupIds>
<excludeGroupIds>org.codehaus.izpack,org.eclipse.platform</excludeGroupIds>
</configuration>
</execution>
<execution>
Expand All @@ -204,7 +204,7 @@
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.eclipse.swt</groupId>
<groupId>org.eclipse.platform</groupId>
<artifactId>${pdfover-build.swt-artifact-id}</artifactId>
<version>${pdfover-build.swt-version}</version>
<type>jar</type>
Expand Down Expand Up @@ -476,6 +476,7 @@
<activation>
<os>
<family>linux</family>
<arch>amd64</arch>
</os>
<property> <!-- this is set by publish.sh; it prevents this profile from turning on automatically when we're building for another OS -->
<name>no-native-profile</name>
Expand Down Expand Up @@ -575,6 +576,111 @@
</plugins>
</build>
</profile>
<profile>
<id>linux-aarch64</id>
<activation>
<os>
<family>linux</family>
<arch>aarch64</arch>
</os>
<property> <!-- this is set by publish.sh; it prevents this profile from turning on automatically when we're building for another OS -->
<name>no-native-profile</name>
<value>!true</value>
</property>
</activation>
<properties>
<pdfover-build.swt-artifact-id>org.eclipse.swt.gtk.linux.aarch64</pdfover-build.swt-artifact-id>
<pdfover-build.bundled-jre.archive-filename>OpenJDK21U-jre_aarch64_linux_hotspot_21.0.9_10.tar.gz</pdfover-build.bundled-jre.archive-filename>
<pdfover-build.bundled-jre.folder-in-archive>jdk-21.0.9+10-jre</pdfover-build.bundled-jre.folder-in-archive>
<pdfover-build.os-name>linux</pdfover-build.os-name>
<pdfover-build.output-filename-without-jar>pdf-over_linux-aarch64</pdfover-build.output-filename-without-jar> <!-- used for izpack builds -->
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.2</version>
<executions>
<execution>
<id>copy-izpack-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<encoding>UTF-8</encoding>
<outputDirectory>${pdfover-build.staging-dir}</outputDirectory>
<resources>
<resource>
<directory>${pdfover-build.root-dir}/jre-bundles</directory>
<includes>
<include>${pdfover-build.bundled-jre.archive-filename}</include>
</includes>
</resource>
<resource>
<directory>src/main/resources/izpack-linux</directory>
<excludes>
<exclude>*.xml</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources/izpack-linux</directory>
<filtering>true</filtering>
<includes>
<include>*.xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>truezip-maven-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<id>build-archive</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.izpack</groupId>
<artifactId>izpack-maven-plugin</artifactId>
<version>5.2.4</version>
<configuration>
<baseDir>${pdfover-build.staging-dir}</baseDir>
<installFile>${pdfover-build.staging-dir}/install.xml</installFile>
<mkdirs>true</mkdirs>
<outputDirectory>${pdfover-build.output-dir}</outputDirectory>
<finalName>${pdfover-build.output-filename-without-jar}</finalName>
<enableAttachArtifact>false</enableAttachArtifact>
</configuration>
<executions>
<execution>
<id>standard-installer</id>
<phase>package</phase>
<goals>
<goal>izpack</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>add-manifest-to-izpack</id>
<phase>verify</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>windows</id>
<activation>
Expand Down
6 changes: 6 additions & 0 deletions pdf-over-signer/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,12 @@
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.swt.gtk.linux.aarch64</artifactId>
<version>3.129.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion release-instructions/publish.sh
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ else
end_phase "FAILED"
fi

profiles=( linux windows mac mac-aarch64 )
profiles=( linux linux-aarch64 windows mac mac-aarch64 )
if [[ "$1" != "" ]] && [[ "$1" == "--profiles" ]]; then
profiles=( $2 )
shift
Expand Down