STRUCT
Tuist.GenerationOptions
Contents
- Properties
resolveDependenciesWithSystemScmdisablePackageVersionLockingclonedSourcePackagesDirPathadditionalPackageResolutionArgumentsstaticSideEffectsWarningTargetsenforceExplicitDependenciesdefaultConfigurationoptionalAuthenticationbuildInsightsDisableddisableSandboxincludeGenerateSchemeenableCaching
- Methods
options(disablePackageVersionLocking:staticSideEffectsWarningTargets:defaultConfiguration:optionalAuthentication:buildInsightsDisabled:disableSandbox:includeGenerateScheme:enableCaching:additionalPackageResolutionArguments:)options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:defaultConfiguration:optionalAuthentication:buildInsightsDisabled:disableSandbox:includeGenerateScheme:enableCaching:)options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:enforceExplicitDependencies:defaultConfiguration:optionalAuthentication:)
public struct GenerationOptions: Codable, Equatable, SendableOptions for project generation.
Properties
resolveDependenciesWithSystemScm
public var resolveDependenciesWithSystemScm: BoolThis is now deprecated.
To achieve the same behaviour, use additionalPackageResolutionArguments like so:
.options(
additionalPackageResolutionArguments: ["-scmProvider", "system"]
)disablePackageVersionLocking
public var disablePackageVersionLocking: BoolDisables locking Swift packages. This can speed up generation but does increase risk if packages are not locked in their declarations.
clonedSourcePackagesDirPath
public var clonedSourcePackagesDirPath: Path?This is now deprecated.
To achieve the same behaviour, use additionalPackageResolutionArguments like so:
.options(
additionalPackageResolutionArguments: ["-clonedSourcePackagesDirPath", "/path/to/dir/MyWorkspace"]
)Note that /path/to/dir is the path you would have passed to clonedSourcePackagesDirPath, and MyWorkspace is the name of your workspace.
additionalPackageResolutionArguments
public var additionalPackageResolutionArguments: [String]A list of arguments to be passed to xcodebuild when resolving package dependencies.
staticSideEffectsWarningTargets
public var staticSideEffectsWarningTargets: StaticSideEffectsWarningTargetsAllows configuring which targets Tuist checks for potential side effects due multiple branches of the graph including the same static library of framework as a transitive dependency.
enforceExplicitDependencies
public let enforceExplicitDependencies: BoolThe generated project has build settings and build paths modified in such a way that projects with implicit dependencies won't build until all dependencies are declared explicitly.
defaultConfiguration
public var defaultConfiguration: String?The default configuration to be used when generating the project. If not specified, Tuist generates for the first (when alphabetically sorted) debug configuration.
optionalAuthentication
public var optionalAuthentication: BoolMarks whether the Tuist server authentication is optional. If present, the interaction with the Tuist server will be skipped (instead of failing) if a user is not authenticated.
buildInsightsDisabled
public var buildInsightsDisabled: BoolWhen disabled, build insights are not collected. Build insights are never collected unless you are connected to a remote Tuist project. Default value is true.
disableSandbox
public var disableSandbox: BoolDisables building manifests in a sandboxed environment. This option is currently opt-in.
- It is encouraged to set
disableSandboxtofalse(and thus to enable it). It guards against using file system operations which:- Make generation slow
- Cause issues with manifest caching
includeGenerateScheme
public var includeGenerateScheme: BoolWhen true, it includes a scheme to run "tuist generate"
enableCaching
public var enableCaching: BoolWhen enabled, adds Xcode cache compilation settings to the project
Methods
options(disablePackageVersionLocking:staticSideEffectsWarningTargets:defaultConfiguration:optionalAuthentication:buildInsightsDisabled:disableSandbox:includeGenerateScheme:enableCaching:additionalPackageResolutionArguments:)
public static func options(
disablePackageVersionLocking: Bool = false,
staticSideEffectsWarningTargets: StaticSideEffectsWarningTargets = .all,
defaultConfiguration: String? = nil,
optionalAuthentication: Bool = false,
buildInsightsDisabled: Bool = false,
disableSandbox: Bool = true,
includeGenerateScheme: Bool = true,
enableCaching: Bool = false,
additionalPackageResolutionArguments: [String] = []
) -> Selfoptions(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:defaultConfiguration:optionalAuthentication:buildInsightsDisabled:disableSandbox:includeGenerateScheme:enableCaching:)
public static func options(
resolveDependenciesWithSystemScm: Bool = false,
disablePackageVersionLocking: Bool = false,
clonedSourcePackagesDirPath: Path? = nil,
staticSideEffectsWarningTargets: StaticSideEffectsWarningTargets = .all,
defaultConfiguration: String? = nil,
optionalAuthentication: Bool = false,
buildInsightsDisabled: Bool = false,
disableSandbox: Bool = true,
includeGenerateScheme: Bool = true,
enableCaching: Bool = false,
) -> Selfoptions(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:enforceExplicitDependencies:defaultConfiguration:optionalAuthentication:)
public static func options(
resolveDependenciesWithSystemScm: Bool = false,
disablePackageVersionLocking: Bool = false,
clonedSourcePackagesDirPath: Path? = nil,
staticSideEffectsWarningTargets: StaticSideEffectsWarningTargets = .all,
enforceExplicitDependencies: Bool,
defaultConfiguration: String? = nil,
optionalAuthentication: Bool = false
) -> Self