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>
92 lines
2.4 KiB
YAML
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/'
|
|
|