openrocket/snap/snapcraft.yaml
Billy Olsen 4b6f28b74f Mark the snap grade as stable
The grade of the snap is marked as devel, which is great while the
app is being developed but means that the snap is not eligible to be
published to candidate or stable release channels. This change marks
the snap grade as stable to allow it to be released.

Additionally, the automatic snap publishing that happens for each
commit pushed to the unstable branch has been failing to release
the snap revisions due to a symlink introduced in the openjdk package
for which leaves a dangling symlink certs. The blacklisted.certs
should be now contained in blocked.certs so we add that to the list
of files to remove when being primed (final preparation for snap
packaging).

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2022-07-25 19:47:33 -07:00

88 lines
2.4 KiB
YAML

name: openrocket
adopt-info: openrocket
grade: stable
summary: A free, fully featured model rocket simulator.
description: |
OpenRocket is a free, fully featured model rocket simulator that allows you
to design and simulate your rockets before actually building and flying them.
The main features include
* Six-degree-of-freedom flight simulation
* Automatic design optimization
* Realtime simulated altitude, velocity and acceleration display
* Staging and clustering support
* Cross-platform (Java-based)
* Read more about it on the OpenRocket.info.
license: GPL-3.0
base: core18
confinement: strict
plugs:
dot-java-user-prefs-openrocket:
interface: personal-files
read:
- $HOME/.java/.userPrefs/OpenRocket
dot-openrocket:
interface: personal-files
write:
- $HOME/.openrocket
apps:
openrocket:
extensions:
- gnome-3-28
command: bin/launcher
plugs:
- home
- network
- cups-control
- opengl
- dot-java-user-prefs-openrocket
- dot-openrocket
environment:
JAVA_HOME: "$SNAP/usr/lib/jvm/java-11-openjdk-amd64"
parts:
openrocket:
plugin: ant
source: .
source-type: git
ant-build-targets:
- clean
- check
- unittest
- jar
override-pull: |
# Override the pull in order to set the version and the grade.
# In the future, the releases can be annotated tags and snapcraft
# will use those for the version numbers.
#
# This can be extended to other parts of OpenRocket (to use the
# git describe --tags command) but the build should be updated at
# the same time so its consistent across all artifacts. Will defer
# that to a later pull request.
#
# Until then, just use the build.version value
snapcraftctl pull
VERSION=$(cat core/resources/build.properties | awk -F'=' '/build\.version/ { print $2 }')
snapcraftctl set-version "$VERSION"
override-build: |
snapcraftctl build
mv swing/build/jar/OpenRocket.jar $SNAPCRAFT_PART_INSTALL/OpenRocket.jar
stage-packages:
- openjdk-11-jre
- ca-certificates
- ca-certificates-java
prime:
- -usr/lib/jvm/java-*/lib/security/cacerts
- -usr/lib/jvm/java-*/jre/lib/security/cacerts
- -usr/lib/jvm/java-*/lib/security/blacklisted.certs
launcher:
plugin: dump
source: snap/local
organize:
'launcher': 'bin/'