Structure
Environment
Reads ShipItSwifty configuration from environment variables.
struct EnvironmentOverview
Supports both SHIPIT_* prefixed variables (mapping Shipfile YAML keys) and bare secret names for CI compatibility (e.g. ASC_KEY_ID, VAULT_PASSWORD).
Naming Convention
Shipfile YAML keys map to env vars by upper-casing and joining path segments with _, prefixed with SHIPIT_. Nested keys use __ (double-underscore) as section separator.
Shipfile key | Environment variable |
|---|---|
|
|
|
|
|
|
|
|
Bare Secrets
The following are also read without the SHIPIT_ prefix for CI compatibility:
ASC_KEY_IDASC_ISSUER_IDASC_PRIVATE_KEYVAULT_PASSWORDP12_BASE64P12_PASSWORDPROVISIONING_PROFILE_BASE64GOOGLE_PLAY_SERVICE_ACCOUNT_JSONGOOGLE_PLAY_SERVICE_ACCOUNT_JSON_PATHSHIPIT_ANDROID__KEYSTORE_PASSWORDSHIPIT_ANDROID__KEY_PASSWORD
Topics
Initializers
init(env: [String : String])Creates an
Environmentreader from the given dictionary. Defaults to the current process environment.
Instance Properties
var androidBuildSystem: String?SHIPIT_ANDROID__BUILD_SYSTEM— overrides Android build system detection. Acceptsnative,flutter,react_native, orkmp.var androidBuildType: String?SHIPIT_ANDROID__BUILD_TYPE— Output type:apkoraabvar androidBuildVariant: String?SHIPIT_ANDROID__BUILD_VARIANT— Gradle build variant (e.g.release)var androidCLIEnabled: Bool?SHIPIT_ANDROID__CLI__ENABLED— opt in to AndroidCLI-backed behavior.var androidCLIExecutablePath: String?SHIPIT_ANDROID__CLI__EXECUTABLE_PATH— AndroidCLI executable name or path.var androidCLISDKPath: String?SHIPIT_ANDROID__CLI__SDK_PATH— Android SDK override passed to AndroidCLI.var androidGradleProjectDir: String?SHIPIT_ANDROID__GRADLE_PROJECT_DIR— Directory containing the Gradle root project.var androidGradlewPath: String?SHIPIT_ANDROID__GRADLEW_PATH— Path to the gradlew wrapper scriptvar androidKeyAlias: String?SHIPIT_ANDROID__KEY_ALIAS— Signing key alias within the keystorevar androidKeyPassword: String?SHIPIT_ANDROID__KEY_PASSWORD— Key password (secret)var androidKeystorePassword: String?SHIPIT_ANDROID__KEYSTORE_PASSWORD— Keystore password (secret)var androidKeystorePath: String?SHIPIT_ANDROID__KEYSTORE_PATH— Path to the Android keystore filevar androidModule: String?SHIPIT_ANDROID__MODULE— Gradle module name (e.g.app)var androidPackageName: String?SHIPIT_ANDROID__PACKAGE_NAME— Android application package name (e.g.com.example.app)var appBundleId: String?SHIPIT_APP__BUNDLE_IDvar appProject: String?SHIPIT_APP__PROJECTvar appScheme: String?SHIPIT_APP__SCHEMEvar appTeamId: String?SHIPIT_APP__TEAM_IDvar appWorkspace: String?SHIPIT_APP__WORKSPACEvar archiveExportMethod: String?SHIPIT_ARCHIVE__EXPORT_METHODvar archiveOutputPath: String?SHIPIT_ARCHIVE__OUTPUT_PATHvar ascIssuerId: String?SHIPIT_APP_STORE_CONNECT__ISSUER_IDor bareASC_ISSUER_IDvar ascKeyId: String?SHIPIT_APP_STORE_CONNECT__KEY_IDor bareASC_KEY_IDvar ascKeyPath: String?SHIPIT_APP_STORE_CONNECT__KEY_PATHor bareASC_PRIVATE_KEY_PATHvar ascPrivateKey: String?ASC_PRIVATE_KEY— raw P8 key contents (base64 or PEM)var buildConfiguration: String?SHIPIT_BUILD__CONFIGURATIONvar buildDerivedDataPath: String?SHIPIT_BUILD__DERIVED_DATA_PATHvar codeSigningGitUrl: String?SHIPIT_CODE_SIGNING__GIT_URLvar codeSigningP12Base64: String?SHIPIT_CODE_SIGNING__P12_BASE64or bareP12_BASE64var codeSigningP12Password: String?SHIPIT_CODE_SIGNING__P12_PASSWORDor bareP12_PASSWORDvar codeSigningP12Path: String?SHIPIT_CODE_SIGNING__P12_PATHvar codeSigningProvisioningProfileBase64: String?SHIPIT_CODE_SIGNING__PROVISIONING_PROFILE_BASE64or barePROVISIONING_PROFILE_BASE64var codeSigningProvisioningProfilePath: String?SHIPIT_CODE_SIGNING__PROVISIONING_PROFILE_PATHvar googlePlayServiceAccountJson: String?GOOGLE_PLAY_SERVICE_ACCOUNT_JSON— raw service account JSON contents (secret)var googlePlayServiceAccountJsonPath: String?GOOGLE_PLAY_SERVICE_ACCOUNT_JSON_PATH— path to service account JSON filevar iosBuildSystem: String?SHIPIT_IOS__BUILD_SYSTEM— overrides iOS build system detection. Acceptsnative,flutter,react_native, orkmp.var iosKMPArchiveTarget: String?SHIPIT_IOS__KMP_ARCHIVE_TARGET— KMP iOS target for archives.var iosKMPBuildTarget: String?SHIPIT_IOS__KMP_BUILD_TARGET— KMP iOS target for local builds.var iosKMPSharedModule: String?SHIPIT_IOS__KMP_SHARED_MODULE— Gradle module containing shared KMP framework tasks.var iosKMPTestTask: String?SHIPIT_IOS__KMP_TEST_TASK— KMP iOS test Gradle task.var platform: String?SHIPIT_PLATFORM— overrides platform auto-detection. Acceptsiosorandroid.var slackWebhookUrl: String?SLACK_WEBHOOK_URLvar vaultPassword: String?VAULT_PASSWORD— passphrase for the encrypted certificate repository
Instance Methods
func value(for: String) -> String?Returns the raw value for the given environment variable key.
Relationships
Conforms To
Swift.SendableSwift.SendableMetatype