From 0a8d200d00c08772a5fb0404499742f5fba12f74 Mon Sep 17 00:00:00 2001 From: Jeremy David Giesbrecht Date: Thu, 20 Oct 2022 20:46:22 -0600 Subject: [PATCH 01/59] Resumed development. --- Workspace.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Workspace.swift b/Workspace.swift index 6c49815b71..c4b1beee0e 100644 --- a/Workspace.swift +++ b/Workspace.swift @@ -20,7 +20,7 @@ public enum Metadata { public static let latestStableVersion = Version(0, 41, 1) // Set this to latestStableVersion for release commits, nil the rest of the time. - public static let thisVersion: Version? = latestStableVersion + public static let thisVersion: Version? = nil public static let packageURL = URL(string: "https://github.com/SDGGiesbrecht/Workspace")! public static let issuesURL = packageURL.appendingPathComponent("issues") From 66ab34d5becb5ea72f6db93da8f7f6c083dbaed4 Mon Sep 17 00:00:00 2001 From: Jeremy David Giesbrecht Date: Sun, 27 Nov 2022 21:09:15 -0600 Subject: [PATCH 02/59] Made resources optional. --- .../WorkspaceConfiguration.swift | 23 +++++++++++++++++++ .../Interface/Refresh/RefreshAll.swift | 12 ++++++---- .../Interface/Refresh/RefreshResources.swift | 2 +- .../\360\237\207\251\360\237\207\252DE.txt" | 2 +- .../\360\237\207\251\360\237\207\252DE.txt" | 2 +- .../APITests.swift | 4 ++++ 6 files changed, 37 insertions(+), 8 deletions(-) diff --git a/Sources/WorkspaceConfiguration/Configuration/WorkspaceConfiguration.swift b/Sources/WorkspaceConfiguration/Configuration/WorkspaceConfiguration.swift index fa35ea3d93..e59d702722 100644 --- a/Sources/WorkspaceConfiguration/Configuration/WorkspaceConfiguration.swift +++ b/Sources/WorkspaceConfiguration/Configuration/WorkspaceConfiguration.swift @@ -197,6 +197,29 @@ public final class WorkspaceConfiguration: Configuration { set { licence = newValue } } + // @localization(🇬🇧EN) @localization(đŸ‡ș🇾EN) @localization(🇹🇩EN) + // @crossReference(WorkspaceConfiguration.generateResourceAccessors) + /// Whether or not to generate resource accessors. + /// + /// This is on by default. + /// + /// ```swift + /// $ workspace refresh resources + /// ``` + public var generateResourceAccessors: Bool = true + // @localization(đŸ‡©đŸ‡ȘDE) @crossReference(WorkspaceConfiguration.generateResourceAccessors) + /// Ob Arbeitsbereich Ressourcenzugriff erstellen soll. + /// + /// Wenn nicht angegeben, ist diese Einstellung ein. + /// + /// ```shell + /// $ arbeitsbereich auffrischen ressourcen + /// ``` + public var ressourcenzugriffErstellen: Bool { + get { return generateResourceAccessors } + set { generateResourceAccessors = newValue } + } + // @localization(🇬🇧EN) @localization(đŸ‡ș🇾EN) @localization(🇹🇩EN) // @crossReference(WorkspaceConfiguration.fileHeaders) /// Options related to file headers. diff --git a/Sources/WorkspaceImplementation/Interface/Refresh/RefreshAll.swift b/Sources/WorkspaceImplementation/Interface/Refresh/RefreshAll.swift index 26036ff50a..3baeb14cb0 100644 --- a/Sources/WorkspaceImplementation/Interface/Refresh/RefreshAll.swift +++ b/Sources/WorkspaceImplementation/Interface/Refresh/RefreshAll.swift @@ -156,11 +156,13 @@ } // Resources - try Workspace.Refresh.Resources.command.execute( - withArguments: arguments, - options: options, - output: output - ) + if try options.project.configuration(output: output).generateResourceAccessors { + try Workspace.Refresh.Resources.command.execute( + withArguments: arguments, + options: options, + output: output + ) + } // File Headers if try options.project.configuration(output: output).fileHeaders.manage { diff --git a/Sources/WorkspaceImplementation/Interface/Refresh/RefreshResources.swift b/Sources/WorkspaceImplementation/Interface/Refresh/RefreshResources.swift index c2b68753a2..40cf2981c0 100644 --- a/Sources/WorkspaceImplementation/Interface/Refresh/RefreshResources.swift +++ b/Sources/WorkspaceImplementation/Interface/Refresh/RefreshResources.swift @@ -44,7 +44,7 @@ return "regenerates code providing access to the project’s resources." case .deutschDeutschland: return - "erstellt den Quelltext neu, der zugriff auf die Ressourcen des Projekts bereitstellt." + "erstellt den Quelltext neu, der Zugriff auf die Ressourcen des Projekts bereitstellt." } }) diff --git "a/Tests/Test Specifications/Command/Help (workspace refresh resources)/\360\237\207\251\360\237\207\252DE.txt" "b/Tests/Test Specifications/Command/Help (workspace refresh resources)/\360\237\207\251\360\237\207\252DE.txt" index fffb5137a4..cded3c991e 100644 --- "a/Tests/Test Specifications/Command/Help (workspace refresh resources)/\360\237\207\251\360\237\207\252DE.txt" +++ "b/Tests/Test Specifications/Command/Help (workspace refresh resources)/\360\237\207\251\360\237\207\252DE.txt" @@ -1,6 +1,6 @@ $ arbeitsbereich refresh resources help ‱no‐colour -arbeitsbereich auffrischen ressourcen erstellt den Quelltext neu, der zugriff auf die Ressourcen des Projekts bereitstellt. +arbeitsbereich auffrischen ressourcen erstellt den Quelltext neu, der Zugriff auf die Ressourcen des Projekts bereitstellt. Unterbefehle diff --git "a/Tests/Test Specifications/Command/Help (workspace refresh)/\360\237\207\251\360\237\207\252DE.txt" "b/Tests/Test Specifications/Command/Help (workspace refresh)/\360\237\207\251\360\237\207\252DE.txt" index 28587ede5d..b4f6fe1bce 100644 --- "a/Tests/Test Specifications/Command/Help (workspace refresh)/\360\237\207\251\360\237\207\252DE.txt" +++ "b/Tests/Test Specifications/Command/Help (workspace refresh)/\360\237\207\251\360\237\207\252DE.txt" @@ -14,7 +14,7 @@ github erstellt die GitHub‐Konfigurationen des Projekts neu. hilfe zeigt Gebrauchsinformationen an. lies‐mich erstellt die Lies‐mich‐Datei des Projekts neu. lizenz erstellt die Lizenzdatei der Projekt neu. -ressourcen erstellt den Quelltext neu, der zugriff auf die Ressourcen des Projekts bereitstellt. +ressourcen erstellt den Quelltext neu, der Zugriff auf die Ressourcen des Projekts bereitstellt. skripte erstellt die Auffrisch‐ und Überprüfungskripte neu. Optionen diff --git a/Tests/WorkspaceConfigurationTests/APITests.swift b/Tests/WorkspaceConfigurationTests/APITests.swift index 62393ebd67..c9ed672763 100644 --- a/Tests/WorkspaceConfigurationTests/APITests.swift +++ b/Tests/WorkspaceConfigurationTests/APITests.swift @@ -465,6 +465,10 @@ class APITests: TestCase { ) #endif _ = try JSONEncoder().encode(noProducts) + configuration.generateResourceAccessors = false + XCTAssertFalse(configuration.ressourcenzugriffErstellen) + configuration.ressourcenzugriffErstellen = true + XCTAssert(configuration.generateResourceAccessors) } func testWorkspaceProjectConfiguration() throws { From ac94370608da9fb7844a8036d5a008b2130c3ae6 Mon Sep 17 00:00:00 2001 From: Jeremy David Giesbrecht Date: Fri, 2 Dec 2022 20:38:05 -0600 Subject: [PATCH 03/59] Updated dependencies. --- Package.resolved | 8 ++++---- Package.swift | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Package.resolved b/Package.resolved index f1bd1ec4d1..23e35219c1 100644 --- a/Package.resolved +++ b/Package.resolved @@ -14,8 +14,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/SDGGiesbrecht/SDGCornerstone", "state" : { - "revision" : "b97d9262f7ad9d14d65dc598a41abeef3403ab97", - "version" : "10.0.1" + "revision" : "682ab567a467ac66002babde940080b50afb6cd3", + "version" : "10.1.0" } }, { @@ -41,8 +41,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-argument-parser.git", "state" : { - "revision" : "9f39744e025c7d377987f30b03770805dcb0bcd1", - "version" : "1.1.4" + "revision" : "fddd1c00396eed152c45a46bea9f47b98e59301d", + "version" : "1.2.0" } }, { diff --git a/Package.swift b/Package.swift index 005ec8dc91..ecfc4bd4d2 100644 --- a/Package.swift +++ b/Package.swift @@ -485,7 +485,7 @@ let package = Package( dependencies: [ .package( url: "https://github.com/SDGGiesbrecht/SDGCornerstone", - from: Version(10, 0, 1) + from: Version(10, 1, 0) ), .package( url: "https://github.com/SDGGiesbrecht/SDGCommandLine", From 6c89d36ece2360df38835102e0207950277027b1 Mon Sep 17 00:00:00 2001 From: Jeremy David Giesbrecht Date: Sat, 3 Dec 2022 01:45:28 -0600 Subject: [PATCH 04/59] Version 0.41.2 --- README.md | 4 ++-- Workspace.swift | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c5d8d3c818..d4cc8acbd8 100644 --- a/README.md +++ b/README.md @@ -118,7 +118,7 @@ Workspace provides command line tools. They can be installed any way Swift packages can be installed. The most direct method is pasting the following into a terminal, which will either install or update them: ```shell -curl -sL https://gist.github.com/SDGGiesbrecht/4d76ad2f2b9c7bf9072ca1da9815d7e2/raw/update.sh | bash -s Workspace "https://github.com/SDGGiesbrecht/Workspace" 0.41.1 "workspace help" workspace arbeitsbereich +curl -sL https://gist.github.com/SDGGiesbrecht/4d76ad2f2b9c7bf9072ca1da9815d7e2/raw/update.sh | bash -s Workspace "https://github.com/SDGGiesbrecht/Workspace" 0.41.2 "workspace help" workspace arbeitsbereich ``` ## Importing @@ -134,7 +134,7 @@ let package = Package( .package( name: "Workspace", url: "https://github.com/SDGGiesbrecht/Workspace", - .upToNextMinor(from: Version(0, 41, 1)) + .upToNextMinor(from: Version(0, 41, 2)) ), ], targets: [ diff --git a/Workspace.swift b/Workspace.swift index c4b1beee0e..a2626a020d 100644 --- a/Workspace.swift +++ b/Workspace.swift @@ -18,9 +18,9 @@ import WorkspaceConfiguration public enum Metadata { - public static let latestStableVersion = Version(0, 41, 1) + public static let latestStableVersion = Version(0, 41, 2) // Set this to latestStableVersion for release commits, nil the rest of the time. - public static let thisVersion: Version? = nil + public static let thisVersion: Version? = latestStableVersion public static let packageURL = URL(string: "https://github.com/SDGGiesbrecht/Workspace")! public static let issuesURL = packageURL.appendingPathComponent("issues") From 4bc0419a63a498ec732e345375977d5d28ebb1f4 Mon Sep 17 00:00:00 2001 From: Jeremy David Giesbrecht Date: Sat, 3 Dec 2022 01:46:54 -0600 Subject: [PATCH 05/59] Resumed development. --- Workspace.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Workspace.swift b/Workspace.swift index a2626a020d..4c8efaa706 100644 --- a/Workspace.swift +++ b/Workspace.swift @@ -20,7 +20,7 @@ public enum Metadata { public static let latestStableVersion = Version(0, 41, 2) // Set this to latestStableVersion for release commits, nil the rest of the time. - public static let thisVersion: Version? = latestStableVersion + public static let thisVersion: Version? = nil public static let packageURL = URL(string: "https://github.com/SDGGiesbrecht/Workspace")! public static let issuesURL = packageURL.appendingPathComponent("issues") From 0aabb7508233b83d1a03ad8fc08dd3dc1f69a22c Mon Sep 17 00:00:00 2001 From: Jeremy David Giesbrecht Date: Mon, 5 Dec 2022 21:58:12 -0600 Subject: [PATCH 06/59] Fixed configuration encoding. --- .../Configuration/WorkspaceConfiguration.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Sources/WorkspaceConfiguration/Configuration/WorkspaceConfiguration.swift b/Sources/WorkspaceConfiguration/Configuration/WorkspaceConfiguration.swift index e59d702722..72addf6637 100644 --- a/Sources/WorkspaceConfiguration/Configuration/WorkspaceConfiguration.swift +++ b/Sources/WorkspaceConfiguration/Configuration/WorkspaceConfiguration.swift @@ -538,6 +538,7 @@ public final class WorkspaceConfiguration: Configuration { case supportedPlatforms case git case licence + case generateResourceAccessors case fileHeaders case gitHub case normalize @@ -559,6 +560,7 @@ public final class WorkspaceConfiguration: Configuration { try container.encode(supportedPlatforms, forKey: .supportedPlatforms) try container.encode(git, forKey: .git) try container.encode(licence, forKey: .licence) + try container.encode(generateResourceAccessors, forKey: .generateResourceAccessors) try container.encode(fileHeaders, forKey: .fileHeaders) try container.encode(gitHub, forKey: .gitHub) try container.encode(normalize, forKey: .normalize) @@ -584,6 +586,7 @@ public final class WorkspaceConfiguration: Configuration { supportedPlatforms = try container.decode(Set.self, forKey: .supportedPlatforms) git = try container.decode(GitConfiguration.self, forKey: .git) licence = try container.decode(LicenceConfiguration.self, forKey: .licence) + generateResourceAccessors = try container.decode(Bool.self, forKey: .generateResourceAccessors) fileHeaders = try container.decode(FileHeaderConfiguration.self, forKey: .fileHeaders) gitHub = try container.decode(GitHubConfiguration.self, forKey: .gitHub) normalize = try container.decode(Bool.self, forKey: .normalize) From 7c137f3c35374fc0148226c665cb17d61dd4e771 Mon Sep 17 00:00:00 2001 From: Jeremy David Giesbrecht Date: Tue, 6 Dec 2022 15:05:12 -0600 Subject: [PATCH 07/59] Version 0.41.3 --- README.md | 4 ++-- Workspace.swift | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d4cc8acbd8..310f1a5981 100644 --- a/README.md +++ b/README.md @@ -118,7 +118,7 @@ Workspace provides command line tools. They can be installed any way Swift packages can be installed. The most direct method is pasting the following into a terminal, which will either install or update them: ```shell -curl -sL https://gist.github.com/SDGGiesbrecht/4d76ad2f2b9c7bf9072ca1da9815d7e2/raw/update.sh | bash -s Workspace "https://github.com/SDGGiesbrecht/Workspace" 0.41.2 "workspace help" workspace arbeitsbereich +curl -sL https://gist.github.com/SDGGiesbrecht/4d76ad2f2b9c7bf9072ca1da9815d7e2/raw/update.sh | bash -s Workspace "https://github.com/SDGGiesbrecht/Workspace" 0.41.3 "workspace help" workspace arbeitsbereich ``` ## Importing @@ -134,7 +134,7 @@ let package = Package( .package( name: "Workspace", url: "https://github.com/SDGGiesbrecht/Workspace", - .upToNextMinor(from: Version(0, 41, 2)) + .upToNextMinor(from: Version(0, 41, 3)) ), ], targets: [ diff --git a/Workspace.swift b/Workspace.swift index 4c8efaa706..b3958047c2 100644 --- a/Workspace.swift +++ b/Workspace.swift @@ -18,9 +18,9 @@ import WorkspaceConfiguration public enum Metadata { - public static let latestStableVersion = Version(0, 41, 2) + public static let latestStableVersion = Version(0, 41, 3) // Set this to latestStableVersion for release commits, nil the rest of the time. - public static let thisVersion: Version? = nil + public static let thisVersion: Version? = latestStableVersion public static let packageURL = URL(string: "https://github.com/SDGGiesbrecht/Workspace")! public static let issuesURL = packageURL.appendingPathComponent("issues") From e99f6f25e244b33f236c5598d853cd41621d0af5 Mon Sep 17 00:00:00 2001 From: Jeremy David Giesbrecht Date: Tue, 6 Dec 2022 15:07:24 -0600 Subject: [PATCH 08/59] Resumed development. --- Workspace.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Workspace.swift b/Workspace.swift index b3958047c2..9c1cb37344 100644 --- a/Workspace.swift +++ b/Workspace.swift @@ -20,7 +20,7 @@ public enum Metadata { public static let latestStableVersion = Version(0, 41, 3) // Set this to latestStableVersion for release commits, nil the rest of the time. - public static let thisVersion: Version? = latestStableVersion + public static let thisVersion: Version? = nil public static let packageURL = URL(string: "https://github.com/SDGGiesbrecht/Workspace")! public static let issuesURL = packageURL.appendingPathComponent("issues") From 3f32cadcd0ed972368cd14ea7614f4d732feec95 Mon Sep 17 00:00:00 2001 From: Jeremy David Giesbrecht Date: Wed, 7 Dec 2022 01:44:49 -0600 Subject: [PATCH 09/59] Adopted SDGCopySources. --- .github/workflows/iOS.yaml | 1 + .github/workflows/macOS.yaml | 1 + .github/workflows/tvOS.yaml | 1 + .github/workflows/watchOS.yaml | 1 + Package.swift | 11 +----- .../ConfigurationEmbedder.swift | 36 ------------------- .../ContinuousIntegrationJob.swift | 1 + .../Copy Sources.txt | 1 + Sources/copy_source/main.swift | 29 --------------- .../After/AllTasks/.github/workflows/iOS.yaml | 1 + .../AllTasks/.github/workflows/macOS.yaml | 1 + .../AllTasks/.github/workflows/tvOS.yaml | 1 + .../AllTasks/.github/workflows/watchOS.yaml | 1 + .../.github/workflows/iOS.yaml | 1 + .../.github/workflows/macOS.yaml | 1 + .../.github/workflows/tvOS.yaml | 1 + .../.github/workflows/watchOS.yaml | 1 + .../After/Deutsch/.github/workflows/iOS.yaml | 1 + .../Deutsch/.github/workflows/macOS.yaml | 1 + .../After/Deutsch/.github/workflows/tvOS.yaml | 1 + .../Deutsch/.github/workflows/watchOS.yaml | 1 + .../.github/workflows/iOS.yaml | 1 + .../.github/workflows/macOS.yaml | 1 + .../.github/workflows/tvOS.yaml | 1 + .../.github/workflows/watchOS.yaml | 1 + .../SDGLibrary/.github/workflows/iOS.yaml | 1 + .../SDGLibrary/.github/workflows/macOS.yaml | 1 + .../SDGLibrary/.github/workflows/tvOS.yaml | 1 + .../SDGLibrary/.github/workflows/watchOS.yaml | 1 + .../SDGTool/.github/workflows/macOS.yaml | 1 + 30 files changed, 28 insertions(+), 75 deletions(-) delete mode 100644 Plugins/ConfigurationEmbedder/ConfigurationEmbedder.swift create mode 100644 Sources/WorkspaceProjectConfiguration/Copy Sources.txt delete mode 100644 Sources/copy_source/main.swift diff --git a/.github/workflows/iOS.yaml b/.github/workflows/iOS.yaml index 965737c5a8..8fd5b0d944 100644 --- a/.github/workflows/iOS.yaml +++ b/.github/workflows/iOS.yaml @@ -33,6 +33,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Refresh diff --git a/.github/workflows/macOS.yaml b/.github/workflows/macOS.yaml index 92d5b03d33..3dd33b2021 100644 --- a/.github/workflows/macOS.yaml +++ b/.github/workflows/macOS.yaml @@ -33,6 +33,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Refresh diff --git a/.github/workflows/tvOS.yaml b/.github/workflows/tvOS.yaml index 67d7cef5bf..fac363cb5d 100644 --- a/.github/workflows/tvOS.yaml +++ b/.github/workflows/tvOS.yaml @@ -33,6 +33,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Refresh diff --git a/.github/workflows/watchOS.yaml b/.github/workflows/watchOS.yaml index a4bc986f3f..c0fa534c2d 100644 --- a/.github/workflows/watchOS.yaml +++ b/.github/workflows/watchOS.yaml @@ -33,6 +33,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Refresh diff --git a/Package.swift b/Package.swift index ecfc4bd4d2..97382584f3 100644 --- a/Package.swift +++ b/Package.swift @@ -801,16 +801,7 @@ let package = Package( dependencies: [ "WorkspaceConfiguration" ], - plugins: ["ConfigurationEmbedder"] - ), - .plugin( - name: "ConfigurationEmbedder", - capability: .buildTool(), - dependencies: ["copy_source"] - ), - .executableTarget( - // #workaround(Swift 5.7, Should be “copy‐source”, but for Windows bug.) - name: "copy_source" + plugins: [.plugin(name: "SDGCopySources", package: "SDGCornerstone")] ), ] ) diff --git a/Plugins/ConfigurationEmbedder/ConfigurationEmbedder.swift b/Plugins/ConfigurationEmbedder/ConfigurationEmbedder.swift deleted file mode 100644 index 1fe8808973..0000000000 --- a/Plugins/ConfigurationEmbedder/ConfigurationEmbedder.swift +++ /dev/null @@ -1,36 +0,0 @@ -/* - ConfigurationEmbedder.swift - - This source file is part of the Workspace open source project. - Diese Quelldatei ist Teil des quelloffenen Arbeitsbereich‐Projekt. - https://github.com/SDGGiesbrecht/Workspace#workspace - - Copyright ©2022 Jeremy David Giesbrecht and the Workspace project contributors. - Urheberrecht ©2022 Jeremy David Giesbrecht und die Mitwirkenden des Arbeitsbereich‐Projekts. - - Soli Deo gloria. - - Licensed under the Apache Licence, Version 2.0. - See http://www.apache.org/licenses/LICENSE-2.0 for licence information. - */ - -import PackagePlugin -import Foundation - -@main struct DataGenerator: BuildToolPlugin { - - func createBuildCommands(context: PluginContext, target: Target) async throws -> [Command] { - let fileName = "Workspace.swift" - let inputPath = context.package.directory.appending(fileName) - let outputPath = context.pluginWorkDirectory.appending(fileName) - return [ - .buildCommand( - displayName: "Embed Configuration", - executable: try context.tool(named: "copy_source").path, - arguments: [inputPath, outputPath], - inputFiles: [inputPath], - outputFiles: [outputPath] - ) - ] - } -} diff --git a/Sources/WorkspaceImplementation/Tasks/Continuous Integration/ContinuousIntegrationJob.swift b/Sources/WorkspaceImplementation/Tasks/Continuous Integration/ContinuousIntegrationJob.swift index 017e4e67ee..8b4a7922c5 100644 --- a/Sources/WorkspaceImplementation/Tasks/Continuous Integration/ContinuousIntegrationJob.swift +++ b/Sources/WorkspaceImplementation/Tasks/Continuous Integration/ContinuousIntegrationJob.swift @@ -715,6 +715,7 @@ localization: interfaceLocalization, commands: [ "sudo xcode\u{2D}select \u{2D}switch /Applications/Xcode_\(xcodeVersion).app", + "defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation \u{2D}bool YES", "xcodebuild \u{2D}version", "swift \u{2D}\u{2D}version", ] diff --git a/Sources/WorkspaceProjectConfiguration/Copy Sources.txt b/Sources/WorkspaceProjectConfiguration/Copy Sources.txt new file mode 100644 index 0000000000..40c71c3fbf --- /dev/null +++ b/Sources/WorkspaceProjectConfiguration/Copy Sources.txt @@ -0,0 +1 @@ +Workspace.swift → Workspace.swift \ No newline at end of file diff --git a/Sources/copy_source/main.swift b/Sources/copy_source/main.swift deleted file mode 100644 index f6be96f1bf..0000000000 --- a/Sources/copy_source/main.swift +++ /dev/null @@ -1,29 +0,0 @@ -/* - main.swift - - This source file is part of the Workspace open source project. - Diese Quelldatei ist Teil des quelloffenen Arbeitsbereich‐Projekt. - https://github.com/SDGGiesbrecht/Workspace#workspace - - Copyright ©2022 Jeremy David Giesbrecht and the Workspace project contributors. - Urheberrecht ©2022 Jeremy David Giesbrecht und die Mitwirkenden des Arbeitsbereich‐Projekts. - - Soli Deo gloria. - - Licensed under the Apache Licence, Version 2.0. - See http://www.apache.org/licenses/LICENSE-2.0 for licence information. - */ - -import Foundation - -var arguments = ProcessInfo.processInfo.arguments.dropFirst() -guard let inputPath = arguments.popFirst(), - let outputPath = arguments.popFirst() -else { - fatalError("Wrong number of arguments:\n\(Array(arguments))") -} -let input = URL(fileURLWithPath: inputPath) -let output = URL(fileURLWithPath: outputPath) - -try? FileManager.default.removeItem(at: output) -try FileManager.default.copyItem(at: input, to: output) diff --git a/Tests/Mock Projects/After/AllTasks/.github/workflows/iOS.yaml b/Tests/Mock Projects/After/AllTasks/.github/workflows/iOS.yaml index 59eecf8ec8..ad5e5031e9 100644 --- a/Tests/Mock Projects/After/AllTasks/.github/workflows/iOS.yaml +++ b/Tests/Mock Projects/After/AllTasks/.github/workflows/iOS.yaml @@ -27,6 +27,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Install Workspace diff --git a/Tests/Mock Projects/After/AllTasks/.github/workflows/macOS.yaml b/Tests/Mock Projects/After/AllTasks/.github/workflows/macOS.yaml index 9dd2e20e52..515eea1f58 100644 --- a/Tests/Mock Projects/After/AllTasks/.github/workflows/macOS.yaml +++ b/Tests/Mock Projects/After/AllTasks/.github/workflows/macOS.yaml @@ -27,6 +27,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Install Workspace diff --git a/Tests/Mock Projects/After/AllTasks/.github/workflows/tvOS.yaml b/Tests/Mock Projects/After/AllTasks/.github/workflows/tvOS.yaml index 9462247baf..1bee6c827a 100644 --- a/Tests/Mock Projects/After/AllTasks/.github/workflows/tvOS.yaml +++ b/Tests/Mock Projects/After/AllTasks/.github/workflows/tvOS.yaml @@ -27,6 +27,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Install Workspace diff --git a/Tests/Mock Projects/After/AllTasks/.github/workflows/watchOS.yaml b/Tests/Mock Projects/After/AllTasks/.github/workflows/watchOS.yaml index 587a1e0b84..117109871f 100644 --- a/Tests/Mock Projects/After/AllTasks/.github/workflows/watchOS.yaml +++ b/Tests/Mock Projects/After/AllTasks/.github/workflows/watchOS.yaml @@ -27,6 +27,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Install Workspace diff --git a/Tests/Mock Projects/After/ContinuousIntegrationWithoutScripts/.github/workflows/iOS.yaml b/Tests/Mock Projects/After/ContinuousIntegrationWithoutScripts/.github/workflows/iOS.yaml index a4f808528b..de9abd5f9c 100644 --- a/Tests/Mock Projects/After/ContinuousIntegrationWithoutScripts/.github/workflows/iOS.yaml +++ b/Tests/Mock Projects/After/ContinuousIntegrationWithoutScripts/.github/workflows/iOS.yaml @@ -27,6 +27,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Install Workspace diff --git a/Tests/Mock Projects/After/ContinuousIntegrationWithoutScripts/.github/workflows/macOS.yaml b/Tests/Mock Projects/After/ContinuousIntegrationWithoutScripts/.github/workflows/macOS.yaml index caa8dc3ab8..1bea64275b 100644 --- a/Tests/Mock Projects/After/ContinuousIntegrationWithoutScripts/.github/workflows/macOS.yaml +++ b/Tests/Mock Projects/After/ContinuousIntegrationWithoutScripts/.github/workflows/macOS.yaml @@ -27,6 +27,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Install Workspace diff --git a/Tests/Mock Projects/After/ContinuousIntegrationWithoutScripts/.github/workflows/tvOS.yaml b/Tests/Mock Projects/After/ContinuousIntegrationWithoutScripts/.github/workflows/tvOS.yaml index 5a0960cc4e..81630fabf6 100644 --- a/Tests/Mock Projects/After/ContinuousIntegrationWithoutScripts/.github/workflows/tvOS.yaml +++ b/Tests/Mock Projects/After/ContinuousIntegrationWithoutScripts/.github/workflows/tvOS.yaml @@ -27,6 +27,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Install Workspace diff --git a/Tests/Mock Projects/After/ContinuousIntegrationWithoutScripts/.github/workflows/watchOS.yaml b/Tests/Mock Projects/After/ContinuousIntegrationWithoutScripts/.github/workflows/watchOS.yaml index 3a73ee448a..b78e6dbdd7 100644 --- a/Tests/Mock Projects/After/ContinuousIntegrationWithoutScripts/.github/workflows/watchOS.yaml +++ b/Tests/Mock Projects/After/ContinuousIntegrationWithoutScripts/.github/workflows/watchOS.yaml @@ -27,6 +27,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Install Workspace diff --git a/Tests/Mock Projects/After/Deutsch/.github/workflows/iOS.yaml b/Tests/Mock Projects/After/Deutsch/.github/workflows/iOS.yaml index 9f8f120920..2bb46fcb35 100644 --- a/Tests/Mock Projects/After/Deutsch/.github/workflows/iOS.yaml +++ b/Tests/Mock Projects/After/Deutsch/.github/workflows/iOS.yaml @@ -21,6 +21,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Arbeitsbereich installieren diff --git a/Tests/Mock Projects/After/Deutsch/.github/workflows/macOS.yaml b/Tests/Mock Projects/After/Deutsch/.github/workflows/macOS.yaml index 172bc474eb..87b70d7761 100644 --- a/Tests/Mock Projects/After/Deutsch/.github/workflows/macOS.yaml +++ b/Tests/Mock Projects/After/Deutsch/.github/workflows/macOS.yaml @@ -21,6 +21,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Arbeitsbereich installieren diff --git a/Tests/Mock Projects/After/Deutsch/.github/workflows/tvOS.yaml b/Tests/Mock Projects/After/Deutsch/.github/workflows/tvOS.yaml index 45bde5a353..dddfc7f3d9 100644 --- a/Tests/Mock Projects/After/Deutsch/.github/workflows/tvOS.yaml +++ b/Tests/Mock Projects/After/Deutsch/.github/workflows/tvOS.yaml @@ -21,6 +21,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Arbeitsbereich installieren diff --git a/Tests/Mock Projects/After/Deutsch/.github/workflows/watchOS.yaml b/Tests/Mock Projects/After/Deutsch/.github/workflows/watchOS.yaml index 2d490c1475..09b38fca58 100644 --- a/Tests/Mock Projects/After/Deutsch/.github/workflows/watchOS.yaml +++ b/Tests/Mock Projects/After/Deutsch/.github/workflows/watchOS.yaml @@ -21,6 +21,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Arbeitsbereich installieren diff --git a/Tests/Mock Projects/After/OneProductMultipleModules/.github/workflows/iOS.yaml b/Tests/Mock Projects/After/OneProductMultipleModules/.github/workflows/iOS.yaml index 35ccf86f6e..eb8c8cae4e 100644 --- a/Tests/Mock Projects/After/OneProductMultipleModules/.github/workflows/iOS.yaml +++ b/Tests/Mock Projects/After/OneProductMultipleModules/.github/workflows/iOS.yaml @@ -21,6 +21,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Install Workspace diff --git a/Tests/Mock Projects/After/OneProductMultipleModules/.github/workflows/macOS.yaml b/Tests/Mock Projects/After/OneProductMultipleModules/.github/workflows/macOS.yaml index e7bccf8475..19f1d2a72b 100644 --- a/Tests/Mock Projects/After/OneProductMultipleModules/.github/workflows/macOS.yaml +++ b/Tests/Mock Projects/After/OneProductMultipleModules/.github/workflows/macOS.yaml @@ -21,6 +21,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Install Workspace diff --git a/Tests/Mock Projects/After/OneProductMultipleModules/.github/workflows/tvOS.yaml b/Tests/Mock Projects/After/OneProductMultipleModules/.github/workflows/tvOS.yaml index 238ccf17ef..d26e16d3b9 100644 --- a/Tests/Mock Projects/After/OneProductMultipleModules/.github/workflows/tvOS.yaml +++ b/Tests/Mock Projects/After/OneProductMultipleModules/.github/workflows/tvOS.yaml @@ -21,6 +21,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Install Workspace diff --git a/Tests/Mock Projects/After/OneProductMultipleModules/.github/workflows/watchOS.yaml b/Tests/Mock Projects/After/OneProductMultipleModules/.github/workflows/watchOS.yaml index 072b13af65..f5d5f1e360 100644 --- a/Tests/Mock Projects/After/OneProductMultipleModules/.github/workflows/watchOS.yaml +++ b/Tests/Mock Projects/After/OneProductMultipleModules/.github/workflows/watchOS.yaml @@ -21,6 +21,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Install Workspace diff --git a/Tests/Mock Projects/After/SDGLibrary/.github/workflows/iOS.yaml b/Tests/Mock Projects/After/SDGLibrary/.github/workflows/iOS.yaml index f18a5e8af2..a44e24114f 100644 --- a/Tests/Mock Projects/After/SDGLibrary/.github/workflows/iOS.yaml +++ b/Tests/Mock Projects/After/SDGLibrary/.github/workflows/iOS.yaml @@ -34,6 +34,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Install Workspace diff --git a/Tests/Mock Projects/After/SDGLibrary/.github/workflows/macOS.yaml b/Tests/Mock Projects/After/SDGLibrary/.github/workflows/macOS.yaml index f201a83850..aefacfa9f2 100644 --- a/Tests/Mock Projects/After/SDGLibrary/.github/workflows/macOS.yaml +++ b/Tests/Mock Projects/After/SDGLibrary/.github/workflows/macOS.yaml @@ -34,6 +34,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Install Workspace diff --git a/Tests/Mock Projects/After/SDGLibrary/.github/workflows/tvOS.yaml b/Tests/Mock Projects/After/SDGLibrary/.github/workflows/tvOS.yaml index 1d2e9d227c..30d1cb59ed 100644 --- a/Tests/Mock Projects/After/SDGLibrary/.github/workflows/tvOS.yaml +++ b/Tests/Mock Projects/After/SDGLibrary/.github/workflows/tvOS.yaml @@ -34,6 +34,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Install Workspace diff --git a/Tests/Mock Projects/After/SDGLibrary/.github/workflows/watchOS.yaml b/Tests/Mock Projects/After/SDGLibrary/.github/workflows/watchOS.yaml index 07231042d6..7ab5cea187 100644 --- a/Tests/Mock Projects/After/SDGLibrary/.github/workflows/watchOS.yaml +++ b/Tests/Mock Projects/After/SDGLibrary/.github/workflows/watchOS.yaml @@ -34,6 +34,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Install Workspace diff --git a/Tests/Mock Projects/After/SDGTool/.github/workflows/macOS.yaml b/Tests/Mock Projects/After/SDGTool/.github/workflows/macOS.yaml index f201a83850..aefacfa9f2 100644 --- a/Tests/Mock Projects/After/SDGTool/.github/workflows/macOS.yaml +++ b/Tests/Mock Projects/After/SDGTool/.github/workflows/macOS.yaml @@ -34,6 +34,7 @@ jobs: run: | set -x sudo xcode-select -switch /Applications/Xcode_14.0.app + defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES xcodebuild -version swift --version - name: Install Workspace From 752b5547fec6761b0d620df1222ed98fe61c13f5 Mon Sep 17 00:00:00 2001 From: Jeremy David Giesbrecht Date: Sun, 11 Dec 2022 22:46:21 -0600 Subject: [PATCH 10/59] Added explicit type rule. --- .../Proofreading/ProofreadingRule.swift | 10 +++ .../Interface/Workspace.swift | 2 +- .../Documentation/DocumentationStatus.swift | 15 ---- .../Tasks/Documentation/SymbolPage.swift | 6 -- .../Rules/Functionality/ExplicitTypes.swift | 81 +++++++++++++++++++ .../Proofreading/Rules/ProofreadingRule.swift | 2 + .../ContentLocalization.swift | 2 +- .../InterfaceLocalization.swift | 2 +- .../Rules/Functionality/ExplicitTypes.swift | 1 + .../Sources/EnableBuild/EnableBuild.swift | 4 +- .../CustomProofread/CustomProofread.swift | 3 +- .../Rules/Functionality/ExplicitTypes.swift | 1 + .../Sources/EnableBuild/EnableBuild.swift | 4 +- .../CustomProofread/CustomProofread.swift | 3 +- .../\360\237\207\250\360\237\207\246EN.txt" | 1 + .../\360\237\207\251\360\237\207\252DE.txt" | 1 + .../\360\237\207\254\360\237\207\247EN.txt" | 1 + .../\360\237\207\272\360\237\207\270EN.txt" | 1 + .../\360\237\207\250\360\237\207\246EN.txt" | 5 ++ .../\360\237\207\251\360\237\207\252DE.txt" | 5 ++ .../\360\237\207\254\360\237\207\247EN.txt" | 6 ++ .../\360\237\207\272\360\237\207\270EN.txt" | 5 ++ .../\360\237\207\250\360\237\207\246EN.txt" | 4 - .../\360\237\207\251\360\237\207\252DE.txt" | 4 - .../\360\237\207\254\360\237\207\247EN.txt" | 4 - .../\360\237\207\272\360\237\207\270EN.txt" | 4 - .../\360\237\207\250\360\237\207\246EN.txt" | 4 - .../\360\237\207\251\360\237\207\252DE.txt" | 4 - .../\360\237\207\254\360\237\207\247EN.txt" | 4 - .../\360\237\207\272\360\237\207\270EN.txt" | 4 - .../APITests.swift | 1 + Workspace.swift | 10 ++- 32 files changed, 138 insertions(+), 66 deletions(-) create mode 100644 Sources/WorkspaceImplementation/Tasks/Proofreading/Rules/Functionality/ExplicitTypes.swift create mode 100644 Tests/Mock Projects/After/BadStyle/Sources/BadStyle/Rules/Functionality/ExplicitTypes.swift create mode 100644 Tests/Mock Projects/Before/BadStyle/Sources/BadStyle/Rules/Functionality/ExplicitTypes.swift diff --git a/Sources/WorkspaceConfiguration/Configuration/Proofreading/ProofreadingRule.swift b/Sources/WorkspaceConfiguration/Configuration/Proofreading/ProofreadingRule.swift index b7201f6e12..5c4558c5b9 100644 --- a/Sources/WorkspaceConfiguration/Configuration/Proofreading/ProofreadingRule.swift +++ b/Sources/WorkspaceConfiguration/Configuration/Proofreading/ProofreadingRule.swift @@ -193,6 +193,15 @@ public enum ProofreadingRule: String, CaseIterable, Codable { return .compatibilityCharacters } + // @localization(🇬🇧EN) @localization(đŸ‡ș🇾EN) @localization(🇹🇩EN) @crossReference(ProofreadingRule.accessControl) + /// Requires public variables to have explicit types. + case explicitTypes + // @localization(đŸ‡©đŸ‡ȘDE) @crossReference(ProofreadingRule.accessControl) + /// Erfordert ausdrückliche Typen für öffentlichen Variablen. + public static var ausdrücklicheTypen: Korrekturregel { + return .explicitTypes + } + // @localization(🇬🇧EN) @localization(đŸ‡ș🇾EN) @localization(🇹🇩EN) // @crossReference(ProofreadingRule.marks) /// Catches broken syntax in source code headings. @@ -426,6 +435,7 @@ public enum ProofreadingRule: String, CaseIterable, Codable { case .accessControl, .classFinality, .compatibilityCharacters, + .explicitTypes, .marks: return .functionality diff --git a/Sources/WorkspaceImplementation/Interface/Workspace.swift b/Sources/WorkspaceImplementation/Interface/Workspace.swift index 5a0993a531..36cb618456 100644 --- a/Sources/WorkspaceImplementation/Interface/Workspace.swift +++ b/Sources/WorkspaceImplementation/Interface/Workspace.swift @@ -75,7 +75,7 @@ } }) - public static let command = Command( + public static let command: Command = Command( name: name, description: description, subcommands: [ diff --git a/Sources/WorkspaceImplementation/Tasks/Documentation/DocumentationStatus.swift b/Sources/WorkspaceImplementation/Tasks/Documentation/DocumentationStatus.swift index d2cf83e44a..da0f95402c 100644 --- a/Sources/WorkspaceImplementation/Tasks/Documentation/DocumentationStatus.swift +++ b/Sources/WorkspaceImplementation/Tasks/Documentation/DocumentationStatus.swift @@ -189,21 +189,6 @@ ) } - internal func reportMissingVariableType(_ variable: VariableAPI, navigationPath: [APIElement]) { - report( - problem: UserFacing({ localization in - switch localization { - case .englishUnitedKingdom, .englishUnitedStates, .englishCanada: - return "A public variable has no explicit type:" - case .deutschDeutschland: - return "Einem öffentlichen Variable fehlt der ausdrückliche Typ." - } - }), - with: APIElement.variable(variable), - navigationPath: navigationPath - ) - } - internal func reportMissingYearFirstPublished() { report( problem: UserFacing({ localization in diff --git a/Sources/WorkspaceImplementation/Tasks/Documentation/SymbolPage.swift b/Sources/WorkspaceImplementation/Tasks/Documentation/SymbolPage.swift index c026a28245..e4e2d0e4c4 100644 --- a/Sources/WorkspaceImplementation/Tasks/Documentation/SymbolPage.swift +++ b/Sources/WorkspaceImplementation/Tasks/Documentation/SymbolPage.swift @@ -875,12 +875,6 @@ declaration = constrained.withGenericWhereClause(constraints).asSyntax() } - if case .variable(let variable) = symbol, - variable.declaration.bindings.first?.typeAnnotation?.isMissing =Ìž false - { - status.reportMissingVariableType(variable, navigationPath: navigationPath) - } - return generateDeclarationSection( localization: localization, declaration: StrictString( diff --git a/Sources/WorkspaceImplementation/Tasks/Proofreading/Rules/Functionality/ExplicitTypes.swift b/Sources/WorkspaceImplementation/Tasks/Proofreading/Rules/Functionality/ExplicitTypes.swift new file mode 100644 index 0000000000..1c452eabc4 --- /dev/null +++ b/Sources/WorkspaceImplementation/Tasks/Proofreading/Rules/Functionality/ExplicitTypes.swift @@ -0,0 +1,81 @@ +/* + ExplicitTypes.swift + + This source file is part of the Workspace open source project. + Diese Quelldatei ist Teil des quelloffenen Arbeitsbereich‐Projekt. + https://github.com/SDGGiesbrecht/Workspace#workspace + + Copyright ©2022 Jeremy David Giesbrecht and the Workspace project contributors. + Urheberrecht ©2022 Jeremy David Giesbrecht und die Mitwirkenden des Arbeitsbereich‐Projekts. + + Soli Deo gloria. + + Licensed under the Apache Licence, Version 2.0. + See http://www.apache.org/licenses/LICENSE-2.0 for licence information. + */ + +#if !PLATFORM_NOT_SUPPORTED_BY_WORKSPACE_WORKSPACE + + import SDGLogic + import SDGText + import SDGLocalization + + import SDGCommandLine + + import SDGSwift + + import SwiftSyntax + import SDGSwiftSource + + import WorkspaceLocalizations + + internal struct ExplicitTypes: SyntaxRule { + + internal static let identifier = UserFacing( + { localization in + switch localization { + case .englishUnitedKingdom, .englishUnitedStates, .englishCanada: + return "explicitTypes" + case .deutschDeutschland: + return "ausdrücklicheTypen" + } + }) + + private static let message = UserFacing( + { localization in + switch localization { + case .englishUnitedKingdom, .englishUnitedStates, .englishCanada: + return "Public variables should be have explicit types." + case .deutschDeutschland: + return + "Öffentliche (public) Variablen sollen ausdrückliche Typen haben." + } + } + ) + + // MARK: - SyntaxRule + + internal static func check( + _ node: Syntax, + context: SyntaxContext, + file: TextFile, + setting: Setting, + project: PackageRepository, + status: ProofreadingStatus, + output: Command.Output + ) { + + if let variable = node.as(VariableDeclSyntax.self), + variable.modifiers?.contains(where: { $0.name.text == "public" }) == true, + variable.bindings.first?.typeAnnotation?.isMissing =Ìž false + { + reportViolation( + in: file, + at: variable.syntaxRange(in: context), + message: message, + status: status + ) + } + } + } +#endif diff --git a/Sources/WorkspaceImplementation/Tasks/Proofreading/Rules/ProofreadingRule.swift b/Sources/WorkspaceImplementation/Tasks/Proofreading/Rules/ProofreadingRule.swift index 38ac6719ca..565c047e88 100644 --- a/Sources/WorkspaceImplementation/Tasks/Proofreading/Rules/ProofreadingRule.swift +++ b/Sources/WorkspaceImplementation/Tasks/Proofreading/Rules/ProofreadingRule.swift @@ -38,6 +38,8 @@ return .syntax(ClassFinality.self) case .compatibilityCharacters: return .text(CompatibilityCharacters.self) + case .explicitTypes: + return .syntax(ExplicitTypes.self) case .marks: return .text(Marks.self) case .syntaxColouring: diff --git a/Sources/WorkspaceLocalizations/ContentLocalization.swift b/Sources/WorkspaceLocalizations/ContentLocalization.swift index 3eedab36b3..6754dd5cfb 100644 --- a/Sources/WorkspaceLocalizations/ContentLocalization.swift +++ b/Sources/WorkspaceLocalizations/ContentLocalization.swift @@ -28,5 +28,5 @@ public enum ContentLocalization: String, Codable, InputLocalization { // MARK: - Localization - public static let fallbackLocalization = ContentLocalization.englishUnitedKingdom + public static let fallbackLocalization: ContentLocalization = .englishUnitedKingdom } diff --git a/Sources/WorkspaceLocalizations/InterfaceLocalization.swift b/Sources/WorkspaceLocalizations/InterfaceLocalization.swift index 48c8ba1c47..976a7c768a 100644 --- a/Sources/WorkspaceLocalizations/InterfaceLocalization.swift +++ b/Sources/WorkspaceLocalizations/InterfaceLocalization.swift @@ -29,5 +29,5 @@ public enum InterfaceLocalization: String, InputLocalization, Localization { // MARK: - Localization - public static let fallbackLocalization = InterfaceLocalization.englishUnitedKingdom + public static let fallbackLocalization: InterfaceLocalization = .englishUnitedKingdom } diff --git a/Tests/Mock Projects/After/BadStyle/Sources/BadStyle/Rules/Functionality/ExplicitTypes.swift b/Tests/Mock Projects/After/BadStyle/Sources/BadStyle/Rules/Functionality/ExplicitTypes.swift new file mode 100644 index 0000000000..21e02a5db4 --- /dev/null +++ b/Tests/Mock Projects/After/BadStyle/Sources/BadStyle/Rules/Functionality/ExplicitTypes.swift @@ -0,0 +1 @@ +public var implit = "" // Should trigger; needs explicit type. diff --git a/Tests/Mock Projects/After/CheckedInDocumentation/Sources/EnableBuild/EnableBuild.swift b/Tests/Mock Projects/After/CheckedInDocumentation/Sources/EnableBuild/EnableBuild.swift index 85b8a57356..a82ecea838 100644 --- a/Tests/Mock Projects/After/CheckedInDocumentation/Sources/EnableBuild/EnableBuild.swift +++ b/Tests/Mock Projects/After/CheckedInDocumentation/Sources/EnableBuild/EnableBuild.swift @@ -11,6 +11,6 @@ public protocol Composition {} public struct Type {} public struct Resources { - public static let deutsch = "" - public static let english = "" + public static let deutsch: String = "" + public static let english: String = "" } diff --git a/Tests/Mock Projects/After/CustomProofread/Sources/CustomProofread/CustomProofread.swift b/Tests/Mock Projects/After/CustomProofread/Sources/CustomProofread/CustomProofread.swift index 8a9809b924..59a7a860d1 100644 --- a/Tests/Mock Projects/After/CustomProofread/Sources/CustomProofread/CustomProofread.swift +++ b/Tests/Mock Projects/After/CustomProofread/Sources/CustomProofread/CustomProofread.swift @@ -11,4 +11,5 @@ /// ... /// /// - warning: This should be allowed because callout casing is disabled. -public let string = "a && b" // This should be allowed because ambiguous scope is disabled. +public let string: String = + "a && b" // This should be allowed because ambiguous scope is disabled. diff --git a/Tests/Mock Projects/Before/BadStyle/Sources/BadStyle/Rules/Functionality/ExplicitTypes.swift b/Tests/Mock Projects/Before/BadStyle/Sources/BadStyle/Rules/Functionality/ExplicitTypes.swift new file mode 100644 index 0000000000..883ddc9e54 --- /dev/null +++ b/Tests/Mock Projects/Before/BadStyle/Sources/BadStyle/Rules/Functionality/ExplicitTypes.swift @@ -0,0 +1 @@ +public var implit = "" // Should trigger; needs explicit type. diff --git a/Tests/Mock Projects/Before/CheckedInDocumentation/Sources/EnableBuild/EnableBuild.swift b/Tests/Mock Projects/Before/CheckedInDocumentation/Sources/EnableBuild/EnableBuild.swift index 373887900d..981b8da9e2 100644 --- a/Tests/Mock Projects/Before/CheckedInDocumentation/Sources/EnableBuild/EnableBuild.swift +++ b/Tests/Mock Projects/Before/CheckedInDocumentation/Sources/EnableBuild/EnableBuild.swift @@ -11,6 +11,6 @@ public protocol Composition {} public struct Type {} public struct Resources { - public static let deutsch = "" - public static let english = "" + public static let deutsch: String = "" + public static let english: String = "" } diff --git a/Tests/Mock Projects/Before/CustomProofread/Sources/CustomProofread/CustomProofread.swift b/Tests/Mock Projects/Before/CustomProofread/Sources/CustomProofread/CustomProofread.swift index fefb1ab5d6..8e1e738527 100644 --- a/Tests/Mock Projects/Before/CustomProofread/Sources/CustomProofread/CustomProofread.swift +++ b/Tests/Mock Projects/Before/CustomProofread/Sources/CustomProofread/CustomProofread.swift @@ -3,4 +3,5 @@ /// ... /// /// - warning: This should be allowed because callout casing is disabled. -public let string = "a && b" // This should be allowed because ambiguous scope is disabled. +public let string: String = + "a && b" // This should be allowed because ambiguous scope is disabled. diff --git "a/Tests/Test Specifications/Command/BadStyle (proofread \342\200\242xcode)/\360\237\207\250\360\237\207\246EN.txt" "b/Tests/Test Specifications/Command/BadStyle (proofread \342\200\242xcode)/\360\237\207\250\360\237\207\246EN.txt" index 2df183b87f..a4bd83ce64 100644 --- "a/Tests/Test Specifications/Command/BadStyle (proofread \342\200\242xcode)/\360\237\207\250\360\237\207\246EN.txt" +++ "b/Tests/Test Specifications/Command/BadStyle (proofread \342\200\242xcode)/\360\237\207\250\360\237\207\246EN.txt" @@ -27,6 +27,7 @@ Resources:1:1: warning: Resources now belong inside the target directory. (depre [Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/ClassFinality.swift:8:7: warning: Every symbol in a library should have access control. (accessControl) [Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/CompatibilityCharacters.swift:3:22: warning: U+00B2 may be lost in normalization; use “2” instead. (compatibilityCharacters) [Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/CompatibilityCharacters.swift:3:5: warning: Every symbol in a library should have access control. (accessControl) +[Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/ExplicitTypes.swift:1:1: warning: Public variables should be have explicit types. (explicitTypes) [Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/Mark.swift:3:1: warning: Incomplete heading syntax. Use “// MARK: - ”. (marks) [Temporary]/BadStyle/Sources/BadStyle/Rules/Intentional/MissingImplementation.swift:4:3: warning: Missing implementation. (missingImplementation) [Temporary]/BadStyle/Sources/BadStyle/Rules/Intentional/MissingImplementation.swift:3:6: warning: Every symbol in a library should have access control. (accessControl) diff --git "a/Tests/Test Specifications/Command/BadStyle (proofread \342\200\242xcode)/\360\237\207\251\360\237\207\252DE.txt" "b/Tests/Test Specifications/Command/BadStyle (proofread \342\200\242xcode)/\360\237\207\251\360\237\207\252DE.txt" index 517542f1c9..5b3298687d 100644 --- "a/Tests/Test Specifications/Command/BadStyle (proofread \342\200\242xcode)/\360\237\207\251\360\237\207\252DE.txt" +++ "b/Tests/Test Specifications/Command/BadStyle (proofread \342\200\242xcode)/\360\237\207\251\360\237\207\252DE.txt" @@ -27,6 +27,7 @@ Resources:1:1: warning: Ressourcen gehören jetzt im Ordner des Ziels. (überh [Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/ClassFinality.swift:8:7: warning: Jedes Symbol in einer Bibliotek soll Zugriffskontrolle haben. (zugriffskontrolle) [Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/CompatibilityCharacters.swift:3:22: warning: U+00B2 geht bei Normalisierung vielleicht verloren; stattdessen „2“ verwenden. (verträglichkeitsschriftzeichen) [Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/CompatibilityCharacters.swift:3:5: warning: Jedes Symbol in einer Bibliotek soll Zugriffskontrolle haben. (zugriffskontrolle) +[Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/ExplicitTypes.swift:1:1: warning: Öffentliche (public) Variablen sollen ausdrückliche Typen haben. (ausdrücklicheTypen) [Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/Mark.swift:3:1: warning: Unvollständige Überschriftssyntax. „// MARK: - “ verwenden. (überschrifte) [Temporary]/BadStyle/Sources/BadStyle/Rules/Intentional/MissingImplementation.swift:4:3: warning: Fehlende Implementierung. (fehlendeImplementierung) [Temporary]/BadStyle/Sources/BadStyle/Rules/Intentional/MissingImplementation.swift:3:6: warning: Jedes Symbol in einer Bibliotek soll Zugriffskontrolle haben. (zugriffskontrolle) diff --git "a/Tests/Test Specifications/Command/BadStyle (proofread \342\200\242xcode)/\360\237\207\254\360\237\207\247EN.txt" "b/Tests/Test Specifications/Command/BadStyle (proofread \342\200\242xcode)/\360\237\207\254\360\237\207\247EN.txt" index 1f03153d27..117ff1e648 100644 --- "a/Tests/Test Specifications/Command/BadStyle (proofread \342\200\242xcode)/\360\237\207\254\360\237\207\247EN.txt" +++ "b/Tests/Test Specifications/Command/BadStyle (proofread \342\200\242xcode)/\360\237\207\254\360\237\207\247EN.txt" @@ -27,6 +27,7 @@ Resources:1:1: warning: Resources now belong inside the target directory. (depre [Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/ClassFinality.swift:8:7: warning: Every symbol in a library should have access control. (accessControl) [Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/CompatibilityCharacters.swift:3:22: warning: U+00B2 may be lost in normalisation; use ‘2’ instead. (compatibilityCharacters) [Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/CompatibilityCharacters.swift:3:5: warning: Every symbol in a library should have access control. (accessControl) +[Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/ExplicitTypes.swift:1:1: warning: Public variables should be have explicit types. (explicitTypes) [Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/Mark.swift:3:1: warning: Incomplete heading syntax. Use ‘// MARK: - ’. (marks) [Temporary]/BadStyle/Sources/BadStyle/Rules/Intentional/MissingImplementation.swift:4:3: warning: Missing implementation. (missingImplementation) [Temporary]/BadStyle/Sources/BadStyle/Rules/Intentional/MissingImplementation.swift:3:6: warning: Every symbol in a library should have access control. (accessControl) diff --git "a/Tests/Test Specifications/Command/BadStyle (proofread \342\200\242xcode)/\360\237\207\272\360\237\207\270EN.txt" "b/Tests/Test Specifications/Command/BadStyle (proofread \342\200\242xcode)/\360\237\207\272\360\237\207\270EN.txt" index 41f541a5db..535c316825 100644 --- "a/Tests/Test Specifications/Command/BadStyle (proofread \342\200\242xcode)/\360\237\207\272\360\237\207\270EN.txt" +++ "b/Tests/Test Specifications/Command/BadStyle (proofread \342\200\242xcode)/\360\237\207\272\360\237\207\270EN.txt" @@ -27,6 +27,7 @@ Resources:1:1: warning: Resources now belong inside the target directory. (depre [Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/ClassFinality.swift:8:7: warning: Every symbol in a library should have access control. (accessControl) [Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/CompatibilityCharacters.swift:3:22: warning: U+00B2 may be lost in normalization; use “2” instead. (compatibilityCharacters) [Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/CompatibilityCharacters.swift:3:5: warning: Every symbol in a library should have access control. (accessControl) +[Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/ExplicitTypes.swift:1:1: warning: Public variables should be have explicit types. (explicitTypes) [Temporary]/BadStyle/Sources/BadStyle/Rules/Functionality/Mark.swift:3:1: warning: Incomplete heading syntax. Use “// MARK: - ”. (marks) [Temporary]/BadStyle/Sources/BadStyle/Rules/Intentional/MissingImplementation.swift:4:3: warning: Missing implementation. (missingImplementation) [Temporary]/BadStyle/Sources/BadStyle/Rules/Intentional/MissingImplementation.swift:3:6: warning: Every symbol in a library should have access control. (accessControl) diff --git "a/Tests/Test Specifications/Command/BadStyle (proofread)/\360\237\207\250\360\237\207\246EN.txt" "b/Tests/Test Specifications/Command/BadStyle (proofread)/\360\237\207\250\360\237\207\246EN.txt" index baf53c047a..a60b36813c 100644 --- "a/Tests/Test Specifications/Command/BadStyle (proofread)/\360\237\207\250\360\237\207\246EN.txt" +++ "b/Tests/Test Specifications/Command/BadStyle (proofread)/\360\237\207\250\360\237\207\246EN.txt" @@ -127,6 +127,11 @@ Line 3 Every symbol in a library should have access control. (accessControl) let compatibility = "2" +Sources/BadStyle/Rules/Functionality/ExplicitTypes.swift +Line 1 +Public variables should be have explicit types. (explicitTypes) +public var implit = "" // Should trigger; needs explicit type. + Sources/BadStyle/Rules/Functionality/Mark.swift Line 3 Incomplete heading syntax. Use “// MARK: - ”. (marks) diff --git "a/Tests/Test Specifications/Command/BadStyle (proofread)/\360\237\207\251\360\237\207\252DE.txt" "b/Tests/Test Specifications/Command/BadStyle (proofread)/\360\237\207\251\360\237\207\252DE.txt" index d0a9121e43..a96c1fe57c 100644 --- "a/Tests/Test Specifications/Command/BadStyle (proofread)/\360\237\207\251\360\237\207\252DE.txt" +++ "b/Tests/Test Specifications/Command/BadStyle (proofread)/\360\237\207\251\360\237\207\252DE.txt" @@ -127,6 +127,11 @@ Zeile 3 Jedes Symbol in einer Bibliotek soll Zugriffskontrolle haben. (zugriffskontrolle) let compatibility = "2" +Sources/BadStyle/Rules/Functionality/ExplicitTypes.swift +Zeile 1 +Öffentliche (public) Variablen sollen ausdrückliche Typen haben. (ausdrücklicheTypen) +public var implit = "" // Should trigger; needs explicit type. + Sources/BadStyle/Rules/Functionality/Mark.swift Zeile 3 Unvollständige Überschriftssyntax. „// MARK: - “ verwenden. (überschrifte) diff --git "a/Tests/Test Specifications/Command/BadStyle (proofread)/\360\237\207\254\360\237\207\247EN.txt" "b/Tests/Test Specifications/Command/BadStyle (proofread)/\360\237\207\254\360\237\207\247EN.txt" index 3057b42a32..fc79b2d3ac 100644 --- "a/Tests/Test Specifications/Command/BadStyle (proofread)/\360\237\207\254\360\237\207\247EN.txt" +++ "b/Tests/Test Specifications/Command/BadStyle (proofread)/\360\237\207\254\360\237\207\247EN.txt" @@ -8,6 +8,7 @@ Writing to ‘Sources/BadStyle/Normalization/Decomposition.swift’... Writing to ‘Sources/BadStyle/Normalization/EmptyIndents.swift’... Writing to ‘Sources/BadStyle/Rules/Functionality/AccessControl.swift’... Writing to ‘Sources/BadStyle/Rules/Functionality/ClassFinality.swift’... +Writing to ‘Sources/BadStyle/Rules/Functionality/ExplicitTypes.swift’... Writing to ‘Sources/BadStyle/Rules/Intentional/MissingImplementation.swift’... Writing to ‘Sources/BadStyle/Rules/Source Code Style/ClosureSignaturePosition.swift’... Writing to ‘Sources/BadStyle/Rules/Source Code Style/ListSeparation.swift’... @@ -141,6 +142,11 @@ Line 3 Every symbol in a library should have access control. (accessControl) let compatibility = "2" +Sources/BadStyle/Rules/Functionality/ExplicitTypes.swift +Line 1 +Public variables should be have explicit types. (explicitTypes) +public var implit = "" // Should trigger; needs explicit type. + Sources/BadStyle/Rules/Functionality/Mark.swift Line 3 Incomplete heading syntax. Use ‘// MARK: - ’. (marks) diff --git "a/Tests/Test Specifications/Command/BadStyle (proofread)/\360\237\207\272\360\237\207\270EN.txt" "b/Tests/Test Specifications/Command/BadStyle (proofread)/\360\237\207\272\360\237\207\270EN.txt" index 44c74b3a49..948eeba2d6 100644 --- "a/Tests/Test Specifications/Command/BadStyle (proofread)/\360\237\207\272\360\237\207\270EN.txt" +++ "b/Tests/Test Specifications/Command/BadStyle (proofread)/\360\237\207\272\360\237\207\270EN.txt" @@ -127,6 +127,11 @@ Line 3 Every symbol in a library should have access control. (accessControl) let compatibility = "2" +Sources/BadStyle/Rules/Functionality/ExplicitTypes.swift +Line 1 +Public variables should be have explicit types. (explicitTypes) +public var implit = "" // Should trigger; needs explicit type. + Sources/BadStyle/Rules/Functionality/Mark.swift Line 3 Incomplete heading syntax. Use “// MARK: - ”. (marks) diff --git "a/Tests/Test Specifications/Command/FailingDocumentationCoverage (document)/\360\237\207\250\360\237\207\246EN.txt" "b/Tests/Test Specifications/Command/FailingDocumentationCoverage (document)/\360\237\207\250\360\237\207\246EN.txt" index b4d2e76994..254b83fc34 100644 --- "a/Tests/Test Specifications/Command/FailingDocumentationCoverage (document)/\360\237\207\250\360\237\207\246EN.txt" +++ "b/Tests/Test Specifications/Command/FailingDocumentationCoverage (document)/\360\237\207\250\360\237\207\246EN.txt" @@ -65,10 +65,6 @@ A symbol has no description: inferredType.zxx -A public variable has no explicit type: -inferredType - - ✗ Generated documentation, but encountered warnings. (See [⌘F] Ҥ1”) “FailingDocumentationCoverage” fails validation. diff --git "a/Tests/Test Specifications/Command/FailingDocumentationCoverage (document)/\360\237\207\251\360\237\207\252DE.txt" "b/Tests/Test Specifications/Command/FailingDocumentationCoverage (document)/\360\237\207\251\360\237\207\252DE.txt" index 9cb01c523a..fd68b0ab41 100644 --- "a/Tests/Test Specifications/Command/FailingDocumentationCoverage (document)/\360\237\207\251\360\237\207\252DE.txt" +++ "b/Tests/Test Specifications/Command/FailingDocumentationCoverage (document)/\360\237\207\251\360\237\207\252DE.txt" @@ -65,10 +65,6 @@ Einem Symbol fehlt die Beschreibung. inferredType.zxx -Einem öffentlichen Variable fehlt der ausdrückliche Typ. -inferredType - - ✗ Dokumentation wurde erstellt, aber Warnungen wurden dabei ausgelöst. „FailingDocumentationCoverage“ besteht die Überprüfung nicht. diff --git "a/Tests/Test Specifications/Command/FailingDocumentationCoverage (document)/\360\237\207\254\360\237\207\247EN.txt" "b/Tests/Test Specifications/Command/FailingDocumentationCoverage (document)/\360\237\207\254\360\237\207\247EN.txt" index c6091159de..0704a858d0 100644 --- "a/Tests/Test Specifications/Command/FailingDocumentationCoverage (document)/\360\237\207\254\360\237\207\247EN.txt" +++ "b/Tests/Test Specifications/Command/FailingDocumentationCoverage (document)/\360\237\207\254\360\237\207\247EN.txt" @@ -65,10 +65,6 @@ A symbol has no description: inferredType.zxx -A public variable has no explicit type: -inferredType - - ✗ Generated documentation, but encountered warnings. (See [⌘F] Ԥ1’) ‘FailingDocumentationCoverage’ fails validation. diff --git "a/Tests/Test Specifications/Command/FailingDocumentationCoverage (document)/\360\237\207\272\360\237\207\270EN.txt" "b/Tests/Test Specifications/Command/FailingDocumentationCoverage (document)/\360\237\207\272\360\237\207\270EN.txt" index ce04c4ff25..85f0cb757e 100644 --- "a/Tests/Test Specifications/Command/FailingDocumentationCoverage (document)/\360\237\207\272\360\237\207\270EN.txt" +++ "b/Tests/Test Specifications/Command/FailingDocumentationCoverage (document)/\360\237\207\272\360\237\207\270EN.txt" @@ -65,10 +65,6 @@ A symbol has no description: inferredType.zxx -A public variable has no explicit type: -inferredType - - ✗ Generated documentation, but encountered warnings. (See [⌘F] Ҥ1”) “FailingDocumentationCoverage” fails validation. diff --git "a/Tests/Test Specifications/Command/FailingDocumentationCoverage (validate documentation\342\200\220coverage)/\360\237\207\250\360\237\207\246EN.txt" "b/Tests/Test Specifications/Command/FailingDocumentationCoverage (validate documentation\342\200\220coverage)/\360\237\207\250\360\237\207\246EN.txt" index 0a571eb7b8..27fe09e19f 100644 --- "a/Tests/Test Specifications/Command/FailingDocumentationCoverage (validate documentation\342\200\220coverage)/\360\237\207\250\360\237\207\246EN.txt" +++ "b/Tests/Test Specifications/Command/FailingDocumentationCoverage (validate documentation\342\200\220coverage)/\360\237\207\250\360\237\207\246EN.txt" @@ -64,10 +64,6 @@ A symbol has no description: inferredType.zxx -A public variable has no explicit type: -inferredType - - ✗ Documentation coverage is incomplete. (See [⌘F] Ҥ1”) “FailingDocumentationCoverage” fails validation. diff --git "a/Tests/Test Specifications/Command/FailingDocumentationCoverage (validate documentation\342\200\220coverage)/\360\237\207\251\360\237\207\252DE.txt" "b/Tests/Test Specifications/Command/FailingDocumentationCoverage (validate documentation\342\200\220coverage)/\360\237\207\251\360\237\207\252DE.txt" index 2925e371a0..bcf9c553de 100644 --- "a/Tests/Test Specifications/Command/FailingDocumentationCoverage (validate documentation\342\200\220coverage)/\360\237\207\251\360\237\207\252DE.txt" +++ "b/Tests/Test Specifications/Command/FailingDocumentationCoverage (validate documentation\342\200\220coverage)/\360\237\207\251\360\237\207\252DE.txt" @@ -64,10 +64,6 @@ Einem Symbol fehlt die Beschreibung. inferredType.zxx -Einem öffentlichen Variable fehlt der ausdrückliche Typ. -inferredType - - ✗ Die Dokumentationsabdeckung ist unvollständig. (Siehe [⌘F] „§1“) „FailingDocumentationCoverage“ besteht die Überprüfung nicht. diff --git "a/Tests/Test Specifications/Command/FailingDocumentationCoverage (validate documentation\342\200\220coverage)/\360\237\207\254\360\237\207\247EN.txt" "b/Tests/Test Specifications/Command/FailingDocumentationCoverage (validate documentation\342\200\220coverage)/\360\237\207\254\360\237\207\247EN.txt" index 29eb35f2ea..40a11bb8c6 100644 --- "a/Tests/Test Specifications/Command/FailingDocumentationCoverage (validate documentation\342\200\220coverage)/\360\237\207\254\360\237\207\247EN.txt" +++ "b/Tests/Test Specifications/Command/FailingDocumentationCoverage (validate documentation\342\200\220coverage)/\360\237\207\254\360\237\207\247EN.txt" @@ -64,10 +64,6 @@ A symbol has no description: inferredType.zxx -A public variable has no explicit type: -inferredType - - ✗ Documentation coverage is incomplete. (See [⌘F] Ԥ1’) ‘FailingDocumentationCoverage’ fails validation. diff --git "a/Tests/Test Specifications/Command/FailingDocumentationCoverage (validate documentation\342\200\220coverage)/\360\237\207\272\360\237\207\270EN.txt" "b/Tests/Test Specifications/Command/FailingDocumentationCoverage (validate documentation\342\200\220coverage)/\360\237\207\272\360\237\207\270EN.txt" index 67031578f5..6091277f4a 100644 --- "a/Tests/Test Specifications/Command/FailingDocumentationCoverage (validate documentation\342\200\220coverage)/\360\237\207\272\360\237\207\270EN.txt" +++ "b/Tests/Test Specifications/Command/FailingDocumentationCoverage (validate documentation\342\200\220coverage)/\360\237\207\272\360\237\207\270EN.txt" @@ -64,10 +64,6 @@ A symbol has no description: inferredType.zxx -A public variable has no explicit type: -inferredType - - ✗ Documentation coverage is incomplete. (See [⌘F] Ҥ1”) “FailingDocumentationCoverage” fails validation. diff --git a/Tests/WorkspaceConfigurationTests/APITests.swift b/Tests/WorkspaceConfigurationTests/APITests.swift index c9ed672763..0b33b02f76 100644 --- a/Tests/WorkspaceConfigurationTests/APITests.swift +++ b/Tests/WorkspaceConfigurationTests/APITests.swift @@ -157,6 +157,7 @@ class APITests: TestCase { XCTAssertEqual(Korrekturregel.unicode.klasse, .textstil) XCTAssertEqual(Korrekturregel.übergabewertenzusammenstellung.klasse, .quellstil) XCTAssertEqual(Korrekturregel.überholteRessourcenOrdner, .deprecatedResourceDirectory) + XCTAssertEqual(Korrekturregel.ausdrücklicheTypen, .explicitTypes) } func testRelatedProject() { diff --git a/Workspace.swift b/Workspace.swift index 9c1cb37344..3d47607011 100644 --- a/Workspace.swift +++ b/Workspace.swift @@ -18,13 +18,15 @@ import WorkspaceConfiguration public enum Metadata { - public static let latestStableVersion = Version(0, 41, 3) + public static let latestStableVersion: Version = Version(0, 41, 3) // Set this to latestStableVersion for release commits, nil the rest of the time. public static let thisVersion: Version? = nil - public static let packageURL = URL(string: "https://github.com/SDGGiesbrecht/Workspace")! - public static let issuesURL = packageURL.appendingPathComponent("issues") - public static let documentationURL = URL(string: "https://sdggiesbrecht.github.io/Workspace")! + public static let packageURL: URL = URL(string: "https://github.com/SDGGiesbrecht/Workspace")! + public static let issuesURL: URL = packageURL.appendingPathComponent("issues") + public static let documentationURL: URL = URL( + string: "https://sdggiesbrecht.github.io/Workspace" + )! } public let configuration: WorkspaceConfiguration = { From 79c299359a780e3ee9b567647b090dfe67a3fdff Mon Sep 17 00:00:00 2001 From: Jeremy David Giesbrecht Date: Sat, 17 Dec 2022 16:01:17 -0600 Subject: [PATCH 11/59] Switched to SymbolKit. --- Package.resolved | 17 +- Package.swift | 13 +- .../APIDocumentationConfiguration.swift | 15 - .../Documentation/RelatedProjectEntry.swift | 6 + .../General/LazyOption.swift | 8 - .../Resources/Resources 1.swift | 18 +- .../Resources/Resources 2.swift | 279 ----- .../Tasks/Documentation/APIElement.swift | 887 -------------- .../Tasks/Documentation/CommandPage.swift | 18 +- .../Documentation/DocumentationStatus.swift | 83 +- .../Tasks/Documentation/Extension.swift | 62 + .../Tasks/Documentation/ModuleAPI.swift | 63 + .../Tasks/Documentation/PackageAPI.swift | 256 ++-- .../Documentation/PackageInterface.swift | 409 ++++--- .../PackageRepository + Documentation.swift | 33 +- .../Tasks/Documentation/Page.swift | 7 - .../Documentation/Site Components/Page.html | 5 - .../Documentation/Site Components/Script.js | 23 - .../Swift Syntax/Parameter.swift | 49 - .../Swift Syntax/SyntaxProtocol.swift | 38 - .../Swift Syntax/TupleTypeElementSyntax.swift | 31 - .../Swift Syntax/TypeSyntax.swift | 73 -- .../Documentation/SymbolDocumentation.swift | 12 +- .../Documentation/SymbolGraph.LineList.swift | 38 + ...bolGraph.Symbol.DeclarationFragments.swift | 46 + ...ymbolGraph.Symbol.ExtendedProperties.swift | 60 + ...x.swift => SymbolGraph.Symbol.Names.swift} | 17 +- .../Tasks/Documentation/SymbolLike.swift | 1048 +++++++++++++++++ .../Tasks/Documentation/SymbolPage.swift | 961 +++++++-------- .../PackageRepository + Open Source.swift | 21 +- .../After/AllTasks/docs/JavaScript/Site.js | 23 - .../AllTasks.html" | 7 +- .../library/AllTasks.html" | 7 +- .../target/AllTasks.html" | 7 +- .../CheckedInDocumentation.swift | 63 +- .../docs/JavaScript/Site.js | 23 - .../docs/zxx/CheckedInDocumentation.html | 26 +- .../docs/zxx/Related Projects.html | 24 +- .../executable/do\342\200\220something.html" | 24 +- .../Subcommands/empty\342\200\220cache.html" | 24 +- .../Subcommands/help.html" | 24 +- .../Subcommands/help.html" | 24 +- .../Subcommands/set\342\200\220language.html" | 24 +- .../Subcommands/help.html" | 24 +- .../Subcommands/subcommand.html" | 24 +- .../subcommand/Subcommands/help.html" | 24 +- .../Subcommands/version.html" | 24 +- .../version/Subcommands/help.html" | 24 +- .../docs/zxx/extension/Bool.html | 283 ----- .../extensionMethodInAnotherModule().html | 34 +- .../func/index.html | 0 .../index.html | 0 .../extensionMethodInAnotherModule().html | 34 +- .../func/index.html | 0 .../index.html | 0 .../subscript/subscript(_[U+003A]).html | 264 ----- .../{Array.html => Swift.Array.html} | 45 +- .../func/constrained().html | 36 +- .../func}/index.html | 0 .../subscript => Swift.Array}/index.html | 0 .../{Dictionary.html => Swift.Bool.html} | 55 +- .../func/extensionMethod().html | 36 +- .../extensionMethodInAnotherModule().html | 36 +- .../{Protocol => Swift.Bool}/func/index.html | 0 .../{Protocol => Swift.Bool}/index.html | 0 .../Swift.Dictionary.html} | 62 +- .../func => Swift.Dictionary}/index.html | 0 .../subscript}/index.html | 0 .../subscript/subscript(_[U+003A]).html | 260 ++++ ...A]function[U+003A]attributed[U+003A]).html | 40 +- ...+003A]unwrapped[U+003A]tuple[U+003A]).html | 42 +- ...monstratingLocalizedEnumerationCase().html | 28 +- .../func/doSomethingInCanadianEnglish().html | 26 +- .../docs/zxx/func/function().html | 26 +- .../zxx/func/function(parameter[U+003A]).html | 34 +- .../docs/zxx/func/use(aliased[U+003A]).html | 26 +- .../zxx/library/CheckedInDocumentation.html | 26 +- .../docs/zxx/library/Extensions.html | 26 +- .../docs/zxx/operator/\342\211\240.html" | 26 +- .../docs/zxx/precedencegroup/Precedence.html | 26 +- .../zxx/protocol/CanadianEnglishProtocol.html | 34 +- .../zxx/protocol/IntermediateProtocol.html | 55 +- .../func/intermediateProtocolMethod().html | 26 +- .../docs/zxx/protocol/Protocol.html | 63 +- .../Protocol/func/customizationPoint().html | 26 +- .../Protocol/func/protocolRequirement().html | 26 +- .../Protocol/func/providedExtension().html | 26 +- .../Protocol/struct/AssociatedType.html | 26 +- .../docs/zxx/struct/Aliased.html | 26 +- .../docs/zxx/struct/Aliased/var/aliased.html | 26 +- .../docs/zxx/struct/BaseClass.html | 26 +- .../BaseClass/func/baseClassMethod().html | 26 +- .../docs/zxx/struct/Class.html | 29 +- .../docs/zxx/struct/Enumeration.html | 28 +- ....html => Enumeration.enumerationCase.html} | 40 +- .../func/!=(_[U+003A]_[U+003A]).html | 254 ++++ .../zxx/struct/Enumeration/func/index.html | 16 + ...ter[U+003E].html => GenericStructure.html} | 40 +- .../docs/zxx/struct/LocalizedEnumeration.html | 28 +- ...Enumeration.localizedEnumerationCase.html} | 38 +- .../func/!=(_[U+003A]_[U+003A]).html | 254 ++++ .../LocalizedEnumeration/func/index.html | 16 + .../docs/zxx/struct/Structure.html | 58 +- .../func/!=(_[U+003A]_[U+003A]).html | 254 ++++ .../func/==(_[U+003A]_[U+003A]).html | 254 ++++ .../func/[U+003C](_[U+003A]_[U+003A]).html | 34 +- .../Structure/init/init(label[U+003A]).html | 26 +- ...meterOne[U+003A]parameterTwo[U+003A]).html | 26 +- .../Structure/static var/typeProperty.html | 26 +- .../subscript/subscript(_[U+003A]).html | 32 +- .../struct/Structure/var/typeProperty.html | 26 +- .../docs/zxx/struct/Subclass.html | 31 +- .../Subclass/func/baseClassMethod().html | 256 ++++ .../docs/zxx/struct/Subclass/func/index.html | 16 + .../docs/zxx/struct/Subclass/index.html | 16 + .../docs/zxx/struct/TopConformer.html | 62 +- .../func/customizationPoint().html | 256 ++++ .../zxx/struct/TopConformer/func/index.html | 16 + .../func/intermediateProtocolMethod().html | 256 ++++ .../func/protocolRequirement().html | 256 ++++ .../func/providedExtension().html | 256 ++++ .../docs/zxx/struct/TopConformer/index.html | 16 + .../struct/TopConformer.AssociatedType.html | 256 ++++ .../zxx/struct/TopConformer/struct/index.html | 16 + .../docs/zxx/struct/TypeAlias.html | 26 +- .../zxx/target/CheckedInDocumentation.html | 42 +- .../docs/zxx/target/Extensions.html | 34 +- .../docs/zxx/var/globalVariable.html | 26 +- .../docs/zxx/var/variable.html | 32 +- .../About.html" | 24 +- .../CheckedInDocumentation.html" | 26 +- .../Extensions/Bool.html" | 292 ----- .../extensionMethodInAnotherModule().html" | 34 +- .../Methods/index.html" | 0 .../index.html" | 0 .../extensionMethodInAnotherModule().html" | 34 +- .../Methods/index.html" | 0 .../index.html" | 0 .../Subscripts/subscript(_[U+003A]).html" | 273 ----- .../Extensions/Swift.Array.html" | 45 +- .../Swift.Array/Methods/constrained().html" | 36 +- .../Swift.Array/Methods/index.html" | 0 .../Extensions/Swift.Array/index.html" | 0 .../Extensions/Swift.Bool.html" | 66 +- .../Methods/extensionMethod().html" | 36 +- .../extensionMethodInAnotherModule().html" | 36 +- .../Extensions/Swift.Bool/Methods/index.html" | 0 .../Extensions/Swift.Bool/index.html" | 0 .../Extensions/Swift.Dictionary.html" | 45 +- .../Swift.Dictionary/Subscripts/index.html" | 0 .../Subscripts/subscript(_[U+003A]).html" | 269 +++++ .../Extensions/Swift.Dictionary/index.html" | 0 ...]function[U+003A]attributed[U+003A]).html" | 40 +- ...003A]unwrapped[U+003A]tuple[U+003A]).html" | 42 +- ...onstratingLocalizedEnumerationCase().html" | 28 +- .../doSomethingInCanadianEnglish().html" | 26 +- .../Functions/function().html" | 26 +- .../function(parameter[U+003A]).html" | 34 +- .../Functions/use(aliased[U+003A]).html" | 26 +- .../Global Variables/globalVariable.html" | 26 +- .../Global Variables/variable.html" | 32 +- .../Importing.html" | 24 +- .../Installation.html" | 24 +- .../Libraries/CheckedInDocumentation.html" | 26 +- .../Libraries/Extensions.html" | 26 +- .../Modules/CheckedInDocumentation.html" | 42 +- .../Modules/Extensions.html" | 34 +- .../Operators/\342\211\240.html" | 26 +- .../Precedence Groups/Precedence.html" | 26 +- .../Protocols/CanadianEnglishProtocol.html" | 34 +- .../Protocols/IntermediateProtocol.html" | 55 +- .../intermediateProtocolMethod().html" | 26 +- .../Protocols/Protocol.html" | 63 +- .../Methods/customizationPoint().html" | 26 +- .../Methods/protocolRequirement().html" | 26 +- .../Methods/providedExtension().html" | 26 +- .../Protocol/Types/AssociatedType.html" | 26 +- .../Related Projects.html" | 24 +- .../Tools/do\342\200\220something.html" | 24 +- .../Subcommands/empty\342\200\220cache.html" | 24 +- .../Subcommands/help.html" | 24 +- .../Subcommands/help.html" | 24 +- .../Subcommands/set\342\200\220language.html" | 24 +- .../Subcommands/help.html" | 24 +- .../Subcommands/subcommand.html" | 24 +- .../subcommand/Subcommands/help.html" | 24 +- .../Subcommands/version.html" | 24 +- .../version/Subcommands/help.html" | 24 +- .../Types/Aliased.html" | 26 +- .../Types/Aliased/Properties/aliased.html" | 26 +- .../Types/BaseClass.html" | 26 +- .../BaseClass/Methods/baseClassMethod().html" | 26 +- .../Types/Class.html" | 29 +- .../Types/Enumeration.html" | 28 +- .../Cases/Enumeration.enumerationCase.html" | 40 +- .../Functions/!=(_[U+003A]_[U+003A]).html" | 263 +++++ .../Types/Enumeration/Functions/index.html" | 0 .../Types/GenericStructure.html" | 40 +- .../Types/LocalizedEnumeration.html" | 28 +- ...Enumeration.localizedEnumerationCase.html" | 38 +- .../Functions/!=(_[U+003A]_[U+003A]).html" | 263 +++++ .../Functions/index.html" | 16 + .../Types/Structure.html" | 58 +- .../Functions/!=(_[U+003A]_[U+003A]).html" | 263 +++++ .../Functions/==(_[U+003A]_[U+003A]).html" | 263 +++++ .../[U+003C](_[U+003A]_[U+003A]).html" | 34 +- .../Types/Structure/Functions/index.html" | 16 + .../Initializers/init(label[U+003A]).html" | 26 +- .../Structure/Properties/typeProperty.html" | 26 +- .../Subscripts/subscript(_[U+003A]).html" | 32 +- ...eterOne[U+003A]parameterTwo[U+003A]).html" | 26 +- .../Type Properties/typeProperty.html" | 26 +- .../Types/Subclass.html" | 31 +- .../Subclass/Methods/baseClassMethod().html" | 265 +++++ .../Types/Subclass/Methods/index.html" | 16 + .../Types/Subclass/index.html" | 16 + .../Types/TopConformer.html" | 62 +- .../Methods/customizationPoint().html" | 265 +++++ .../Types/TopConformer/Methods/index.html" | 16 + .../intermediateProtocolMethod().html" | 265 +++++ .../Methods/protocolRequirement().html" | 265 +++++ .../Methods/providedExtension().html" | 265 +++++ .../Types/TopConformer.AssociatedType.html" | 265 +++++ .../Types/TopConformer/Types/index.html" | 16 + .../Types/TopConformer/index.html" | 16 + .../Types/TypeAlias.html" | 26 +- .../Biblioteken/CheckedInDocumentation.html" | 26 +- .../Biblioteken/Extensions.html" | 26 +- .../CheckedInDocumentation.html" | 26 +- .../Einf\303\274hrung.html" | 24 +- .../Erweiterungen/Bool.html" | 292 ----- .../extensionMethodInAnotherModule().html" | 34 +- .../Methoden/index.html" | 0 .../index.html" | 0 .../extensionMethodInAnotherModule().html" | 34 +- .../Methoden/index.html" | 0 .../index.html" | 0 .../Indexe/subscript(_[U+003A]).html" | 273 ----- .../Erweiterungen/Swift.Array.html" | 45 +- .../Swift.Array/Methoden/constrained().html" | 36 +- .../Swift.Array/Methoden/index.html" | 0 .../Erweiterungen/Swift.Array/index.html" | 0 .../Erweiterungen/Swift.Bool.html" | 66 +- .../Methoden/extensionMethod().html" | 36 +- .../extensionMethodInAnotherModule().html" | 36 +- .../Swift.Bool/Methoden/index.html" | 0 .../Erweiterungen/Swift.Bool/index.html" | 0 .../Erweiterungen/Swift.Dictionary.html" | 45 +- .../Swift.Dictionary/Indexe/index.html" | 0 .../Indexe/subscript(_[U+003A]).html" | 269 +++++ .../Swift.Dictionary/index.html" | 0 ...]function[U+003A]attributed[U+003A]).html" | 40 +- ...003A]unwrapped[U+003A]tuple[U+003A]).html" | 42 +- ...onstratingLocalizedEnumerationCase().html" | 26 +- .../doSomethingInCanadianEnglish().html" | 26 +- .../Funktionen/function().html" | 26 +- .../function(parameter[U+003A]).html" | 34 +- .../Funktionen/nurAufDeutsch().html" | 26 +- .../Funktionen/use(aliased[U+003A]).html" | 26 +- .../Installierung.html" | 24 +- .../Module/CheckedInDocumentation.html" | 42 +- .../Module/Extensions.html" | 34 +- .../Operatoren/\342\211\240.html" | 26 +- .../Programme/etwas\342\200\220tun.html" | 24 +- .../Unterbefehle/hilfe.html" | 24 +- .../sprache\342\200\220einstellen.html" | 24 +- .../Unterbefehle/hilfe.html" | 24 +- .../Unterbefehle/unterbefehl.html" | 24 +- .../unterbefehl/Unterbefehle/hilfe.html" | 24 +- .../Unterbefehle/version.html" | 24 +- .../version/Unterbefehle/hilfe.html" | 24 +- .../zwischenspeicher\342\200\220leeren.html" | 24 +- .../Unterbefehle/hilfe.html" | 24 +- .../Protokolle/CanadianEnglishProtocol.html" | 34 +- .../Protokolle/IntermediateProtocol.html" | 55 +- .../intermediateProtocolMethod().html" | 26 +- .../Protokolle/Protocol.html" | 63 +- .../Methoden/customizationPoint().html" | 26 +- .../Methoden/protocolRequirement().html" | 26 +- .../Methoden/providedExtension().html" | 26 +- .../Protocol/Typen/AssociatedType.html" | 26 +- .../Rangfolgenklassen/Precedence.html" | 26 +- .../Typen/Aliased.html" | 26 +- .../Typen/Aliased/Eigenschaften/aliased.html" | 26 +- .../Typen/BaseClass.html" | 26 +- .../Methoden/baseClassMethod().html" | 26 +- .../Typen/Class.html" | 29 +- .../Typen/Enumeration.html" | 28 +- .../Funktionen/!=(_[U+003A]_[U+003A]).html" | 263 +++++ .../Typen/Enumeration/Funktionen/index.html" | 0 .../Enumeration.enumerationCase.html" | 40 +- .../Typen/GenericStructure.html" | 40 +- .../LokalisierterAufz\303\244hlung.html" | 26 +- .../Funktionen/!=(_[U+003A]_[U+003A]).html" | 263 +++++ .../Funktionen/index.html" | 16 + .../lokalisierterAufz\303\244hlungsfall.html" | 34 +- .../Typen/Structure.html" | 58 +- .../Eigenschaften/typeProperty.html" | 26 +- .../Funktionen/!=(_[U+003A]_[U+003A]).html" | 263 +++++ .../Funktionen/==(_[U+003A]_[U+003A]).html" | 263 +++++ .../[U+003C](_[U+003A]_[U+003A]).html" | 34 +- .../Typen/Structure/Funktionen/index.html" | 16 + .../Indexe/subscript(_[U+003A]).html" | 32 +- .../typeProperty.html" | 26 +- ...eterOne[U+003A]parameterTwo[U+003A]).html" | 26 +- .../Voreinsteller/init(label[U+003A]).html" | 26 +- .../Typen/Subclass.html" | 31 +- .../Subclass/Methoden/baseClassMethod().html" | 265 +++++ .../Typen/Subclass/Methoden/index.html" | 16 + .../Typen/Subclass/index.html" | 16 + .../Typen/TopConformer.html" | 62 +- .../Methoden/customizationPoint().html" | 265 +++++ .../Typen/TopConformer/Methoden/index.html" | 16 + .../intermediateProtocolMethod().html" | 265 +++++ .../Methoden/protocolRequirement().html" | 265 +++++ .../Methoden/providedExtension().html" | 265 +++++ .../Typen/TopConformer.AssociatedType.html" | 265 +++++ .../Typen/TopConformer/Typen/index.html" | 16 + .../Typen/TopConformer/index.html" | 16 + .../Typen/TypeAlias.html" | 26 +- .../Verwandte Projekte.html" | 24 +- .../globale Variablen/globalVariable.html" | 26 +- .../globale Variablen/variable.html" | 32 +- .../CheckedInDocumentation.html" | 26 +- .../Extensions/Bool.html" | 289 ----- .../extensionMethodInAnotherModule().html" | 34 +- .../Methods/index.html" | 0 .../index.html" | 0 .../extensionMethodInAnotherModule().html" | 34 +- .../Methods/index.html" | 0 .../index.html" | 0 .../Subscripts/subscript(_[U+003A]).html" | 270 ----- .../Extensions/Swift.Array.html" | 45 +- .../Swift.Array/Methods/constrained().html" | 36 +- .../Swift.Array/Methods/index.html" | 0 .../Extensions/Swift.Array/index.html" | 0 .../Extensions/Swift.Bool.html" | 66 +- .../Methods/extensionMethod().html" | 36 +- .../extensionMethodInAnotherModule().html" | 36 +- .../Extensions/Swift.Bool/Methods/index.html" | 0 .../Extensions/Swift.Bool/index.html" | 0 .../Extensions/Swift.Dictionary.html" | 45 +- .../Swift.Dictionary/Subscripts/index.html" | 0 .../Subscripts/subscript(_[U+003A]).html" | 266 +++++ .../Extensions/Swift.Dictionary/index.html" | 0 ...]function[U+003A]attributed[U+003A]).html" | 40 +- ...003A]unwrapped[U+003A]tuple[U+003A]).html" | 42 +- ...onstratingLocalizedEnumerationCase().html" | 28 +- .../doSomethingInBritishEnglish().html" | 26 +- .../Functions/function().html" | 26 +- .../function(parameter[U+003A]).html" | 34 +- .../Functions/use(aliased[U+003A]).html" | 26 +- .../Global Variables/globalVariable.html" | 26 +- .../Global Variables/variable.html" | 32 +- .../Importing.html" | 24 +- .../Installation.html" | 24 +- .../Libraries/CheckedInDocumentation.html" | 26 +- .../Libraries/Extensions.html" | 26 +- .../Modules/CheckedInDocumentation.html" | 42 +- .../Modules/Extensions.html" | 34 +- .../Operators/\342\211\240.html" | 26 +- .../Precedence Groups/Precedence.html" | 26 +- .../Protocols/BritishEnglishProtocol.html" | 34 +- .../Protocols/IntermediateProtocol.html" | 55 +- .../intermediateProtocolMethod().html" | 26 +- .../Protocols/Protocol.html" | 63 +- .../Methods/customizationPoint().html" | 26 +- .../Methods/protocolRequirement().html" | 26 +- .../Methods/providedExtension().html" | 26 +- .../Protocol/Types/AssociatedType.html" | 26 +- .../Related Projects.html" | 24 +- .../Tools/do\342\200\220something.html" | 24 +- .../Subcommands/empty\342\200\220cache.html" | 24 +- .../Subcommands/help.html" | 24 +- .../Subcommands/help.html" | 24 +- .../Subcommands/set\342\200\220language.html" | 24 +- .../Subcommands/help.html" | 24 +- .../Subcommands/subcommand.html" | 24 +- .../subcommand/Subcommands/help.html" | 24 +- .../Subcommands/version.html" | 24 +- .../version/Subcommands/help.html" | 24 +- .../Types/Alias.html" | 26 +- .../Types/Alias/Properties/alias.html" | 26 +- .../Types/BaseClass.html" | 26 +- .../BaseClass/Methods/baseClassMethod().html" | 26 +- .../Types/Class.html" | 29 +- .../Types/Enumeration.html" | 28 +- .../Cases/Enumeration.enumerationCase.html" | 40 +- .../Functions/!=(_[U+003A]_[U+003A]).html" | 260 ++++ .../Types/Enumeration/Functions/index.html" | 0 .../Types/GenericStructure.html" | 40 +- .../Types/LocalizedEnumeration.html" | 28 +- ...Enumeration.localizedEnumerationCase.html" | 38 +- .../Functions/!=(_[U+003A]_[U+003A]).html" | 260 ++++ .../Functions/index.html" | 16 + .../Types/Structure.html" | 58 +- .../Functions/!=(_[U+003A]_[U+003A]).html" | 260 ++++ .../Functions/==(_[U+003A]_[U+003A]).html" | 260 ++++ .../[U+003C](_[U+003A]_[U+003A]).html" | 34 +- .../Types/Structure/Functions/index.html" | 16 + .../Initialisers/init(label[U+003A]).html" | 26 +- .../Structure/Properties/typeProperty.html" | 26 +- .../Subscripts/subscript(_[U+003A]).html" | 32 +- ...eterOne[U+003A]parameterTwo[U+003A]).html" | 26 +- .../Type Properties/typeProperty.html" | 26 +- .../Types/Subclass.html" | 31 +- .../Subclass/Methods/baseClassMethod().html" | 262 +++++ .../Types/Subclass/Methods/index.html" | 16 + .../Types/Subclass/index.html" | 16 + .../Types/TopConformer.html" | 62 +- .../Methods/customizationPoint().html" | 262 +++++ .../Types/TopConformer/Methods/index.html" | 16 + .../intermediateProtocolMethod().html" | 262 +++++ .../Methods/protocolRequirement().html" | 262 +++++ .../Methods/providedExtension().html" | 262 +++++ .../Types/TopConformer.AssociatedType.html" | 262 +++++ .../Types/TopConformer/Types/index.html" | 16 + .../Types/TopConformer/index.html" | 16 + .../Types/TypeAlias.html" | 26 +- .../About.html" | 24 +- .../CheckedInDocumentation.html" | 26 +- .../Extensions/Bool.html" | 292 ----- .../extensionMethodInAnotherModule().html" | 34 +- .../Methods/index.html" | 0 .../index.html" | 0 .../extensionMethodInAnotherModule().html" | 34 +- .../Methods/index.html" | 0 .../index.html" | 0 .../Subscripts/subscript(_[U+003A]).html" | 273 ----- .../Extensions/Swift.Array.html" | 45 +- .../Swift.Array/Methods/constrained().html" | 36 +- .../Swift.Array/Methods/index.html" | 0 .../Extensions/Swift.Array/index.html" | 0 .../Extensions/Swift.Bool.html" | 66 +- .../Methods/extensionMethod().html" | 36 +- .../extensionMethodInAnotherModule().html" | 36 +- .../Extensions/Swift.Bool/Methods/index.html" | 0 .../Extensions/Swift.Bool/index.html" | 0 .../Extensions/Swift.Dictionary.html" | 45 +- .../Swift.Dictionary/Subscripts/index.html" | 0 .../Subscripts/subscript(_[U+003A]).html" | 269 +++++ .../Extensions/Swift.Dictionary/index.html" | 0 ...]function[U+003A]attributed[U+003A]).html" | 40 +- ...003A]unwrapped[U+003A]tuple[U+003A]).html" | 42 +- ...onstratingLocalizedEnumerationCase().html" | 28 +- .../doSomethingInAmericanEnglish().html" | 26 +- .../Functions/function().html" | 26 +- .../function(parameter[U+003A]).html" | 34 +- .../Functions/use(aliased[U+003A]).html" | 26 +- .../Global Variables/globalVariable.html" | 26 +- .../Global Variables/variable.html" | 32 +- .../Importing.html" | 24 +- .../Installation.html" | 24 +- .../Libraries/CheckedInDocumentation.html" | 26 +- .../Libraries/Extensions.html" | 26 +- .../Modules/CheckedInDocumentation.html" | 42 +- .../Modules/Extensions.html" | 34 +- .../Operators/\342\211\240.html" | 26 +- .../Precedence Groups/Precedence.html" | 26 +- .../Protocols/AmericanEnglishProtocol.html" | 34 +- .../Protocols/IntermediateProtocol.html" | 55 +- .../intermediateProtocolMethod().html" | 26 +- .../Protocols/Protocol.html" | 63 +- .../Methods/customizationPoint().html" | 26 +- .../Methods/protocolRequirement().html" | 26 +- .../Methods/providedExtension().html" | 26 +- .../Protocol/Types/AssociatedType.html" | 26 +- .../Related Projects.html" | 24 +- .../Tools/do\342\200\220something.html" | 24 +- .../Subcommands/empty\342\200\220cache.html" | 24 +- .../Subcommands/help.html" | 24 +- .../Subcommands/help.html" | 24 +- .../Subcommands/set\342\200\220language.html" | 24 +- .../Subcommands/help.html" | 24 +- .../Subcommands/subcommand.html" | 24 +- .../subcommand/Subcommands/help.html" | 24 +- .../Subcommands/version.html" | 24 +- .../version/Subcommands/help.html" | 24 +- .../Types/Aliased.html" | 26 +- .../Types/Aliased/Properties/aliased.html" | 26 +- .../Types/BaseClass.html" | 26 +- .../BaseClass/Methods/baseClassMethod().html" | 26 +- .../Types/Class.html" | 29 +- .../Types/Enumeration.html" | 28 +- .../Cases/Enumeration.enumerationCase.html" | 40 +- .../Functions/!=(_[U+003A]_[U+003A]).html" | 263 +++++ .../Types/Enumeration/Functions/index.html" | 0 .../Types/GenericStructure.html" | 40 +- .../Types/LocalizedEnumeration.html" | 28 +- ...Enumeration.localizedEnumerationCase.html" | 38 +- .../Functions/!=(_[U+003A]_[U+003A]).html" | 263 +++++ .../Functions/index.html" | 16 + .../Types/Structure.html" | 58 +- .../Functions/!=(_[U+003A]_[U+003A]).html" | 263 +++++ .../Functions/==(_[U+003A]_[U+003A]).html" | 263 +++++ .../[U+003C](_[U+003A]_[U+003A]).html" | 34 +- .../Types/Structure/Functions/index.html" | 16 + .../Initializers/init(label[U+003A]).html" | 26 +- .../Structure/Properties/typeProperty.html" | 26 +- .../Subscripts/subscript(_[U+003A]).html" | 32 +- ...eterOne[U+003A]parameterTwo[U+003A]).html" | 26 +- .../Type Properties/typeProperty.html" | 26 +- .../Types/Subclass.html" | 31 +- .../Subclass/Methods/baseClassMethod().html" | 265 +++++ .../Types/Subclass/Methods/index.html" | 16 + .../Types/Subclass/index.html" | 16 + .../Types/TopConformer.html" | 62 +- .../Methods/customizationPoint().html" | 265 +++++ .../Types/TopConformer/Methods/index.html" | 16 + .../intermediateProtocolMethod().html" | 265 +++++ .../Methods/protocolRequirement().html" | 265 +++++ .../Methods/providedExtension().html" | 265 +++++ .../Types/TopConformer.AssociatedType.html" | 265 +++++ .../Types/TopConformer/Types/index.html" | 16 + .../Types/TopConformer/index.html" | 16 + .../Types/TypeAlias.html" | 26 +- .../After/Deutsch/docs/JavaScript/Site.js | 23 - .../Biblioteken/Deutsch.html" | 7 +- .../Deutsch.html" | 7 +- .../Module/Deutsch.html" | 7 +- .../Programme/etwas\342\200\220tun.html" | 5 - .../Unterbefehle/hilfe.html" | 5 - .../sprache\342\200\220einstellen.html" | 5 - .../Unterbefehle/hilfe.html" | 5 - .../Unterbefehle/unterbefehl.html" | 5 - .../unterbefehl/Unterbefehle/hilfe.html" | 5 - .../Unterbefehle/version.html" | 5 - .../version/Unterbefehle/hilfe.html" | 5 - .../zwischenspeicher\342\200\220leeren.html" | 5 - .../Unterbefehle/hilfe.html" | 5 - .../docs/JavaScript/Site.js | 23 - .../zxx/FailingDocumentationCoverage.html | 7 +- .../anotherUnlabelled(closure[U+003A]).html | 7 +- .../docs/zxx/func/excessiveHeading().html | 7 +- ...tchedParameters(parameterOne[U+003A]).html | 7 +- .../docs/zxx/func/undocumented().html | 7 +- .../zxx/func/unlabelled(closure[U+003A]).html | 7 +- .../library/FailingDocumentationCoverage.html | 7 +- .../target/FailingDocumentationCoverage.html | 7 +- .../docs/zxx/var/inferredType.html | 7 +- .../PartialReadMe/docs/JavaScript/Site.js | 23 - .../PartialReadMe/docs/zxx/PartialReadMe.html | 7 +- .../docs/zxx/library/PartialReadMe.html | 7 +- .../docs/zxx/target/PartialReadMe.html | 7 +- .../Importing.html" | 5 - .../Libraries/PartialReadMe.html" | 7 +- .../Modules/PartialReadMe.html" | 7 +- .../PartialReadMe.html" | 7 +- .../Biblioteken/PartialReadMe.html" | 7 +- .../Einf\303\274hrung.html" | 5 - .../Module/PartialReadMe.html" | 7 +- .../PartialReadMe.html" | 7 +- .../PartialReadMe.html" | 7 +- .../library/PartialReadMe.html" | 7 +- .../target/PartialReadMe.html" | 7 +- .../Importing.html" | 5 - .../Libraries/PartialReadMe.html" | 7 +- .../Modules/PartialReadMe.html" | 7 +- .../PartialReadMe.html" | 7 +- .../PartialReadMe.html" | 7 +- .../library/PartialReadMe.html" | 7 +- .../target/PartialReadMe.html" | 7 +- .../PartialReadMe.html" | 7 +- .../library/PartialReadMe.html" | 7 +- .../target/PartialReadMe.html" | 7 +- .../Importing.html" | 5 - .../Libraries/PartialReadMe.html" | 7 +- .../Modules/PartialReadMe.html" | 7 +- .../PartialReadMe.html" | 7 +- .../CheckedInDocumentation.swift | 27 - .../\360\237\207\250\360\237\207\246EN.txt" | 3 +- .../\360\237\207\250\360\237\207\246EN.txt" | 45 +- .../\360\237\207\250\360\237\207\246EN.txt" | 49 +- .../\360\237\207\250\360\237\207\246EN.txt" | 7 +- .../\360\237\207\250\360\237\207\246EN.txt" | 7 +- .../\360\237\207\250\360\237\207\246EN.txt" | 3 +- .../\360\237\207\251\360\237\207\252DE.txt" | 3 +- .../\360\237\207\254\360\237\207\247EN.txt" | 3 +- .../\360\237\207\272\360\237\207\270EN.txt" | 3 +- .../\360\237\207\250\360\237\207\246EN.txt" | 3 +- .../\360\237\207\251\360\237\207\252DE.txt" | 3 +- .../\360\237\207\254\360\237\207\247EN.txt" | 3 +- .../\360\237\207\272\360\237\207\270EN.txt" | 3 +- .../\360\237\207\250\360\237\207\246EN.txt" | 16 +- .../\360\237\207\251\360\237\207\252DE.txt" | 16 +- .../\360\237\207\254\360\237\207\247EN.txt" | 16 +- .../\360\237\207\272\360\237\207\270EN.txt" | 16 +- .../\360\237\207\250\360\237\207\246EN.txt" | 16 +- .../\360\237\207\251\360\237\207\252DE.txt" | 16 +- .../\360\237\207\254\360\237\207\247EN.txt" | 16 +- .../\360\237\207\272\360\237\207\270EN.txt" | 16 +- .../\360\237\207\250\360\237\207\246EN.txt" | 3 +- .../\360\237\207\251\360\237\207\252DE.txt" | 3 +- .../\360\237\207\254\360\237\207\247EN.txt" | 3 +- .../\360\237\207\272\360\237\207\270EN.txt" | 3 +- .../\360\237\207\250\360\237\207\246EN.txt" | 3 +- .../\360\237\207\250\360\237\207\246EN.txt" | 4 +- .../\360\237\207\250\360\237\207\246EN.txt" | 4 +- .../\360\237\207\250\360\237\207\246EN.txt" | 4 +- .../APITests.swift | 7 - Tests/WorkspaceTests/APITests.swift | 13 - .../Test Helpers/WorkspaceConfiguration.swift | 28 - Workspace.swift | 112 -- 603 files changed, 20899 insertions(+), 12833 deletions(-) delete mode 100644 Sources/WorkspaceImplementation/Tasks/Documentation/APIElement.swift create mode 100644 Sources/WorkspaceImplementation/Tasks/Documentation/Extension.swift create mode 100644 Sources/WorkspaceImplementation/Tasks/Documentation/ModuleAPI.swift delete mode 100644 Sources/WorkspaceImplementation/Tasks/Documentation/Swift Syntax/Parameter.swift delete mode 100644 Sources/WorkspaceImplementation/Tasks/Documentation/Swift Syntax/SyntaxProtocol.swift delete mode 100644 Sources/WorkspaceImplementation/Tasks/Documentation/Swift Syntax/TupleTypeElementSyntax.swift delete mode 100644 Sources/WorkspaceImplementation/Tasks/Documentation/Swift Syntax/TypeSyntax.swift create mode 100644 Sources/WorkspaceImplementation/Tasks/Documentation/SymbolGraph.LineList.swift create mode 100644 Sources/WorkspaceImplementation/Tasks/Documentation/SymbolGraph.Symbol.DeclarationFragments.swift create mode 100644 Sources/WorkspaceImplementation/Tasks/Documentation/SymbolGraph.Symbol.ExtendedProperties.swift rename Sources/WorkspaceImplementation/Tasks/Documentation/{Swift Syntax/FunctionParameterSyntax.swift => SymbolGraph.Symbol.Names.swift} (50%) create mode 100644 Sources/WorkspaceImplementation/Tasks/Documentation/SymbolLike.swift delete mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/Bool.html rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/{Protocol => CheckedInDocumentation.Protocol}/func/extensionMethodInAnotherModule().html (85%) rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/{Array => CheckedInDocumentation.Protocol}/func/index.html (100%) rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/{Array => CheckedInDocumentation.Protocol}/index.html (100%) rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/{Structure => CheckedInDocumentation.Structure}/func/extensionMethodInAnotherModule().html (85%) rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/{Bool => CheckedInDocumentation.Structure}/func/index.html (100%) rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/{Bool => CheckedInDocumentation.Structure}/index.html (100%) delete mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/Dictionary/subscript/subscript(_[U+003A]).html rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/{Array.html => Swift.Array.html} (63%) rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/{Array => Swift.Array}/func/constrained().html (77%) rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/{Dictionary => Swift.Array/func}/index.html (100%) rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/{Dictionary/subscript => Swift.Array}/index.html (100%) rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/{Dictionary.html => Swift.Bool.html} (61%) rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/{Bool => Swift.Bool}/func/extensionMethod().html (86%) rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/{Bool => Swift.Bool}/func/extensionMethodInAnotherModule().html (85%) rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/{Protocol => Swift.Bool}/func/index.html (100%) rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/{Protocol => Swift.Bool}/index.html (100%) rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/{func/conditionallyCompiled().html => extension/Swift.Dictionary.html} (60%) rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/{Structure/func => Swift.Dictionary}/index.html (100%) rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/{Structure => Swift.Dictionary/subscript}/index.html (100%) create mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/extension/Swift.Dictionary/subscript/subscript(_[U+003A]).html rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/Enumeration/case/{enumerationCase.html => Enumeration.enumerationCase.html} (86%) create mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/Enumeration/func/!=(_[U+003A]_[U+003A]).html create mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/Enumeration/func/index.html rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/{GenericStructure[U+003C]GenericParameter[U+003E].html => GenericStructure.html} (82%) rename Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/LocalizedEnumeration/case/{localizedEnumerationCase.html => LocalizedEnumeration.localizedEnumerationCase.html} (88%) create mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/LocalizedEnumeration/func/!=(_[U+003A]_[U+003A]).html create mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/LocalizedEnumeration/func/index.html create mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/Structure/func/!=(_[U+003A]_[U+003A]).html create mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/Structure/func/==(_[U+003A]_[U+003A]).html create mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/Subclass/func/baseClassMethod().html create mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/Subclass/func/index.html create mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/Subclass/index.html create mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/TopConformer/func/customizationPoint().html create mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/TopConformer/func/index.html create mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/TopConformer/func/intermediateProtocolMethod().html create mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/TopConformer/func/protocolRequirement().html create mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/TopConformer/func/providedExtension().html create mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/TopConformer/index.html create mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/TopConformer/struct/TopConformer.AssociatedType.html create mode 100644 Tests/Mock Projects/After/CheckedInDocumentation/docs/zxx/struct/TopConformer/struct/index.html delete mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Bool.html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Protocol/Methods/extensionMethodInAnotherModule().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/CheckedInDocumentation.Protocol/Methods/extensionMethodInAnotherModule().html" (86%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Array/Methods/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/CheckedInDocumentation.Protocol/Methods/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Array/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/CheckedInDocumentation.Protocol/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Structure/Methods/extensionMethodInAnotherModule().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/CheckedInDocumentation.Structure/Methods/extensionMethodInAnotherModule().html" (86%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Bool/Methods/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/CheckedInDocumentation.Structure/Methods/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Bool/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/CheckedInDocumentation.Structure/index.html" (100%) delete mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Dictionary/Subscripts/subscript(_[U+003A]).html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Array.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Swift.Array.html" (65%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Array/Methods/constrained().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Swift.Array/Methods/constrained().html" (78%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Dictionary/Subscripts/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Swift.Array/Methods/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Dictionary/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Swift.Array/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Functions/conditionallyCompiled().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Swift.Bool.html" (62%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Bool/Methods/extensionMethod().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Swift.Bool/Methods/extensionMethod().html" (87%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Bool/Methods/extensionMethodInAnotherModule().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Swift.Bool/Methods/extensionMethodInAnotherModule().html" (86%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Protocol/Methods/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Swift.Bool/Methods/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Protocol/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Swift.Bool/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Dictionary.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Swift.Dictionary.html" (64%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Structure/Methods/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Swift.Dictionary/Subscripts/index.html" (100%) create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Swift.Dictionary/Subscripts/subscript(_[U+003A]).html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Structure/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Extensions/Swift.Dictionary/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/Enumeration/Cases/enumerationCase.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/Enumeration/Cases/Enumeration.enumerationCase.html" (87%) create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/Enumeration/Functions/!=(_[U+003A]_[U+003A]).html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/Structure/Methods/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/Enumeration/Functions/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/GenericStructure[U+003C]GenericParameter[U+003E].html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/GenericStructure.html" (83%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/LocalizedEnumeration/Cases/localizedEnumerationCase.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/LocalizedEnumeration/Cases/LocalizedEnumeration.localizedEnumerationCase.html" (88%) create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/LocalizedEnumeration/Functions/!=(_[U+003A]_[U+003A]).html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/LocalizedEnumeration/Functions/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/Structure/Functions/!=(_[U+003A]_[U+003A]).html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/Structure/Functions/==(_[U+003A]_[U+003A]).html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/Structure/Methods/[U+003C](_[U+003A]_[U+003A]).html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/Structure/Functions/[U+003C](_[U+003A]_[U+003A]).html" (79%) create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/Structure/Functions/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/Subclass/Methods/baseClassMethod().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/Subclass/Methods/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/Subclass/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/TopConformer/Methods/customizationPoint().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/TopConformer/Methods/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/TopConformer/Methods/intermediateProtocolMethod().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/TopConformer/Methods/protocolRequirement().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/TopConformer/Methods/providedExtension().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/TopConformer/Types/TopConformer.AssociatedType.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/TopConformer/Types/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\250\360\237\207\246EN/Types/TopConformer/index.html" delete mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Bool.html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Protocol/Methoden/extensionMethodInAnotherModule().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/CheckedInDocumentation.Protocol/Methoden/extensionMethodInAnotherModule().html" (86%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Array/Methoden/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/CheckedInDocumentation.Protocol/Methoden/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Array/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/CheckedInDocumentation.Protocol/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Structure/Methoden/extensionMethodInAnotherModule().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/CheckedInDocumentation.Structure/Methoden/extensionMethodInAnotherModule().html" (86%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Bool/Methoden/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/CheckedInDocumentation.Structure/Methoden/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Bool/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/CheckedInDocumentation.Structure/index.html" (100%) delete mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Dictionary/Indexe/subscript(_[U+003A]).html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Array.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Swift.Array.html" (65%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Array/Methoden/constrained().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Swift.Array/Methoden/constrained().html" (78%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Dictionary/Indexe/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Swift.Array/Methoden/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Dictionary/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Swift.Array/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Funktionen/conditionallyCompiled().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Swift.Bool.html" (63%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Bool/Methoden/extensionMethod().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Swift.Bool/Methoden/extensionMethod().html" (87%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Bool/Methoden/extensionMethodInAnotherModule().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Swift.Bool/Methoden/extensionMethodInAnotherModule().html" (86%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Protocol/Methoden/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Swift.Bool/Methoden/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Protocol/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Swift.Bool/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Dictionary.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Swift.Dictionary.html" (64%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Structure/Methoden/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Swift.Dictionary/Indexe/index.html" (100%) create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Swift.Dictionary/Indexe/subscript(_[U+003A]).html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Structure/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Erweiterungen/Swift.Dictionary/index.html" (100%) create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/Enumeration/Funktionen/!=(_[U+003A]_[U+003A]).html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/Structure/Methoden/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/Enumeration/Funktionen/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/Enumeration/F\303\244lle/enumerationCase.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/Enumeration/F\303\244lle/Enumeration.enumerationCase.html" (87%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/GenericStructure[U+003C]GenericParameter[U+003E].html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/GenericStructure.html" (83%) create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/LokalisierterAufz\303\244hlung/Funktionen/!=(_[U+003A]_[U+003A]).html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/LokalisierterAufz\303\244hlung/Funktionen/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/Structure/Funktionen/!=(_[U+003A]_[U+003A]).html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/Structure/Funktionen/==(_[U+003A]_[U+003A]).html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/Structure/Methoden/[U+003C](_[U+003A]_[U+003A]).html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/Structure/Funktionen/[U+003C](_[U+003A]_[U+003A]).html" (79%) create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/Structure/Funktionen/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/Subclass/Methoden/baseClassMethod().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/Subclass/Methoden/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/Subclass/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/TopConformer/Methoden/customizationPoint().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/TopConformer/Methoden/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/TopConformer/Methoden/intermediateProtocolMethod().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/TopConformer/Methoden/protocolRequirement().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/TopConformer/Methoden/providedExtension().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/TopConformer/Typen/TopConformer.AssociatedType.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/TopConformer/Typen/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\251\360\237\207\252DE/Typen/TopConformer/index.html" delete mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Bool.html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Protocol/Methods/extensionMethodInAnotherModule().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/CheckedInDocumentation.Protocol/Methods/extensionMethodInAnotherModule().html" (85%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Array/Methods/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/CheckedInDocumentation.Protocol/Methods/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Array/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/CheckedInDocumentation.Protocol/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Structure/Methods/extensionMethodInAnotherModule().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/CheckedInDocumentation.Structure/Methods/extensionMethodInAnotherModule().html" (85%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Bool/Methods/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/CheckedInDocumentation.Structure/Methods/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Bool/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/CheckedInDocumentation.Structure/index.html" (100%) delete mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Dictionary/Subscripts/subscript(_[U+003A]).html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Array.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Swift.Array.html" (65%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Array/Methods/constrained().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Swift.Array/Methods/constrained().html" (78%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Dictionary/Subscripts/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Swift.Array/Methods/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Dictionary/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Swift.Array/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Functions/conditionallyCompiled().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Swift.Bool.html" (62%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Bool/Methods/extensionMethod().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Swift.Bool/Methods/extensionMethod().html" (86%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Bool/Methods/extensionMethodInAnotherModule().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Swift.Bool/Methods/extensionMethodInAnotherModule().html" (85%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Protocol/Methods/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Swift.Bool/Methods/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Protocol/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Swift.Bool/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Dictionary.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Swift.Dictionary.html" (63%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Structure/Methods/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Swift.Dictionary/Subscripts/index.html" (100%) create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Swift.Dictionary/Subscripts/subscript(_[U+003A]).html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Structure/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Extensions/Swift.Dictionary/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/Enumeration/Cases/enumerationCase.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/Enumeration/Cases/Enumeration.enumerationCase.html" (87%) create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/Enumeration/Functions/!=(_[U+003A]_[U+003A]).html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/Structure/Methods/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/Enumeration/Functions/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/GenericStructure[U+003C]GenericParameter[U+003E].html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/GenericStructure.html" (83%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/LocalizedEnumeration/Cases/localizedEnumerationCase.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/LocalizedEnumeration/Cases/LocalizedEnumeration.localizedEnumerationCase.html" (88%) create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/LocalizedEnumeration/Functions/!=(_[U+003A]_[U+003A]).html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/LocalizedEnumeration/Functions/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/Structure/Functions/!=(_[U+003A]_[U+003A]).html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/Structure/Functions/==(_[U+003A]_[U+003A]).html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/Structure/Methods/[U+003C](_[U+003A]_[U+003A]).html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/Structure/Functions/[U+003C](_[U+003A]_[U+003A]).html" (79%) create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/Structure/Functions/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/Subclass/Methods/baseClassMethod().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/Subclass/Methods/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/Subclass/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/TopConformer/Methods/customizationPoint().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/TopConformer/Methods/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/TopConformer/Methods/intermediateProtocolMethod().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/TopConformer/Methods/protocolRequirement().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/TopConformer/Methods/providedExtension().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/TopConformer/Types/TopConformer.AssociatedType.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/TopConformer/Types/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\254\360\237\207\247EN/Types/TopConformer/index.html" delete mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Bool.html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Protocol/Methods/extensionMethodInAnotherModule().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/CheckedInDocumentation.Protocol/Methods/extensionMethodInAnotherModule().html" (86%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Array/Methods/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/CheckedInDocumentation.Protocol/Methods/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Array/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/CheckedInDocumentation.Protocol/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Structure/Methods/extensionMethodInAnotherModule().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/CheckedInDocumentation.Structure/Methods/extensionMethodInAnotherModule().html" (86%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Bool/Methods/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/CheckedInDocumentation.Structure/Methods/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Bool/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/CheckedInDocumentation.Structure/index.html" (100%) delete mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Dictionary/Subscripts/subscript(_[U+003A]).html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Array.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Swift.Array.html" (65%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Array/Methods/constrained().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Swift.Array/Methods/constrained().html" (78%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Dictionary/Subscripts/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Swift.Array/Methods/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Dictionary/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Swift.Array/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Functions/conditionallyCompiled().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Swift.Bool.html" (62%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Bool/Methods/extensionMethod().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Swift.Bool/Methods/extensionMethod().html" (87%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Bool/Methods/extensionMethodInAnotherModule().html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Swift.Bool/Methods/extensionMethodInAnotherModule().html" (86%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Protocol/Methods/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Swift.Bool/Methods/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Protocol/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Swift.Bool/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Dictionary.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Swift.Dictionary.html" (64%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Structure/Methods/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Swift.Dictionary/Subscripts/index.html" (100%) create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Swift.Dictionary/Subscripts/subscript(_[U+003A]).html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Structure/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Extensions/Swift.Dictionary/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/Enumeration/Cases/enumerationCase.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/Enumeration/Cases/Enumeration.enumerationCase.html" (87%) create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/Enumeration/Functions/!=(_[U+003A]_[U+003A]).html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/Structure/Methods/index.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/Enumeration/Functions/index.html" (100%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/GenericStructure[U+003C]GenericParameter[U+003E].html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/GenericStructure.html" (83%) rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/LocalizedEnumeration/Cases/localizedEnumerationCase.html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/LocalizedEnumeration/Cases/LocalizedEnumeration.localizedEnumerationCase.html" (88%) create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/LocalizedEnumeration/Functions/!=(_[U+003A]_[U+003A]).html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/LocalizedEnumeration/Functions/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/Structure/Functions/!=(_[U+003A]_[U+003A]).html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/Structure/Functions/==(_[U+003A]_[U+003A]).html" rename "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/Structure/Methods/[U+003C](_[U+003A]_[U+003A]).html" => "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/Structure/Functions/[U+003C](_[U+003A]_[U+003A]).html" (79%) create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/Structure/Functions/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/Subclass/Methods/baseClassMethod().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/Subclass/Methods/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/Subclass/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/TopConformer/Methods/customizationPoint().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/TopConformer/Methods/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/TopConformer/Methods/intermediateProtocolMethod().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/TopConformer/Methods/protocolRequirement().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/TopConformer/Methods/providedExtension().html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/TopConformer/Types/TopConformer.AssociatedType.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/TopConformer/Types/index.html" create mode 100644 "Tests/Mock Projects/After/CheckedInDocumentation/docs/\360\237\207\272\360\237\207\270EN/Types/TopConformer/index.html" delete mode 100644 Tests/WorkspaceTests/Test Helpers/WorkspaceConfiguration.swift diff --git a/Package.resolved b/Package.resolved index 23e35219c1..76f94af6d8 100644 --- a/Package.resolved +++ b/Package.resolved @@ -5,8 +5,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/SDGGiesbrecht/SDGCommandLine", "state" : { - "revision" : "27405d154e4527cead3abb7df278e6dc4d987097", - "version" : "3.0.2" + "revision" : "43465a1ea0808b401ef32270d4ecfd709afdd42f", + "version" : "3.0.3" } }, { @@ -23,8 +23,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/SDGGiesbrecht/SDGSwift", "state" : { - "revision" : "7fd059dfb8b9fcf9fa31902b40f88ecaf7d00352", - "version" : "11.1.0" + "revision" : "b898b510e8f06aae1fbc683310e6b2d4bfda6944", + "version" : "12.0.0" } }, { @@ -72,6 +72,15 @@ "version" : "0.10107.0" } }, + { + "identity" : "swift-docc-symbolkit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/SDGGiesbrecht/swift-docc-symbolkit", + "state" : { + "revision" : "8682202025906dce29a8b04f9263f40ba87b89d8", + "version" : "0.50700.0" + } + }, { "identity" : "swift-driver", "kind" : "remoteSourceControl", diff --git a/Package.swift b/Package.swift index 97382584f3..67ea8eef2b 100644 --- a/Package.swift +++ b/Package.swift @@ -489,11 +489,11 @@ let package = Package( ), .package( url: "https://github.com/SDGGiesbrecht/SDGCommandLine", - from: Version(3, 0, 2) + from: Version(3, 0, 3) ), .package( url: "https://github.com/SDGGiesbrecht/SDGSwift", - from: Version(11, 1, 0) + from: Version(12, 0, 0) ), .package( url: "https://github.com/SDGGiesbrecht/swift\u{2D}package\u{2D}manager", @@ -503,6 +503,10 @@ let package = Package( url: "https://github.com/apple/swift\u{2D}syntax", exact: Version(0, 50700, 0) ), + .package( + url: "https://github.com/SDGGiesbrecht/swift\u{2D}docc\u{2D}symbolkit", + exact: Version(0, 50700, 0) + ), .package( url: "https://github.com/SDGGiesbrecht/swift\u{2D}format", // Must also be updated in the documentation link in Sources/WorkspaceImplementation/Interface/Normalize.swift. @@ -541,6 +545,7 @@ let package = Package( .product(name: "SDGSwift", package: "SDGSwift"), .product(name: "SDGSwiftPackageManager", package: "SDGSwift"), .product(name: "SDGSwiftSource", package: "SDGSwift"), + .product(name: "SDGSwiftDocumentation", package: "SDGSwift"), .product(name: "SDGXcode", package: "SDGSwift"), .product( name: "SwiftPMDataModel\u{2D}auto", @@ -558,6 +563,10 @@ let package = Package( package: "swift\u{2D}syntax", condition: .when(platforms: [.macOS, .linux]) ), + .product( + name: "SymbolKit", + package: "swift\u{2D}docc\u{2D}symbolkit" + ), .product( name: "SwiftFormatConfiguration", package: "swift\u{2D}format", diff --git a/Sources/WorkspaceConfiguration/Configuration/Documentation/APIDocumentationConfiguration.swift b/Sources/WorkspaceConfiguration/Configuration/Documentation/APIDocumentationConfiguration.swift index 635354a39a..865d281f59 100644 --- a/Sources/WorkspaceConfiguration/Configuration/Documentation/APIDocumentationConfiguration.swift +++ b/Sources/WorkspaceConfiguration/Configuration/Documentation/APIDocumentationConfiguration.swift @@ -209,19 +209,4 @@ public struct APIDocumentationConfiguration: Codable { public mutating func dateinamensersetzungenZurWindowsVerträglichkeitHinzufügen() { applyWindowsCompatibilityFileNameReplacements() } - - // @localization(🇬🇧EN) @localization(đŸ‡ș🇾EN) @localization(🇹🇩EN) - // @crossReference(APIDocumentationConfiguration.ignoredDependencies) - /// Dependency module names known to be irrelevant to documentation. - /// - /// Parsing can be sped up by specifing dependencies to skip, but if a dependency is skipped, its API will not be available to participate in inheritance resolution. - public var ignoredDependencies: Set = [] - // @localization(đŸ‡©đŸ‡ȘDE) @crossReference(APIDocumentationConfiguration.ignoredDependencies) - /// Modulnamen von Abhängkeiten die für die Dokumentation unerheblich sind. - /// - /// Die Zerteilung kann beschleunigt werden, in dem Abhängigkeiten übersprungen werden, aber die übersprungene Programierschnittstellen kann dann nicht geerbt werden. - public var übergegangeneAbhängigkeiten: Menge { - get { return ignoredDependencies } - set { ignoredDependencies = newValue } - } } diff --git a/Sources/WorkspaceConfiguration/Configuration/Documentation/RelatedProjectEntry.swift b/Sources/WorkspaceConfiguration/Configuration/Documentation/RelatedProjectEntry.swift index 5a6ceda83d..177245e472 100644 --- a/Sources/WorkspaceConfiguration/Configuration/Documentation/RelatedProjectEntry.swift +++ b/Sources/WorkspaceConfiguration/Configuration/Documentation/RelatedProjectEntry.swift @@ -26,6 +26,9 @@ public enum RelatedProjectEntry: Decodable, Encodable { // @localization(🇬🇧EN) @localization(đŸ‡ș🇾EN) @localization(🇹🇩EN) // @crossReference(RelatedProjectEntry.project(url:)) /// A related project with its repository URL. + /// + /// - Parameters: + /// - url: The URL. case project(url: URL) // @localization(đŸ‡©đŸ‡ȘDE) @crossReference(RelatedProjectEntry.project(url:)) /// Ein verwandtes Projekt mit sein Lagerressourcenzeiger. @@ -41,6 +44,9 @@ public enum RelatedProjectEntry: Decodable, Encodable { // @localization(🇬🇧EN) @localization(đŸ‡ș🇾EN) @localization(🇹🇩EN) // @crossReference(RelatedProjectEntry.heading(text:)) /// A heading. + /// + /// - Parameters: + /// - text: The text. case heading(text: [LocalizationIdentifier: StrictString]) // @localization(đŸ‡©đŸ‡ȘDE) @crossReference(RelatedProjectEntry.heading(text:)) /// Eine Überschrift. diff --git a/Sources/WorkspaceConfiguration/General/LazyOption.swift b/Sources/WorkspaceConfiguration/General/LazyOption.swift index 937448ddd7..af8c60822f 100644 --- a/Sources/WorkspaceConfiguration/General/LazyOption.swift +++ b/Sources/WorkspaceConfiguration/General/LazyOption.swift @@ -32,7 +32,6 @@ public struct Lazy