eclipse-flatpak-packager:package-flatpak

Full name:

org.eclipse.cbi.maven.plugins:eclipse-flatpak-packager:1.5.3-SNAPSHOT:package-flatpak

Description:

Create a Flatpak application from the archived product output of the tycho-p2-director-plugin and exports the application to a Flatpak repository. Signing the Flatpak repository is optional, but highly recommended.

Attributes:

  • Requires a Maven project to be executed.
  • The goal is not marked as thread-safe and thus does not support parallel builds.
  • Since version: 1.1.5.
  • Binds by default to the lifecycle phase: package.

Required Parameters

Name Type Since Description
<branch> String 1.1.5 The branch of the application, defaults to "master" but can be set to identify the stream, for example: "Oxygen" or "4.7"
Default: master
<command> String 1.1.5 The filename or path to the main binary of the application, defaults to "eclipse"
Default: eclipse
<description> String 1.1.5 A longer description of the Flatpak application that may be shown in distro software centres.
<id> String 1.1.5 A unique identifier for the Flatpak application, for example: "org.eclipse.Platform"
<license> String 1.1.5 The license that the Flatpak application is distributed under. It should be a valid SPDX license expression. For example:
  • EPL-2.0
  • Apache-2.0 AND LGPL-3.0-or-later

A full list of recognized licenses and their identifiers can be found at the SPDX OpenSource License Registry.


Default: EPL-2.0
<metadataLicense> String 1.3.0 The license that the application metadata is distributed under. It should be a valid SPDX license expression. For example, the default value is:
  • CC0-1.0

A full list of recognized licenses and their identifiers can be found at the SPDX OpenSource License Registry.


Default: CC0-1.0
<minFlatpakVersion> String 1.1.5 The minimum version of Flatpak needed at runtime, that this application will support. Defaults to "1.7.1"
Default: 1.7.1
<name> String 1.1.5 A friendly name for the Flatpak application that will be shown to use in software centres and in desktop environments.
<runtime> String 1.1.6 The runtime on which to build the Flatpak application. Choices are "org.gnome.Platform" or "org.gnome.Sdk", defaults to "org.gnome.Platform"
Default: org.gnome.Platform
<runtimeVersion> String 1.1.5 The version of the Gnome runtime on which to build the Flatpak application. Defaults to "41"
Default: 41
<source> File 1.1.5 An .tar.gz or .zip file containing a Linux product from which to generate a Flatpak application.
<summary> String 1.1.5 A short description of the Flatpak application that may be shown in distro software centres and in desktop environments.

Optional Parameters

Name Type Since Description
<additionalSources> List<AdditionalSource> 1.1.5 An optional list of additional source files that should be installed into the Flatpak application. These files are simply copied into the sandbox at the given location. For example:
<additionalSources>
	<additionalSource>
		<source>/path/to/local/file</source>
		<destination>/path/to/location/inside/the/sandbox</destination>
	</additionalSources>
</additionalSources>
From 1.1.6, co-ordinates for a Maven artifact may be specified instead of a source file. For example:
<additionalSources>
	<additionalSource>
		<artifact>
			<artifactId></artifactId>
			<groupId></groupId>
			<version></version>
		</artifact>
		<destination>/path/to/location/inside/the/sandbox</destination>
	</additionalSources>
</additionalSources>
<appendDefaultFinishArgs> boolean 1.1.8 Whether or not to append the set of default finish args, defaults to "true" and the default finish args are as follows:
  • --filesystem=host
  • --share=network
  • --share=ipc
  • --socket=x11
  • --socket=wayland
  • --allow=devel
  • --socket=session-bus
  • --device=dri
  • --env=PATH=/app/bin:/app/jdk/bin:/usr/bin
  • --require-version=1.0.2

Default: true
<branchAlias> String 1.3.3 Creates an additional commit in the Flatpak repo for the application that was just built, but under a different branch name. This is useful if, for example, we want a branch that always points to the latest build, even if the stream changes.
<brandingPlugin> String 1.1.6 An optional bundle symbolic name of the branding plug-in for the product. If not specified, the id will be used. This plug-in should contain the icons that desktop environments may use for application launchers.
<continueOnFail> boolean 1.1.5 Whether the build should be stopped if the packaging process fails.
Default: false
User Property: cbi.flatpakager.continueOnFail
<finishArgs> List<String> 1.1.8 An optional list of finish args to be used. The full set of finish args that may be used are detailed in the Flatpak command reference. The given list of finish args will be appended to the default set if the appendDefaultFinishArgs flag is also set to true.
<gpgHome> File 1.1.5 The location of the GPG secure keyring to use when signing the Flatpak application. Defaults to the ".gnupg" directory in the user's home.
User Property: cbi.flatpakager.gpghome
<gpgKey> String 1.1.5 The GPG key to use when signing the Flatpak application.
User Property: cbi.flatpakager.gpgkey
<maintainer> String 1.1.5 An optional email address that can be used to contact the project about invalid or incomplete metadata.
<mimeTypes> List<String> 1.3.0 An optional list of MIME types that the application should register with the desktop environment that it knows how to open. Desktop environments like Gnome may offer to use the Flatpak application to open files of the types listed here.
<repository> File 1.1.5 The repository to which the new Flatpak application should be exported. If not specified, a new repository will be created inside the build directory.
User Property: cbi.flatpakager.repo
<repositoryUrl> String 1.1.5 The URL at which the Flatpak repository will be available to users, this is embedded into generated "flatpakrepo" and "flatpakref" files.
Default: http://www.example.com/flatpak/repo
User Property: cbi.flatpakager.repoUrl
<screenshots> List<String> 1.1.5 An optional list of URLs to screenshots that may be shown in distro software centres.
<serviceUrl> String 1.1.5 An optional URL for the Flatpak application packaging web service.

