FlatpakBuilderSettings Class

Summary

Run a command in a sandbox based on the build dir. This starts flatpak build, with some extra arguments to give the same environment as the build, and the same permissions the final app will have (except filesystem permissions). The command to run must be the last argument passed to flatpak-builder, after the directory and the manifest. Only the --arch=ARCH, --ccache and --verbose options can be combined with this option.
Assembly
Cake.Flatpak.dll
Namespace
Cake.Flatpak
Base Types
graph BT Type-->Base0["AutoToolSettings"] click Base0 "/api/Cake.Flatpak/AutoToolSettings" Base0-->Base1["ToolSettings"] Type["FlatpakBuilderSettings"] class Type type-node

Syntax

public class FlatpakBuilderSettings : AutoToolSettings

Attributes

Type Description
NullableContextAttribute
NullableAttribute

Constructors

Properties

Name Value Summary
AddTag string
Add this tag to the tags list of the manifest before building.
AllowMissingRuntimes Nullable<bool>
Do not immediately fail if the sdk or platform runtimes are not installed on this system. Attempting to build any manifest modules will still fail if the sdk is missing, but may be useful for apps that install files without a sandbox build.
Arch string
Specify the machine architecture to build for. If no architecture is specified, the host architecture will be automatically detected. Only host compatible architectures can be specified.
Body string
Full description for the commit message. Used when exporting the build results.
BuildOnly Nullable<bool>
Don't do the cleanup and finish stages, which is useful if you want to build more things into the app.
BuildShell string
Extract and prepare the sources for the named module, and then start a shell in a sandbox identical to the one flatpak-builder would use for building the module. This is useful to debug a module.
BundleSources Nullable<bool>
Create an additional runtime with the source code for this module. It will be named app-id.Sources, for example org.gnome.Maps.Sources.
Ccache Nullable<bool>
Enable use of ccache in the build (needs ccache in the sdk). The default ccache folder can be overridden by setting the environment variable CCACHE_DIR.
CollectionId string
Set as the collection ID of the repository. 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 existing repository, the collection ID must match the existing configured collection ID for that repository.
DefaultBranch string
Set the default branch to BRANCH. This is used if the manifest does not specify a branch. The default is master.
DeleteBuildDirs Nullable<bool>
Always remove the sources and build after having built each module, even if the build failed. The default is to keep failed build directories but remove successful ones. This is useful in e.g. automatic build systems.
DisableCache Nullable<bool>
Don't look at the existing cache for a previous build, instead always rebuild modules.
DisableDownload Nullable<bool>
Don't download any sources. This only works if some version of all sources are downloaded already. This is useful if you want to guarantee that no network i/o is done. However, the build will fail if some source is not locally available.
DisableRofilesFuse Nullable<bool>
Disable the use of rofiles-fuse to optimize the cache use via hardlink checkouts.
DisableTests Nullable<bool>
Don't run any of the tests.
DisableUpdates Nullable<bool>
Download missing sources, but don't update local mirrors of version control repos. This is useful to rebuild things but without updating git, bzr or svn repositories from the remote repository.
DownloadOnly Nullable<bool>
Exit successfully after downloading the required sources.
ExportOnly Nullable<bool>
Only do the export stages, picking up the build result from a previous build. This can be used to split the build and export/signature into two calls by leaving out --repo in the first call.
ExtraSources DirectoryPath
When downloading sources (archives, files, git, bzr, svn), look in this directory for pre-existing copies and use them instead of downloading.
ExtraSourcesUrl string
When downloading sources (archives, files, git, bzr, svn), look at this url for mirrored downloads before downloading from the original url.
FinishOnly Nullable<bool>
Only do the cleanup, finish and export stages, picking up where a --build-only command left off.
ForceClean Nullable<bool>
Erase the previous contents of DIRECTORY if it is not empty.
FromGit string
Look for the manifest in the given git repository. If this option is given, MANIFEST is interpreted as a relative path inside the repository.
FromGitBranch string
The branch to use with --from-git.
GpgHomedir DirectoryPath
GPG Homedir to use when looking for keyrings. Used when exporting the build results.
GpgSign string
Sign the commit with this GPG key. Used when exporting the build results. This option can be used multiple times.
Install Nullable<bool>
When the build is finished, install the result locally.
Installation string
Install the dependencies in a system-wide installation specified by NAME among those defined in /etc/flatpak/installations.d/. Using --installation=default is equivalent to using --system .
InstallDepsFrom string
Install/update build required dependencies from the specified remote.
InstallDepsOnly Nullable<bool>
Stop after downloading dependencies.
Jobs Nullable<int>
Limit the number of parallel jobs during the build. The default is the number of CPUs on the machine.
KeepBuildDirs Nullable<bool>
Don't remove the sources and build after having built and installed each module. This also creates a symlink to the build directory with a stable name ("build-modulename").
MirrorScreenshotUrl string
Mirror any screenshots in the appstream and rewrite the appstream xml as if they were on the specified URL. The resulting files will be stored in the "screenshots" subdirectory in the app directory and needs to be copied to the specified URL for the appdata to work.
NoShallowClone Nullable<bool>
Don't use shallow clones when mirroring git repos.
RebuildOnSdkChange Nullable<bool>
Record the exact version of the sdk in the cache, and rebuild everything if it changes. This is useful if you're building against an API-unstable runtime, like a nightly build.
RemoveTag string
Remove this tag to the tags list of the manifest before building. The remove happen before processing the --add-tag option, so if both are specified, then --app-tag wins.
Repo DirectoryPath
After the build finishes, run flatpak build-export to export the result to the repository DIR. If DIR exists, it must be an OSTree repository; otherwise a new one will be created.
RequireChanges Nullable<bool>
Do nothing, leaving a non-existent DIRECTORY if nothing changes since last cached build. If this is not specified, the latest version from the cache will be put into DIRECTORY .
Sandbox Nullable<bool>
Disable the possibility to specify build-args that are passed to flatpak build. This means the build process can't break out of its sandbox, and is useful when building less trusted software.
ShowDeps Nullable<bool>
List all the (local) files that the manifest depends on.
ShowManifest Nullable<bool>
Loads the manifest, including any included files and prints it in a canonical json format. This is useful for tools that want to handle manifest files to avoid having to support both yaml and json, as well as some non-standard json handling that is supported (for example comments and multiline strings).
SkipIfUnchanged Nullable<bool>
If the json is unchanged since the last build of this filename, then do nothing, and return exit code 42.
StateDir DirectoryPath
Use this directory for storing state (downloads, build dirs, build cache, etc) rather than .flatpak-builder. This can be an absolute or relative path, but must be on the same filesystem as the specified target DIRECTORY .
StopAt string
Stop at the specified module, ignoring it and all the following ones in both the "download" and "build" phases. This is useful for debugging and development. For instance, you can build all the dependencies, but stop at the main application so that you can then do a build from a pre-existing checkout. Implies --build-only.
Subject string
One line subject for the commit message. Used when exporting the build results.
System Nullable<bool>
Install the dependencies in the default system-wide installation.
TokenType string
Set type of token needed to install this commit. Setting this to a value greater than 0 implies that authentication will be needed to install the flatpak. A token-type property set in the manifest takes precedence over this option. Used when exporting the build results.
User Nullable<bool>
Install the dependencies in a per-user installation.
Verbose Nullable<bool>
Print debug information during command processing.

Extension Methods

Name Value Summary
Dump<FlatpakBuilderSettings>() string
Get a basic string representation of specified object.
Requires the Cake.Incubator addin
IsIn<FlatpakBuilderSettings>(FlatpakBuilderSettings[]) bool
Checks if the source is contained in a list
Requires the Cake.Incubator addin
NotNull<FlatpakBuilderSettings>(string) void
Throws an exception if the specified parameter's value is null.
Requires the Cake.Ftp addin
NotNull<FlatpakBuilderSettings>(string) void
Throws an exception if the specified parameter's value is null.
Requires the Cake.Issues addin
ThrowIfNull<FlatpakBuilderSettings>(string, string) T
Throws a System.ArgumentNullException with a specific message if the value is null, otherwise returns the value
Requires the Cake.Incubator addin
ThrowIfNull<FlatpakBuilderSettings>(string) T
Throws a System.ArgumentNullException if the value is null, otherwise returns the value
Requires the Cake.Incubator addin
ToDictionary() IDictionary<string, object>
Requires the Cake.DeployParams addin
ToStringWithNullMarkup() string
Returns the string value or a Not set> markup suitable for Spectre.Console.
Requires the Cake.Issues addin