Skip to content

Commit 14482e0

Browse files
committed
Fix build issues after conflicts resolution
1 parent d069f29 commit 14482e0

17 files changed

+110
-146
lines changed

Sources/Build/BuildDescription/ClangTargetBuildDescription.swift

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@ import struct SPMBuildCore.BuildParameters
1919
import struct SPMBuildCore.BuildToolPluginInvocationResult
2020
import struct SPMBuildCore.PrebuildCommandResult
2121

22-
@_spi(SwiftPMInternal)
23-
import SPMBuildCore
24-
2522
import enum TSCBasic.ProcessEnv
2623

2724
/// Target description for a Clang target i.e. C language family target.

Sources/Build/BuildDescription/ResolvedTarget+BuildDescription.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
import struct Basics.AbsolutePath
1414
import struct PackageGraph.ResolvedTarget
1515

16-
@_spi(SwiftPMInternal)
1716
import SPMBuildCore
1817

1918
extension ResolvedTarget {
2019
func tempsPath(_ buildParameters: BuildParameters) -> AbsolutePath {
21-
buildParameters.buildPath.appending(component: self.c99name + "\(self.buildTriple.suffix).build")
20+
let suffix = buildParameters.suffix(triple: self.buildTriple)
21+
return buildParameters.buildPath.appending(component: self.c99name + "\(suffix).build")
2222
}
2323
}

Sources/Build/BuildDescription/SwiftTargetBuildDescription.swift

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,8 @@ package final class SwiftTargetBuildDescription {
111111
}
112112

113113
var modulesPath: AbsolutePath {
114-
return self.defaultBuildParameters.buildPath.appending(component: "Modules\(self.target.buildTriple.suffix)")
114+
let suffix = self.defaultBuildParameters.suffix(triple: self.target.buildTriple)
115+
return self.defaultBuildParameters.buildPath.appending(component: "Modules\(suffix)")
115116
}
116117