By default, the Flatpak application will be generated locally. If the Flatpak tools are unavailable locally, or the build is running on an architecture or OS where Flatpak is not supported, then a URL may be specified that indicated the location of the Flatpak packaging web service. For example:

http://build.eclipse.org:31338/flatpak-packager


User Property: cbi.flatpakager.serviceUrl
<sign> boolean 1.1.5 Whether the Flatpak application should be GPG signed.
Default: false
User Property: cbi.flatpakager.sign
<skip> boolean 1.1.5 Skips the execution of this plugin.
Default: false
User Property: cbi.flatpakager.skip
<timeoutMillis> int 1.1.5 Defines the timeout in milliseconds for any communication with the packaging web service. Defaults to zero, which is interpreted as an infinite timeout. This only means something if a serviceUrl is specified.
Default: 0
User Property: cbi.flatpakager.timeoutMillis

Parameter Details

<additionalSources>

An optional list of additional source files that should be installed into the Flatpak application. These files are simply copied into the sandbox at the given location. For example:
<additionalSources>
	<additionalSource>
		<source>/path/to/local/file</source>
		<destination>/path/to/location/inside/the/sandbox</destination>
	</additionalSources>
</additionalSources>
From 1.1.6, co-ordinates for a Maven artifact may be specified instead of a source file. For example:
<additionalSources>
	<additionalSource>
		<artifact>
			<artifactId></artifactId>
			<groupId></groupId>
			<version></version>
		</artifact>
		<destination>/path/to/location/inside/the/sandbox</destination>
	</additionalSources>
</additionalSources>
  • Type: java.util.List<org.eclipse.cbi.maven.plugins.flatpakager.AdditionalSource>
  • Since: 1.1.5
  • Required: No

<appendDefaultFinishArgs>

Whether or not to append the set of default finish args, defaults to "true" and the default finish args are as follows:
  • --filesystem=host
  • --share=network
  • --share=ipc
  • --socket=x11
  • --socket=wayland
  • --allow=devel
  • --socket=session-bus
  • --device=dri
  • --env=PATH=/app/bin:/app/jdk/bin:/usr/bin
  • --require-version=1.0.2
  • Type: boolean
  • Since: 1.1.8
  • Required: No
  • Default: true

<branch>

The branch of the application, defaults to "master" but can be set to identify the stream, for example: "Oxygen" or "4.7"
  • Type: java.lang.String
  • Since: 1.1.5
  • Required: Yes
  • Default: master

<branchAlias>

Creates an additional commit in the Flatpak repo for the application that was just built, but under a different branch name. This is useful if, for example, we want a branch that always points to the latest build, even if the stream changes.
  • Type: java.lang.String
  • Since: 1.3.3
  • Required: No

<brandingPlugin>

An optional bundle symbolic name of the branding plug-in for the product. If not specified, the id will be used. This plug-in should contain the icons that desktop environments may use for application launchers.
  • Type: java.lang.String
  • Since: 1.1.6
  • Required: No

<command>

The filename or path to the main binary of the application, defaults to "eclipse"
  • Type: java.lang.String
  • Since: 1.1.5
  • Required: Yes
  • Default: eclipse

<continueOnFail>

Whether the build should be stopped if the packaging process fails.
  • Type: boolean
  • Since: 1.1.5
  • Required: No
  • User Property: cbi.flatpakager.continueOnFail
  • Default: false

<description>

A longer description of the Flatpak application that may be shown in distro software centres.
  • Type: java.lang.String
  • Since: 1.1.5
  • Required: Yes

<finishArgs>

An optional list of finish args to be used. The full set of finish args that may be used are detailed in the Flatpak command reference. The given list of finish args will be appended to the default set if the appendDefaultFinishArgs flag is also set to true.
  • Type: java.util.List<java.lang.String>
  • Since: 1.1.8
  • Required: No

<gpgHome>

