STRUCT
Config.GenerationOptions
Contents
- Properties
resolveDependenciesWithSystemScmdisablePackageVersionLockingclonedSourcePackagesDirPathstaticSideEffectsWarningTargetsenforceExplicitDependenciesconvertPathsInPodspecsToBuildableFoldersaddAstPathsToLinker
- Methods
options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:enforceExplicitDependencies:convertPathsInPodspecsToBuildableFolders:addAstPathsToLinker:)
public struct GenerationOptions: Codable, HashableOptions for project generation.
Properties
resolveDependenciesWithSystemScm
public var resolveDependenciesWithSystemScm: BoolWhen passed, Xcode will resolve its Package Manager dependencies using the system-defined accounts (for example, git) instead of the Xcode-defined accounts
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: FilePath?Allows setting a custom directory to be used when resolving package dependencies This path is passed to xcodebuild via the -clonedSourcePackagesDirPath argument
staticSideEffectsWarningTargets
public var staticSideEffectsWarningTargets: StaticSideEffectsWarningTargetsAllows configuring which targets Geko 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.
convertPathsInPodspecsToBuildableFolders
public let convertPathsInPodspecsToBuildableFolders: BoolWhether to convert paths in podspecs to buildable folders. Conversion is available only for paths that have exactly one globstar at the end of the path For example Sources/** will be converted, while Sources/**/Mocks/** will not.
addAstPathsToLinker
public let addAstPathsToLinker: LinkerAstPathsOptions to add -add_ast_path with paths to swiftmodules of specified modules to OTHER_LDFLAGS
Methods
options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:enforceExplicitDependencies:convertPathsInPodspecsToBuildableFolders:addAstPathsToLinker:)
public static func options(
resolveDependenciesWithSystemScm: Bool = false,
disablePackageVersionLocking: Bool = false,
clonedSourcePackagesDirPath: FilePath? = nil,
staticSideEffectsWarningTargets: StaticSideEffectsWarningTargets = .all,
enforceExplicitDependencies: Bool = false,
convertPathsInPodspecsToBuildableFolders: Bool = false,
addAstPathsToLinker: LinkerAstPaths = .disabled
) -> Self