Skip to content

STRUCT

Config.GenerationOptions

Contents

  • Properties
    • resolveDependenciesWithSystemScm
    • disablePackageVersionLocking
    • clonedSourcePackagesDirPath
    • staticSideEffectsWarningTargets
    • enforceExplicitDependencies
    • convertPathsInPodspecsToBuildableFolders
    • addAstPathsToLinker
  • Methods
    • options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:enforceExplicitDependencies:convertPathsInPodspecsToBuildableFolders:addAstPathsToLinker:)
swift
public struct GenerationOptions: Codable, Hashable

Options for project generation.

Properties

resolveDependenciesWithSystemScm

swift
public var resolveDependenciesWithSystemScm: Bool

When passed, Xcode will resolve its Package Manager dependencies using the system-defined accounts (for example, git) instead of the Xcode-defined accounts

disablePackageVersionLocking

swift
public var disablePackageVersionLocking: Bool

Disables locking Swift packages. This can speed up generation but does increase risk if packages are not locked in their declarations.

clonedSourcePackagesDirPath

swift
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

swift
public var staticSideEffectsWarningTargets: StaticSideEffectsWarningTargets

Allows 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

swift
public let enforceExplicitDependencies: Bool

The 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

swift
public let convertPathsInPodspecsToBuildableFolders: Bool

Whether 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

swift
public let addAstPathsToLinker: LinkerAstPaths

Options to add -add_ast_path with paths to swiftmodules of specified modules to OTHER_LDFLAGS

Methods

options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:enforceExplicitDependencies:convertPathsInPodspecsToBuildableFolders:addAstPathsToLinker:)

swift
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