117118
/// The path to the swiftmodule file after compilation.
@@ -644,7 +645,7 @@ package final class SwiftTargetBuildDescription {
644645

645646
args += self.package.packageNameArgument(
646647
target: self.target,
647-
isPackageNameSupported: self.buildParameters.driverParameters.isPackageAccessModifierSupported
648+
isPackageNameSupported: self.defaultBuildParameters.driverParameters.isPackageAccessModifierSupported
648649
)
649650
args += try self.macroArguments()
650651

@@ -673,7 +674,7 @@ package final class SwiftTargetBuildDescription {
673674
result.append(
674675
contentsOf: self.package.packageNameArgument(
675676
target: self.target,
676-
isPackageNameSupported: self.buildParameters.driverParameters.isPackageAccessModifierSupported
677+
isPackageNameSupported: self.defaultBuildParameters.driverParameters.isPackageAccessModifierSupported
677678
)
678679
)
679680
if !scanInvocation {

Sources/Build/BuildManifest/LLBuildManifestBuilder+Clang.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ extension LLBuildManifestBuilder {
9393
let additionalInputs = try addBuildToolPlugins(.clang(target))
9494

9595
// Create a phony node to represent the entire target.
96-
let targetName = target.target.getLLBuildTargetName(config: target.buildParameters.buildConfig)
96+
let targetName = target.target.getLLBuildTargetName(buildParameters: target.buildParameters)
9797
let output: Node = .virtual(targetName)
9898

9999
self.manifest.addNode(output, toTarget: targetName)

Sources/Build/BuildManifest/LLBuildManifestBuilder+Product.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import struct LLBuildManifest.Node
1515

1616
extension LLBuildManifestBuilder {
1717
func createProductCommand(_ buildProduct: ProductBuildDescription) throws {
18-
let cmdName = try buildProduct.product.getCommandName(config: buildProduct.buildParameters.buildConfig)
18+
let cmdName = try buildProduct.product.getCommandName(buildParameters: buildProduct.buildParameters)
1919

2020
// Add dependency on Info.plist generation on Darwin platforms.
2121
let testInputs: [AbsolutePath]
@@ -34,7 +34,7 @@ extension LLBuildManifestBuilder {
3434
}
3535

3636
// Create a phony node to represent the entire target.
37-
let targetName = try buildProduct.product.getLLBuildTargetName(config: buildProduct.buildParameters.buildConfig)
37+
let targetName = try buildProduct.product.getLLBuildTargetName(buildParameters: buildProduct.buildParameters)
3838
let output: Node = .virtual(targetName)
3939

4040
let finalProductNode: Node
@@ -85,7 +85,7 @@ extension LLBuildManifestBuilder {
8585
outputPath: plistPath
8686
)
8787

88-
let cmdName = try buildProduct.product.getCommandName(config: buildProduct.buildParameters.buildConfig)
88+
let cmdName = try buildProduct.product.getCommandName(buildParameters: buildProduct.buildParameters)
8989
let codeSigningOutput = Node.virtual(targetName + "-CodeSigning")
9090
try self.manifest.addShellCmd(
9191
name: "\(cmdName)-entitlements",

Sources/Build/BuildManifest/LLBuildManifestBuilder+Swift.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@ extension LLBuildManifestBuilder {
378378
cmdOutputs: [Node]
379379
) throws {
380380
let isLibrary = target.target.type == .library || target.target.type == .test
381-
let cmdName = target.target.getCommandName(config: target.defaultBuildParameters.buildConfig)
381+
let cmdName = target.target.getCommandName(buildParameters: target.defaultBuildParameters)
382382

383383
self.manifest.addWriteSourcesFileListCommand(sources: target.sources, sourcesFileListPath: target.sourcesFileListPath)
384384
self.manifest.addSwiftCmd(
@@ -491,7 +491,7 @@ extension LLBuildManifestBuilder {
491491

492492
// Depend on any required macro product's output.
493493
try target.requiredMacroProducts.forEach { macro in
494-
try inputs.append(.virtual(macro.getLLBuildTargetName(config: target.defaultBuildParameters.buildConfig)))
494+
try inputs.append(.virtual(macro.getLLBuildTargetName(buildParameters: target.defaultBuildParameters)))
495495
}
496496

497497
return inputs + additionalInputs
@@ -500,7 +500,7 @@ extension LLBuildManifestBuilder {
500500
/// Adds a top-level phony command that builds the entire target.
501501
private func addTargetCmd(_ target: SwiftTargetBuildDescription, cmdOutputs: [Node]) {
502502
// Create a phony node to represent the entire target.
503-
let targetName = target.target.getLLBuildTargetName(config: target.defaultBuildParameters.buildConfig)
503+
let targetName = target.target.getLLBuildTargetName(buildParameters: target.defaultBuildParameters)
504504
let targetOutput: Node = .virtual(targetName)
505505

506506
self.manifest.addNode(targetOutput, toTarget: targetName)

Sources/Build/BuildManifest/LLBuildManifestBuilder.swift

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ import Basics
1414
import LLBuildManifest
1515
import PackageGraph
1616
import PackageModel
17-
18-
@_spi(SwiftPMInternal)
1917
import SPMBuildCore
2018

2119
#if USE_IMPL_ONLY_IMPORTS
@@ -319,31 +317,33 @@ extension TargetBuildDescription {
319317
}
320318

321319
extension ResolvedTarget {
322-
package func getCommandName(config: String) -> String {
323-
"C." + self.getLLBuildTargetName(config: config)
320+
package func getCommandName(buildParameters: BuildParameters) -> String {
321+
"C." + self.getLLBuildTargetName(buildParameters: buildParameters)
324322
}
325323

326-
public func getLLBuildTargetName(config: String) -> String {
327-
"\(self.name)-\(config)\(self.buildTriple.suffix).module"
324+
package func getLLBuildTargetName(buildParameters: BuildParameters) -> String {
325+
"\(self.name)-\(buildParameters.buildConfig)\(buildParameters.suffix(triple: self.buildTriple)).module"
328326
}
329327

330-
public func getLLBuildResourcesCmdName(config: String) -> String {
328+
package func getLLBuildResourcesCmdName(config: String) -> String {
331329
"\(self.name)-\(config).module-resources"
332330
}
333331
}
334332

335333
extension ResolvedProduct {
336-
public func getLLBuildTargetName(config: String) throws -> String {
337-
let potentialExecutableTargetName = "\(name)-\(config)\(self.buildTriple.suffix).exe"
338-
let potentialLibraryTargetName = "\(name)-\(config)\(self.buildTriple.suffix).dylib"
334+
package func getLLBuildTargetName(buildParameters: BuildParameters) throws -> String {
335+
let config = buildParameters.buildConfig
336+
let suffix = buildParameters.suffix(triple: self.buildTriple)
337+
let potentialExecutableTargetName = "\(name)-\(config)\(suffix).exe"
338+
let potentialLibraryTargetName = "\(name)-\(config)\(suffix).dylib"
339339

340340
switch type {
341341
case .library(.dynamic):
342342
return potentialLibraryTargetName
343343
case .test:
344-
return "\(name)-\(config)\(self.buildTriple.suffix).test"
344+
return "\(name)-\(config)\(suffix).test"
345345
case .library(.static):
346-
return "\(name)-\(config)\(self.buildTriple.suffix).a"
346+
return "\(name)-\(config)\(suffix).a"
347347
case .library(.automatic):
348348
throw InternalError("automatic library not supported")
349349
case .executable, .snippet:
@@ -359,8 +359,8 @@ extension ResolvedProduct {
359359
}
360360
}
361361

362-
public func getCommandName(config: String) throws -> String {
363-
try "C.\(self.getLLBuildTargetName(config: config))\(self.buildTriple.suffix)"
362+
public func getCommandName(buildParameters: BuildParameters) throws -> String {
363+
try "C.\(self.getLLBuildTargetName(buildParameters: buildParameters))\(buildParameters.suffix(triple: self.buildTriple))"
364364
}
365365
}
366366

Sources/Build/BuildOperation.swift

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,11 @@
1111
//===----------------------------------------------------------------------===//
1212

1313
import Basics
14-
15-
import Build
16-
1714
import LLBuildManifest
18-
19-
@_spi(SwiftPMInternal)
2015
import PackageGraph
21-
2216
import PackageLoading
2317
import PackageModel
24-
2518
import SPMBuildCore
26-
2719
import SPMLLBuild
2820
import Foundation
2921

@@ -529,7 +521,7 @@ package final class BuildOperation: PackageStructureDelegate, SPMBuildCore.Build
529521
let graph = try getPackageGraph()
530522
if let result = subset.llbuildTargetName(
531523
for: graph,
532-
config: self.productsBuildParameters.configuration.dirname,
524+
buildParameters: self.productsBuildParameters,
533525
observabilityScope: self.observabilityScope
534526
) {
535527
return result
@@ -910,9 +902,11 @@ extension BuildSubset {
910902
}
911903

912904
/// Returns the name of the llbuild target that corresponds to the build subset.
913-
func llbuildTargetName(for graph: ModulesGraph, config: String, observabilityScope: ObservabilityScope)
914-
-> String?
915-
{
905+
func llbuildTargetName(
906+
for graph: ModulesGraph,
907+
buildParameters: BuildParameters,
908+
observabilityScope: ObservabilityScope
909+
) -> String? {
916910
switch self {
917911
case .allExcludingTests:
918912
return LLBuildManifestBuilder.TargetKind.main.targetName
@@ -933,14 +927,14 @@ extension BuildSubset {
933927
return LLBuildManifestBuilder.TargetKind.main.targetName
934928
}
935929
return observabilityScope.trap {
936-
try product.getLLBuildTargetName(config: config)
930+
try product.getLLBuildTargetName(buildParameters: buildParameters)
937931
}
938932
case .target(let targetName):
939933
guard let target = graph.allTargets.first(where: { $0.name == targetName }) else {
940934
observabilityScope.emit(error: "no target named '\(targetName)'")
941935
return nil
942936
}
943-
return target.getLLBuildTargetName(config: config)
937+
return target.getLLBuildTargetName(buildParameters: buildParameters)
944938
}
945939
}
946940
}

Sources/Build/BuildPlan/BuildPlan+Test.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ extension BuildPlan {
2828
static func makeDerivedTestTargets(
2929
destinationBuildParameters: BuildParameters,
3030
toolsBuildParameters: BuildParameters,
31-
_ graph: PackageGraph,
31+
_ graph: ModulesGraph,
3232
shouldDisableSandbox: Bool,
3333
_ fileSystem: FileSystem,
3434
_ observabilityScope: ObservabilityScope

Sources/Commands/PackageCommands/PluginCommand.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import SPMBuildCore
1919

2020
import Dispatch
2121

22-
@_spi(SwiftPMInternal)
2322
import PackageGraph
2423

2524
import PackageModel
@@ -325,7 +324,7 @@ struct PluginCommand: SwiftCommand {
325324
var buildToolsGraph = packageGraph
326325
try buildToolsGraph.updateBuildTripleRecursively(.tools)
327326

328-
let buildParameters = try swiftTool.toolsBuildParameters
327+
let buildParameters = try swiftCommandState.toolsBuildParameters
329328
// Build or bring up-to-date any executable host-side tools on which this plugin depends. Add them and any binary dependencies to the tool-names-to-path map.
330329
let buildSystem = try swiftCommandState.createBuildSystem(
331330
explicitBuildSystem: .native,
@@ -339,7 +338,7 @@ struct PluginCommand: SwiftCommand {
339338

340339
let accessibleTools = try plugin.processAccessibleTools(
341340
packageGraph: buildToolsGraph,
342-
fileSystem: swiftTool.fileSystem,
341+
fileSystem: swiftCommandState.fileSystem,
343342
environment: buildParameters.buildEnvironment,
344343
for: try pluginScriptRunner.hostTriple
345344
) { name, _ in

Sources/Commands/Utilities/PluginDelegate.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ final class PluginDelegate: PluginInvocationDelegate {
239239
let testEnvironment = try TestingSupport.constructTestEnvironment(
240240
toolchain: toolchain,
241241
destinationBuildParameters: toolsBuildParameters,
242-
sanitizers: swiftTool.options.build.sanitizers
242+
sanitizers: swiftCommandState.options.build.sanitizers
243243
)
244244

245245
// Iterate over the tests and run those that match the filter.

Sources/PackageGraph/ModulesGraph.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,8 +213,7 @@ public struct ModulesGraph {
213213
self.allProducts = allProducts
214214
}
215215

216-
@_spi(SwiftPMInternal)
217-
public mutating func updateBuildTripleRecursively(_ buildTriple: BuildTriple) throws {
216+
package mutating func updateBuildTripleRecursively(_ buildTriple: BuildTriple) throws {
218217
self.reachableTargets = IdentifiableSet(self.reachableTargets.map {
219218
var target = $0
220219
target.buildTriple = buildTriple

Sources/SPMBuildCore/BuildParameters/BuildParameters.swift

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ public struct BuildParameters: Encodable {
248248

249249
/// Returns the path to the binary of a product for the current build parameters, relative to the build directory.
250250
public func binaryRelativePath(for product: ResolvedProduct) throws -> RelativePath {
251-
let potentialExecutablePath = try RelativePath(validating: "\(product.name)\(product.buildTriple.suffix)\(self.triple.executableExtension)")
251+
let potentialExecutablePath = try RelativePath(validating: "\(product.name)\(self.suffix(triple: product.buildTriple))\(self.triple.executableExtension)")
252252

253253
switch product.type {
254254
case .executable, .snippet:
@@ -330,11 +330,10 @@ extension Triple {
330330
}
331331
}
332332

333-
extension BuildTriple {
333+
extension BuildParameters {
334334
/// Suffix appended to build manifest nodes to distinguish nodes created for tools from nodes created for
335335
/// end products, i.e. nodes for host vs target triples.
336-
@_spi(SwiftPMInternal)
337-
public var suffix: String {
338-
if self == .tools { "-tool" } else { "" }
336+
package func suffix(triple: BuildTriple) -> String {
337+
if triple == .tools { "-tool" } else { "" }
339338
}
340339
}

Sources/SPMTestSupport/MockBuildTestHelper.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ package let defaultTargetTriple: String = hostTriple.tripleString(forPlatformVer
7373
package let defaultTargetTriple: String = hostTriple.tripleString
7474
#endif
7575

76-
public func mockBuildParameters(
76+
package func mockBuildParameters(
7777
buildPath: AbsolutePath? = nil,
7878
config: BuildConfiguration = .debug,
7979
toolchain: PackageModel.Toolchain = MockToolchain(),

0 commit comments

Comments
 (0)