Skip to content

Commit 9337c5e

Browse files
authored
Hide CLI commands API with package access control (swiftlang#7381)
Known clients of SwiftPM have not adopted these CLI APIs that were previously marked as `public`. To prevent accidental adoption by clients in the future, we should use `package` access control instead. Also replaced remaining usages of `@_spi(SwiftPMInternal)` with `package` across all of our codebase.
1 parent 64adc92 commit 9337c5e

File tree

86 files changed

+283
-415
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+283
-415
lines changed

Sources/Basics/ProgressAnimation/NinjaProgressAnimation.swift

+1-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ import protocol TSCBasic.WritableByteStream
1515

1616
extension ProgressAnimation {
1717
/// A ninja-like progress animation that adapts to the provided output stream.
18-
@_spi(SwiftPMInternal)
19-
public static func ninja(
18+
package static func ninja(
2019
stream: WritableByteStream,
2120
verbose: Bool
2221
) -> any ProgressAnimationProtocol {

Sources/Basics/ProgressAnimation/PercentProgressAnimation.swift

+1-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ import protocol TSCBasic.WritableByteStream
1515

1616
extension ProgressAnimation {
1717
/// A percent-based progress animation that adapts to the provided output stream.
18-
@_spi(SwiftPMInternal)
19-
public static func percent(
18+
package static func percent(
2019
stream: WritableByteStream,
2120
verbose: Bool,
2221
header: String

Sources/Basics/ProgressAnimation/ProgressAnimationProtocol.swift

+2-4
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,10 @@ import class TSCBasic.LocalFileOutputByteStream
1515
import protocol TSCBasic.WritableByteStream
1616
import protocol TSCUtility.ProgressAnimationProtocol
1717

18-
@_spi(SwiftPMInternal)
19-
public typealias ProgressAnimationProtocol = TSCUtility.ProgressAnimationProtocol
18+
package typealias ProgressAnimationProtocol = TSCUtility.ProgressAnimationProtocol
2019

2120
/// Namespace to nest public progress animations under.
22-
@_spi(SwiftPMInternal)
23-
public enum ProgressAnimation {
21+
package enum ProgressAnimation {
2422
/// Dynamically create a progress animation based on the current stream
2523
/// capabilities and desired verbosity.
2624
///

Sources/Basics/ProgressAnimation/ThrottledProgressAnimation.swift

+3-7
Original file line numberDiff line numberDiff line change
@@ -56,27 +56,23 @@ final class ThrottledProgressAnimation: ProgressAnimationProtocol {
5656
}
5757
}
5858

59-
@_spi(SwiftPMInternal)
6059
extension ProgressAnimationProtocol {
61-
@_spi(SwiftPMInternal)
62-
public func throttled<C: Clock>(
60+
package func throttled<C: Clock>(
6361
now: @escaping () -> C.Instant,
6462
interval: C.Duration,
6563
clock: C.Type = C.self
6664
) -> some ProgressAnimationProtocol {
6765
ThrottledProgressAnimation(self, now: now, interval: interval, clock: clock)
6866
}
6967

70-
@_spi(SwiftPMInternal)
71-
public func throttled<C: Clock>(
68+
package func throttled<C: Clock>(
7269
clock: C,
7370
interval: C.Duration
7471
) -> some ProgressAnimationProtocol {
7572
self.throttled(now: { clock.now }, interval: interval, clock: C.self)
7673
}
7774

78-
@_spi(SwiftPMInternal)
79-
public func throttled(
75+
package func throttled(
8076
interval: ContinuousClock.Duration
8177
) -> some ProgressAnimationProtocol {
8278
self.throttled(clock: ContinuousClock(), interval: interval)

Sources/Build/BuildDescription/ProductBuildDescription.swift

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import Basics
1414
import PackageGraph
1515

16-
@_spi(SwiftPMInternal)
1716
import PackageModel
1817

1918
import OrderedCollections

Sources/Build/BuildDescription/SwiftTargetBuildDescription.swift

-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import PackageGraph
1717
import PackageLoading
1818
import PackageModel
1919

20-
@_spi(SwiftPMInternal)
2120
import SPMBuildCore
2221

2322
#if USE_IMPL_ONLY_IMPORTS

Sources/Build/BuildOperation.swift

+1-5
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,15 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
@_spi(SwiftPMInternal)
1413
import Basics
1514

16-
@_spi(SwiftPMInternal)
1715
import Build
1816

1917
import LLBuildManifest
2018
import PackageGraph
2119
import PackageLoading
2220
import PackageModel
2321

24-
@_spi(SwiftPMInternal)
2522
import SPMBuildCore
2623

2724
import SPMLLBuild
@@ -43,8 +40,7 @@ import DriverSupport
4340
import SwiftDriver
4441
#endif
4542

46-
@_spi(SwiftPMInternal)
47-
public final class BuildOperation: PackageStructureDelegate, SPMBuildCore.BuildSystem, BuildErrorAdviceProvider {
43+
package final class BuildOperation: PackageStructureDelegate, SPMBuildCore.BuildSystem, BuildErrorAdviceProvider {
4844
/// The delegate used by the build system.
4945
public weak var delegate: SPMBuildCore.BuildSystemDelegate?
5046

Sources/Build/BuildOperationBuildSystemDelegateHandler.swift

-2
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,12 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
@_spi(SwiftPMInternal)
1413
import Basics
1514
import Dispatch
1615
import Foundation
1716
import LLBuildManifest
1817
import PackageModel
1918

20-
@_spi(SwiftPMInternal)
2119
import SPMBuildCore
2220

2321
import SPMLLBuild

Sources/Build/BuildPlan/BuildPlan+Product.swift

-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import struct PackageGraph.ResolvedTarget
1818
import class PackageModel.BinaryTarget
1919
import class PackageModel.ClangTarget
2020

21-
@_spi(SwiftPMInternal)
2221
import class PackageModel.Target
2322

2423
import class PackageModel.SwiftTarget

Sources/Build/BuildPlan/BuildPlan.swift

+1-2
Original file line numberDiff line numberDiff line change
@@ -225,8 +225,7 @@ public class BuildPlan: SPMBuildCore.BuildPlan {
225225
/// source files as well as directories to which any changes should cause us to reevaluate the build plan.
226226
public let prebuildCommandResults: [ResolvedTarget.ID: [PrebuildCommandResult]]
227227

228-
@_spi(SwiftPMInternal)
229-
public private(set) var derivedTestTargetsMap: [ResolvedProduct.ID: [ResolvedTarget]] = [:]
228+
package private(set) var derivedTestTargetsMap: [ResolvedProduct.ID: [ResolvedTarget]] = [:]
230229

231230
/// Cache for pkgConfig flags.
232231
private var pkgConfigCache = [SystemLibraryTarget: (cFlags: [String], libs: [String])]()

Sources/Commands/CommandWorkspaceDelegate.swift

+5-6
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313
import Basics
1414

15-
@_spi(SwiftPMInternal)
1615
import CoreCommands
1716

1817
import Dispatch
@@ -215,22 +214,22 @@ final class CommandWorkspaceDelegate: WorkspaceDelegate {
215214
}
216215
}
217216

218-
public func willUpdateDependencies() {
217+
package func willUpdateDependencies() {
219218
self.observabilityScope.emit(debug: "Updating dependencies")
220219
os_signpost(.begin, name: SignpostName.updatingDependencies)
221220
}
222221

223-
public func didUpdateDependencies(duration: DispatchTimeInterval) {
222+
package func didUpdateDependencies(duration: DispatchTimeInterval) {
224223
self.observabilityScope.emit(debug: "Dependencies updated in (\(duration.descriptionInSeconds))")
225224
os_signpost(.end, name: SignpostName.updatingDependencies)
226225
}
227226

228-
public func willResolveDependencies() {
227+
package func willResolveDependencies() {
229228
self.observabilityScope.emit(debug: "Resolving dependencies")
230229
os_signpost(.begin, name: SignpostName.resolvingDependencies)
231230
}
232231

233-
public func didResolveDependencies(duration: DispatchTimeInterval) {
232+
package func didResolveDependencies(duration: DispatchTimeInterval) {
234233
self.observabilityScope.emit(debug: "Dependencies resolved in (\(duration.descriptionInSeconds))")
235234
os_signpost(.end, name: SignpostName.resolvingDependencies)
236235
}
@@ -267,7 +266,7 @@ final class CommandWorkspaceDelegate: WorkspaceDelegate {
267266
func willLoadManifest(packageIdentity: PackageIdentity, packagePath: AbsolutePath, url: String, version: Version?, packageKind: PackageReference.Kind) {}
268267
}
269268

270-
public extension _SwiftCommand {
269+
package extension _SwiftCommand {
271270
var workspaceDelegateProvider: WorkspaceDelegateProvider {
272271
return {
273272
CommandWorkspaceDelegate(

Sources/Commands/PackageCommands/APIDiff.swift

-2
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,13 @@
1313
import ArgumentParser
1414
import Basics
1515

16-
@_spi(SwiftPMInternal)
1716
import CoreCommands
1817

1918
import Dispatch
2019
import PackageGraph
2120
import PackageModel
2221
import SourceControl
2322

24-
@_spi(SwiftPMInternal)
2523
import SPMBuildCore
2624

2725
struct DeprecatedAPIDiff: ParsableCommand {

Sources/Commands/PackageCommands/ArchiveSource.swift

+1-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import ArgumentParser
1414
import Basics
1515

16-
@_spi(SwiftPMInternal)
1716
import CoreCommands
1817

1918
import SourceControl
@@ -62,7 +61,7 @@ extension SwiftPackageCommand {
6261
}
6362
}
6463

65-
public static func archiveSource(
64+
package static func archiveSource(
6665
at packageDirectory: AbsolutePath,
6766
to archivePath: AbsolutePath,
6867
fileSystem: FileSystem,

Sources/Commands/PackageCommands/CompletionCommand.swift

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313
import ArgumentParser
1414

15-
@_spi(SwiftPMInternal)
1615
import CoreCommands
1716

1817
import var TSCBasic.stdoutStream

Sources/Commands/PackageCommands/ComputeChecksum.swift

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import ArgumentParser
1414
import Basics
1515

16-
@_spi(SwiftPMInternal)
1716
import CoreCommands
1817

1918
import Workspace

Sources/Commands/PackageCommands/Config.swift

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import ArgumentParser
1414
import Basics
1515

16-
@_spi(SwiftPMInternal)
1716
import CoreCommands
1817

1918
import Workspace

Sources/Commands/PackageCommands/Describe.swift

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import ArgumentParser
1414
import Basics
1515

16-
@_spi(SwiftPMInternal)
1716
import CoreCommands
1817

1918
import Foundation

Sources/Commands/PackageCommands/DumpCommands.swift

-2
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,11 @@
1313
import ArgumentParser
1414
import Basics
1515

16-
@_spi(SwiftPMInternal)
1716
import CoreCommands
1817

1918
import Foundation
2019
import PackageModel
2120

22-
@_spi(SwiftPMInternal)
2321
import SPMBuildCore
2422

2523
import XCBuildSupport

Sources/Commands/PackageCommands/EditCommands.swift

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import ArgumentParser
1414
import Basics
1515

16-
@_spi(SwiftPMInternal)
1716
import CoreCommands
1817

1918
import SourceControl

Sources/Commands/PackageCommands/Format.swift

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import ArgumentParser
1414
import Basics
1515

16-
@_spi(SwiftPMInternal)
1716
import CoreCommands
1817

1918
import PackageModel

Sources/Commands/PackageCommands/Init.swift

+1-2
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,14 @@
1313
import ArgumentParser
1414
import Basics
1515

16-
@_spi(SwiftPMInternal)
1716
import CoreCommands
1817

1918
import Workspace
2019
import SPMBuildCore
2120

2221
extension SwiftPackageCommand {
2322
struct Init: SwiftCommand {
24-
public static let configuration = CommandConfiguration(
23+
package static let configuration = CommandConfiguration(
2524
abstract: "Initialize a new package")
2625

2726
@OptionGroup(visibility: .hidden)

Sources/Commands/PackageCommands/InstalledPackages.swift

-2
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,11 @@
1212

1313
import ArgumentParser
1414

15-
@_spi(SwiftPMInternal)
1615
import CoreCommands
1716

1817
import Foundation
1918
import PackageModel
2019

21-
@_spi(SwiftPMInternal)
2220
import SPMBuildCore
2321

2422
import TSCBasic

Sources/Commands/PackageCommands/Learn.swift

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import ArgumentParser
1414
import Basics
1515

16-
@_spi(SwiftPMInternal)
1716
import CoreCommands
1817

1918
import PackageGraph

Sources/Commands/PackageCommands/PluginCommand.swift

-2
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,8 @@
1313
import ArgumentParser
1414
import Basics
1515

16-
@_spi(SwiftPMInternal)
1716
import CoreCommands
1817

19-
@_spi(SwiftPMInternal)
2018
import SPMBuildCore
2119

2220
import Dispatch

Sources/Commands/PackageCommands/ResetCommands.swift

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313
import ArgumentParser
1414

15-
@_spi(SwiftPMInternal)
1615
import CoreCommands
1716

1817
extension SwiftPackageCommand {

Sources/Commands/PackageCommands/Resolve.swift

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313
import ArgumentParser
1414

15-
@_spi(SwiftPMInternal)
1615
import CoreCommands
1716

1817
import TSCUtility

Sources/Commands/PackageCommands/ShowDependencies.swift

+2-3
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import ArgumentParser
1515
import Basics
1616

17-
@_spi(SwiftPMInternal)
1817
import CoreCommands
1918

2019
import PackageGraph
@@ -69,7 +68,7 @@ extension SwiftPackageCommand {
6968
enum ShowDependenciesMode: String, RawRepresentable, CustomStringConvertible, ExpressibleByArgument {
7069
case text, dot, json, flatlist
7170

72-
public init?(rawValue: String) {
71+
package init?(rawValue: String) {
7372
switch rawValue.lowercased() {
7473
case "text":
7574
self = .text
@@ -84,7 +83,7 @@ extension SwiftPackageCommand {
8483
}
8584
}
8685

87-
public var description: String {
86+
package var description: String {
8887
switch self {
8988
case .text: return "text"
9089
case .dot: return "dot"

0 commit comments

Comments
 (0)