Having read Process for reviewing classic confinement snaps I’ve got a few questions.
I’m about to release cric - https://github.com/trixon/cric as a snap.
So far I’ve
name: cric
title: CRIC
base: core18
version: '1.0.1-SNAPSHOT'
summary: A Java jlink ui - a Custom Runtime Image Creator
description: |
**CRIC** is a gui for the Java jlink command.
It produces custom runtime images, kind of Java Runtime Environments.
The driver behind CRIC was the need to create cross-target custom runtime images for non-modular applications.
https://github.com/trixon/cric
grade: devel
architectures: [ amd64 ]
confinement: devmode
icon: snap/gui/cric.png
license: Apache-2.0
apps:
cric:
command: bin/launcher
extensions:
- gnome-3-28
plugs:
- home
- removable-media
parts:
cric:
plugin: dump
#source: https://github.com/trixon/cric/releases/download/v$SNAPCRAFT_PROJECT_VERSION/cric-$SNAPCRAFT_PROJECT_VERSION-bin.zip
source: /root/project/cric-$SNAPCRAFT_PROJECT_VERSION-bin.zip
source-type: zip
organize:
'*' : cric
launcher:
plugin: dump
source: snap/local
organize:
'launcher': 'bin/'
apt:
plugin: nil
override-build: |
apt install openjdk-11-jdk -y
jlink:
plugin: nil
after: [apt]
override-build: |
rm -rf $SNAPCRAFT_PRIME/jre
jlink --no-header-files \
--no-man-pages \
--strip-debug \
--compress=1 \
--add-modules java.base,java.datatransfer,java.desktop,java.logging,java.prefs,java.sql,java.xml,jdk.jfr,jdk.unsupported,jdk.unsupported.desktop \
--output $SNAPCRAFT_PRIME/jre
strip -p --strip-unneeded $SNAPCRAFT_PRIME/jre/lib/server/libjvm.so
Since the purpose of cric is to generate Java custom runtime images, or Java runtime environments as they used to be called, it must have access to user provided files, wherever they might be stored.
Files in this case are JDKs for Linux, and optionally Mac and Windows, among other java modules for e.g JavaFX or any other modules.
Can I tweak my snapcraft.yaml to make it possible to read any file location, or should I request classic confinement?
The snap is now available at https://snapcraft.io/cric