openrocket/snap/snapcraft.yaml
Billy Olsen ed2f2cbf0a Add plugs to allow user to access ~/.java and ~/.openrocket
Add plugs which use the personal-files interface for snaps to allow
the users to enable OpenRocket to access the ~/.java and ~/.openrocket
directories. Currently, these must be manually connected by the user,
so the launcher is updated to ensure the user experience degrades
appropriately when they are not connected.

This method allows for new installations to OpenRocket without any
changes and for users migrating to the snap from the jar to be able
to connect their existing preferences and databases.

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2020-06-13 14:43:14 -07:00

92 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
grade: stable
confinement: strict
plugs:
preferences:
interface: personal-files
read:
- $HOME/.java
write:
- $HOME/.java
openrocket-db:
interface: personal-files
read:
- $HOME/.openrocket
write:
- $HOME/.openrocket
apps:
openrocket:
extensions:
- gnome-3-28
command: bin/launcher
plugs:
- home
- network
- cups-control
- opengl
- preferences
- openrocket-db
environment:
JAVA_HOME: "$SNAP/usr/lib/jvm/java-11-openjdk-amd64"
parts:
openrocket:
plugin: ant
source: .
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
launcher:
plugin: dump
source: snap/local
organize:
'launcher': 'bin/'