The location of the GPG secure keyring to use when signing the Flatpak application. Defaults to the ".gnupg" directory in the user's home.
  • Type: java.io.File
  • Since: 1.1.5
  • Required: No
  • User Property: cbi.flatpakager.gpghome

<gpgKey>

The GPG key to use when signing the Flatpak application.
  • Type: java.lang.String
  • Since: 1.1.5
  • Required: No
  • User Property: cbi.flatpakager.gpgkey

<id>

A unique identifier for the Flatpak application, for example: "org.eclipse.Platform"
  • Type: java.lang.String
  • Since: 1.1.5
  • Required: Yes

<license>

The license that the Flatpak application is distributed under. It should be a valid SPDX license expression. For example:
  • EPL-2.0
  • Apache-2.0 AND LGPL-3.0-or-later

A full list of recognized licenses and their identifiers can be found at the SPDX OpenSource License Registry.

  • Type: java.lang.String
  • Since: 1.1.5
  • Required: Yes
  • Default: EPL-2.0

<maintainer>

An optional email address that can be used to contact the project about invalid or incomplete metadata.
  • Type: java.lang.String
  • Since: 1.1.5
  • Required: No

<metadataLicense>

The license that the application metadata is distributed under. It should be a valid SPDX license expression. For example, the default value is:
  • CC0-1.0

A full list of recognized licenses and their identifiers can be found at the SPDX OpenSource License Registry.

  • Type: java.lang.String
  • Since: 1.3.0
  • Required: Yes
  • Default: CC0-1.0

<mimeTypes>

An optional list of MIME types that the application should register with the desktop environment that it knows how to open. Desktop environments like Gnome may offer to use the Flatpak application to open files of the types listed here.
  • Type: java.util.List<java.lang.String>
  • Since: 1.3.0
  • Required: No

<minFlatpakVersion>

The minimum version of Flatpak needed at runtime, that this application will support. Defaults to "1.7.1"
  • Type: java.lang.String
  • Since: 1.1.5
  • Required: Yes
  • Default: 1.7.1

<name>

A friendly name for the Flatpak application that will be shown to use in software centres and in desktop environments.
  • Type: java.lang.String
  • Since: 1.1.5
  • Required: Yes

<repository>

The repository to which the new Flatpak application should be exported. If not specified, a new repository will be created inside the build directory.
  • Type: java.io.File
  • Since: 1.1.5
  • Required: No
  • User Property: cbi.flatpakager.repo

<repositoryUrl>

The URL at which the Flatpak repository will be available to users, this is embedded into generated "flatpakrepo" and "flatpakref" files.
  • Type: java.lang.String
  • Since: 1.1.5
  • Required: No
  • User Property: cbi.flatpakager.repoUrl
  • Default: http://www.example.com/flatpak/repo

<runtime>

The runtime on which to build the Flatpak application. Choices are "org.gnome.Platform" or "org.gnome.Sdk", defaults to "org.gnome.Platform"
  • Type: java.lang.String
  • Since: 1.1.6
  • Required: Yes
  • Default: org.gnome.Platform

<runtimeVersion>

The version of the Gnome runtime on which to build the Flatpak application. Defaults to "41"
  • Type: java.lang.String
  • Since: 1.1.5
  • Required: Yes
  • Default: 41

<screenshots>

An optional list of URLs to screenshots that may be shown in distro software centres.
  • Type: java.util.List<java.lang.String>
  • Since: 1.1.5
  • Required: No

<serviceUrl>

An optional URL for the Flatpak application packaging web service.

By default, the Flatpak application will be generated locally. If the Flatpak tools are unavailable locally, or the build is running on an architecture or OS where Flatpak is not supported, then a URL may be specified that indicated the location of the Flatpak packaging web service. For example:

http://build.eclipse.org:31338/flatpak-packager

  • Type: java.lang.String
  • Since: 1.1.5
  • Required: No
  • User Property: cbi.flatpakager.serviceUrl

<sign>

Whether the Flatpak application should be GPG signed.
  • Type: boolean
  • Since: 1.1.5
  • Required: No
  • User Property: cbi.flatpakager.sign
  • Default: false

<skip>

Skips the execution of this plugin.
  • Type: boolean
  • Since: 1.1.5
  • Required: No
  • User Property: cbi.flatpakager.skip
  • Default: false

<source>

An .tar.gz or .zip file containing a Linux product from which to generate a Flatpak application.
  • Type: java.io.File
  • Since: 1.1.5
  • Required: Yes

<summary>

A short description of the Flatpak application that may be shown in distro software centres and in desktop environments.
  • Type: java.lang.String
  • Since: 1.1.5
  • Required: Yes

<timeoutMillis>

Defines the timeout in milliseconds for any communication with the packaging web service. Defaults to zero, which is interpreted as an infinite timeout. This only means something if a serviceUrl is specified.
  • Type: int
  • Since: 1.1.5
  • Required: No
  • User Property: cbi.flatpakager.timeoutMillis
  • Default: 0