sfdk-init
Initialize a Service Fabric application project
TLDR
Initialize a new project of the given type
Initialize a new project with a specified builder
Initialize a new project ignoring non-empty directory
List available project types
SYNOPSIS
sfdk-init [options]
PARAMETERS
--non-interactive
Disables interactive prompts, making it suitable for automated or scripted installations.
--accept-license
Automatically accepts the Sailfish OS SDK license agreement without requiring user confirmation.
--target-dir <path>
Specifies the absolute path to the directory where the Sailfish OS SDK will be installed.
--installer-cache-dir <path>
Sets a specific directory to cache downloaded installer files and components, useful for offline installations or reducing repeated downloads.
--mirror <url>
Specifies an alternative URL to use as a download mirror for SDK components, useful for faster downloads or specific network configurations.
DESCRIPTION
The sfdk-init command is an essential tool within the Sailfish OS SDK, primarily used to initialize and configure your development environment. Its main purpose is to set up the necessary components, such as the build engine (often container-based), toolchains, and target platforms, required for developing applications or porting Sailfish OS to new devices.
When executed, sfdk-init typically guides the user through an interactive setup process, ensuring that the SDK is ready for use. This includes downloading required components, configuring installation paths, and setting up build targets. It streamlines the initial setup, making it easier for developers to start building and testing Sailfish OS software efficiently.
CAVEATS
This command is specific to the Sailfish OS SDK and is not a standard Linux utility. It requires an active internet connection to download necessary components during the initial setup. The installation can consume significant disk space and time, depending on the selected components and network speed.
INTERACTIVE SETUP
By default, sfdk-init runs interactively, guiding the user through questions regarding installation paths, components to install, and license agreements. This interactive mode ensures a user-friendly setup experience, especially for new developers.
SDK STRUCTURE
Upon successful initialization, sfdk-init establishes the complex directory structure for the SDK. This typically includes the main SDK tools, build engines (often managed via Podman containers for isolation), various cross-compilation toolchains, and pre-built target platforms for different Sailfish OS releases and hardware architectures, enabling a complete development environment.
HISTORY
sfdk-init emerged as a core component of the Sailfish OS SDK, provided by Jolla Ltd. Its development has paralleled the growth of the Sailfish OS ecosystem, aiming to simplify and standardize the setup process for developers. It has been a cornerstone of the SDK since its inception, adapting to new underlying technologies (such as the shift towards container-based build engines like Podman) to ensure a robust and isolated development environment.
SEE ALSO
sfdk(1), sfdk-config(1), sfdk-build(1), podman(1)