Formatter Validator Minifier Escape / Unescape JSON ↔ String JSON ↔ YAML JSON → CSV NDJSON / JSON Lines JSON → Types JSON ↔ XML JSON Diff JSON Patch Canonicalize (RFC 8785) Schema Validator Schema Generator JSONPath Tester JWT Decoder JSON Errors Schemas More Tools
JSONTools / Schema registry / Flatpak Builder Manifest
Schema registry

Flatpak Builder Manifest

flatpak-builder manifest files

**/*.flatpak.json**/*.flatpak.yaml**/*.flatpak.yml

Check your file against this schema

Opens the validator with this schema already loaded. Paste your **/*.flatpak.json and it validates in your browser — nothing is uploaded.

Validate a **/*.flatpak.json → View raw schema

Fields

Generated directly from the schema, following local $refs, to two levels of nesting.

Field Type Description
app-idstringA string defining the application id
idstringA string defining the application id
branchstringThe branch to use when exporting the application. If this is unset the defaults come from the default-branch option
default-branchstringThe default branch to use when exporting the application. Defaults to master. This key can be overridden by the --default-branch commandline option
collection-idstringThe collection ID of the repository, defaults to being unset. Setting a globally unique collection ID allows the apps in the repository to be shared over peer to peer systems without needing further configuration. If building in an
extension-tagstringIf building an extension, the tag for the extension point to use. Since flatpak 0.11.4 a runtime may define multiple locations for the same extension point with the intention that different branches for the extension are mounted at each
runtimerequiredstringThe name of the runtime that the application uses
runtime-versionstringThe version of the runtime that the application uses, defaults to master
sdkrequiredstringThe name of the development runtime that the application builds with
varstringInitialize the (otherwise empty) writable /var in the build with a copy of this runtime
metadatastringUse this file as the base metadata file when finishing
commandstringThe filename or path to the main binary of the application. Note that this is really just a single file, not a commandline. If you want to pass arguments, install a shell script wrapper and use that as the command. Also note that the
build-runtimebooleanBuild a new runtime instead of an application
build-extensionbooleanBuild an extension
separate-localesbooleanSeparate out locale files and translations to an extension runtime. Defaults to true
id-platformstringWhen building a runtime sdk, also create a platform based on it with this id
metadata-platformstringThe metadata file to use for the platform we create
writable-sdkbooleanIf true, use a writable copy of the sdk for /usr. Defaults to true if build-runtime is specified
appstream-composebooleanRun appstream-compose during cleanup phase. Defaults to true
sdk-extensionsarray<string>Install these extra sdk extensions in /usr
platform-extensionsarray<string>Install these extra sdk extensions when creating the platform
basestringStart with the files from the specified application. This can be used to create applications that extend another application
base-versionstringUse this specific version of the application specified in base. If unspecified, this uses the value specified in branch
base-extensionsarray<string>Install these extra extensions from the base application when initializing the application directory
inherit-extensionsarray<string>Inherit these extra extension points from the base application or sdk when finishing the build
inherit-sdk-extensionsarray<string>Inherit these extra extension points from the base application or sdk when finishing the build, but do not inherit them into the platform
tagsarray<string>Add these tags to the metadata file
build-optionsobjectObject specifying the build environment
build-options.cflagsstringThis is set in the environment variable CFLAGS during the build. Multiple specifications of this (in e.g. per-arch area) are concatenated, separated by spaces
build-options.cflags-overridebooleanIf this is true, clear cflags from previous build options before adding it from these options
build-options.cppflagsstringThis is set in the environment variable CPPFLAGS during the build. Multiple specifications of this (in e.g. per-arch area) are concatenated, separated by spaces
build-options.cppflags-overridebooleanIf this is true, clear cppflags from previous build options before adding it from these options
build-options.cxxflagsstringThis is set in the environment variable CXXFLAGS during the build. Multiple specifications of this (in e.g. per-arch area) are concatenated, separated by spaces
build-options.cxxflags-overridebooleanIf this is true, clear cxxflags from previous build options before adding it from these options
build-options.ldflagsstringThis is set in the environment variable LDFLAGS during the build. Multiple specifications of this (in e.g. per-arch area) are concatenated, separated by spaces
build-options.ldflags-overridebooleanIf this is true, clear ldflags from previous build options before adding it from these options
build-options.prefixstringThe build prefix for the modules (defaults to /app for applications and /usr for runtimes)
build-options.libdirstringThe build libdir for the modules (defaults to /app/lib for applications and /usr/lib for runtimes)
build-options.append-pathstringThis will get appended to PATH in the build environment (with an leading colon if needed)
build-options.prepend-pathstringThis will get prepended to PATH in the build environment (with an trailing colon if needed)
build-options.append-ld-library-pathstringThis will get appended to LD_LIBRARY_PATH in the build environment (with an leading colon if needed)
build-options.prepend-ld-library-pathstringThis will get prepended to LD_LIBRARY_PATH in the build environment (with an trailing colon if needed)
build-options.append-pkg-config-pathstringThis will get appended to PKG_CONFIG_PATH in the build environment (with an leading colon if needed)
build-options.prepend-pkg-config-pathstringThis will get prepended to PKG_CONFIG_PATH in the build environment (with an trailing colon if needed)
build-options.envobjectThis is a dictionary defining environment variables to be set during the build. Elements in this override the properties that set the environment, like cflags and ldflags. Keys with a null value unset the corresponding variable
build-options.secret-envarray<string>This is a array defining which host environment variables is transferred to build-commands or post-install environment
build-options.build-argsarray<string>This is an array containing extra options to pass to flatpak build
build-options.test-argsarray<string>Similar to build-args but affects the tests, not the normal build
build-options.config-optsarray<string>This is an array containing extra options to pass to configure
build-options.secret-optsarray<string>This is an array of options that will be passed to configure, meant to be used to pass secrets through host environment variables. Put the option with an environment variables and will be resolved beforehand. '-DSECRET_ID=$CI_SECRET'
build-options.make-argsarray<string>An array of extra arguments that will be passed to make
build-options.make-install-argsarray<string>An array of extra arguments that will be passed to make install
build-options.stripbooleanIf this is true (the default is false) then all ELF files will be stripped after install
build-options.no-debuginfobooleanBy default (if strip is not true) flatpak-builder extracts all debug info in ELF files to a separate files and puts this in an extension. If you want to disable this, set no-debuginfo to true
build-options.no-debuginfo-compressionbooleanBy default when extracting debuginfo we compress the debug sections. If you want to disable this, set no-debuginfo-compression to true
build-options.archobjectThis is a dictionary defining for each arch a separate build options object that override the main one
modulesarrayAn array of objects specifying the modules to be built in order. String members in the array are interpreted as the name of a separate json or yaml file that contains a module
add-extensionsobjectThis is a dictionary of extension objects. The key is the name of the extension
add-build-extensionsobjectThis is a dictionary of extension objects similar to add-extensions. The main difference is that the extensions are added early and are available for use during the build
cleanuparray<string>An array of file patterns that should be removed at the end. Patterns starting with / are taken to be full pathnames (without the /app prefix), otherwise they just match the basename
cleanup-commandsarray<string>An array of commandlines that are run during the cleanup phase
cleanup-platformarray<string>Extra files to clean up in the platform
cleanup-platform-commandsarray<string>An array of commandlines that are run during the cleanup phase of the platform
prepare-platform-commandsarray<string>An array of commandlines that are run after importing the base platform, but before applying the new files from the sdk. This is a good place to e.g. delete things from the base that may conflict with the files added in the sdk
finish-argsarray<string>An array of arguments passed to the flatpak build-finish command
rename-desktop-filestringAny desktop file with this name will be renamed to a name based on id during the cleanup phase
rename-appdata-filestringAny appdata (metainfo) file with this name will be renamed to a name based on id during the cleanup phase
rename-mime-filestringAny mimetypes file with this name will me renamed to a name based on id during the cleanup phase
rename-iconstringAny icon with this name will be renamed to a name based on id during the cleanup phase. Note that this is the icon name, not the full filenames, so it should not include a filename extension
rename-mime-iconsarray<string>Any mime icons with any of these names will be renamed to a name prefixed with id during the cleanup phase. Note that this is the icon name, not the full filenames, so it should not include a filename extension
appdata-licensestringReplace the appdata (metainfo) project_license field with this string. This is useful as the upstream license is typically only about the application itself, whereas the bundled app can contain other licenses too
copy-iconbooleanIf rename-icon is set, keep a copy of the old icon file
desktop-file-name-prefixstringThis string will be prefixed to the Name key in the main application desktop file
desktop-file-name-suffixstringThis string will be suffixed to the Name key in the main application desktop file

What we found in this schema

Specification sections for the keywords in this schema

Keyword Document Section
$refJSON Schema Core, draft 2020-12§8.2.3.1 — Direct References with "$ref"
additionalPropertiesJSON Schema Core, draft 2020-12§10.3.2.3 — "additionalProperties"
anyOfJSON Schema Core, draft 2020-12§10.2.1.2 — "anyOf"
constJSON Schema Validation, draft 2020-12§6.1.3 — "const"
descriptionJSON Schema Validation, draft 2020-12§9.1 — "title" and "description"
elseJSON Schema Core, draft 2020-12§10.2.2.3 — "else"
enumJSON Schema Validation, draft 2020-12§6.1.2 — "enum"
ifJSON Schema Core, draft 2020-12§10.2.2.1 — "if"
itemsJSON Schema Core, draft 2020-12§10.3.1.2 — "items"
oneOfJSON Schema Core, draft 2020-12§10.2.1.3 — "oneOf"
patternJSON Schema Validation, draft 2020-12§6.3.3 — "pattern"
patternPropertiesJSON Schema Core, draft 2020-12§10.3.2.2 — "patternProperties"
propertiesJSON Schema Core, draft 2020-12§10.3.2.1 — "properties"
requiredJSON Schema Validation, draft 2020-12§6.5.3 — "required"
thenJSON Schema Core, draft 2020-12§10.2.2.2 — "then"
typeJSON Schema Validation, draft 2020-12§6.1.1 — "type"

Documents

Attribution

This schema comes from SchemaStore, distributed under the Apache License 2.0. Copyright 2015–present Mads Kristensen and contributors. View the original file. The field table and audit on this page are generated by JSONTools.tools; the schema itself is unmodified.

← All schemas