Уважаемые специалисты по созданию оснастки,
Я создаю простую привязку для Java-приложения:
name: freeplane-snap
version: 1.5.18-1
summary: Java program for working with Mind Maps
description: ...
confinement: devmode
grade: stable
apps:
freeplane-snap:
command: ./freeplane.sh
parts:
main:
plugin: dump
source: freeplane-1.5.18/
stage-packages: [openjdk-8-jre]
filesets:
mybuild:
- "*"
stage:
- $mybuild
snap:
- $mybuild
Freeplane использует систему сборки gradle, но плагин snapcraft gradle не достаточно мощный (предполагает наличие «gradlew», а не «gradle», и используется для проектов с одним jar, т.е. всегда с опцией «jar»). Где я могу отправить запросы / исправления для этой функции?
Поэтому я использую бинарный дистрибутив проекта (распакованный в ./freeplane-1.5.18) с плагином 'dump', который работает хорошо. Однако, поскольку я не использую систему сборки java, jre отсутствует в оснастке (при запуске «freeplane-snap» я получаю ошибку, что JDK не может быть найден, НЕ при непосредственном запуске freeplane.sh). Я пытался добавить его с помощью «stage-packages: [openjdk-8-jre]», но это не помогло.
Не могли бы вы сказать мне, как добавить JRE к смеси?
Еще один вопрос: Слыша ли я об этом материале сдерживания, возможно ли / возможно ли это (с помощью плагинов?) Создать настольное приложение, которое может читать и писать (карты разума) везде и всюду, как обычный .deb? (например, вилки: [сеть, дом]?)
Большое спасибо и наилучшие пожелания, Феликс
Вот пример моего проекта знатока:
https://github.com/ZenHarbinger/torgo
Для создания из источника откройте ошибку Проблемы и LaunchPad. Я записал gradlew плагин, но я не gradle пользователь.
<час>РЕДАКТИРОВАНИЕ: Добавленные рабочие файлы
Вот являются снимком + обертка, которая, кажется, работает.
Это действительно грязно, поскольку это копирует содержание freeplane дважды.
https://<час> gist.github.com/ZenHarbinger/cf3aec2d7c6110ab0a0780b315cadc2f
РЕДАКТИРОВАНИЕ 2: Я отправил обновление gradle плагина в snapcraft. Это автоматически обнаружит, если gradlew будет существовать и также будет обеспечивать способность указать, что выходной dir
Вот является freeplane с snapcraft (если у Вас есть обновленный плагин). https://github.com/ZenHarbinger/freeplane