import WorkspaceConfiguration .product(name: "WorkspaceConfiguration", package: "Workspace")
Class

WorkspaceConfiguration

The root API used in configuration files.

Declaration

class WorkspaceConfiguration

Overview

Workspace can be configured by placing a Swift file named Workspace.swift in the project root.

The contents of a configuration file might look something like this:

import WorkspaceConfiguration /* Exernal packages can be imported with this syntax: import [module] // [package], [url], [version], [product] */ import SDGControlFlow // SDGCornerstone, https://github.com/SDGGiesbrecht/SDGCornerstone, 0.10.0, SDGControlFlow let configuration = WorkspaceConfiguration() configuration.optIntoAllTasks() configuration.supportedPlatforms = [.macOS, .windows, .ubuntu, .android] configuration.documentation.currentVersion = Version(1, 0, 0) configuration.documentation.projectWebsite = URL(string: "project.uk") configuration.documentation.documentationURL = URL(string: "project.uk/Documentation") configuration.documentation.repositoryURL = URL(string: "https://github.com/User/Project") configuration.documentation.api.yearFirstPublished = 2017 configuration.documentation.localisations = ["🇬🇧EN", "🇺🇸EN", "🇨🇦EN", "fr", "es"] configuration.documentation.api.copyrightNotice = Lazy<[LocalisationIdentifier: StrictString]>( resolve: { configuration in return [ "🇬🇧EN": "Copyright #dates \(configuration.documentation.primaryAuthor!).", "🇺🇸EN": "Copyright #dates \(configuration.documentation.primaryAuthor!).", "🇨🇦EN": "Copyright #dates \(configuration.documentation.primaryAuthor!).", "fr": "Droit d’auteur #dates \(configuration.documentation.primaryAuthor!).", "es": "Derecho de autor #dates \(configuration.documentation.primaryAuthor!).", ] }) configuration.documentation.primaryAuthor = "John Doe"

Properties

continuousIntegration

Options related to continuous integration.

customProofreadingTasks

Custom tasks to perform when proofreading.

customRefreshmentTasks

Custom tasks to perform when refreshing the project.

customValidationTasks

Custom tasks to perform when validating the project.

documentation

Options related to documentation.

fileHeaders

Options related to file headers.

git

Options related to Git.

gitHub

Options related to GitHub.

license

Options related to licensing.

normalize

Whether or not to normalize project files.

projectName

The localized forms of the project name, if they differ from the package name.

proofreading

Options related to proofreading.

provideWorkflowScripts

Whether or not to provide workflow scripts.

repository

Options related to the project repository.

supportedPlatforms

The platforms the project supports.

testing

Options related to building and testing.

xcode

Options related to Xcode.

Methods

optIntoAllTasks()

Opts into all tasks which are off by default.

Configuration

init()

Decodable

init(from:)

Encodable

encode(to:)
macOS CentOS Ubuntu Amazon Linux