openrocket/snap/snapcraft.yaml
Billy Olsen de741793fa Add snapcraft information for building snaps
Snaps are a universal packaging format for Linux platforms
and is available for most major Linux distributions.

This commit adds support for building OpenRocket as a snap. The
snap convention is to place snap relevant information in the top
level snap directory. The snapcraft.yaml file provides information
regarding what should be in the snap and how to build it.

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

78 lines
2.1 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
apps:
openrocket:
extensions:
- gnome-3-28
command: bin/launcher
plugs:
- home
- network
- cups-control
- opengl
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
build-packages:
- wget
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/'