Skip to content

Commit 781e490

Browse files
committed
Remove unused ManagedDependency property subpath
1 parent 2f79ea2 commit 781e490

File tree

4 files changed

+29
-64
lines changed

4 files changed

+29
-64
lines changed

Sources/Workspace/ManagedDependency.swift

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -54,16 +54,11 @@ extension Workspace {
5454
return false
5555
}
5656

57-
/// The checked out path of the dependency on disk, relative to the workspace checkouts path.
58-
public let subpath: RelativePath
59-
6057
internal init(
6158
packageRef: PackageReference,
62-
state: State,
63-
subpath: RelativePath
59+
state: State
6460
) {
6561
self.packageRef = packageRef
66-
self.subpath = subpath
6762
self.state = state
6863
}
6964

@@ -73,8 +68,8 @@ extension Workspace {
7368
/// - Parameters:
7469
/// - subpath: The subpath inside the editable directory.
7570
/// - unmanagedPath: A custom absolute path instead of the subpath.
76-
public func edited(subpath: RelativePath, unmanagedPath: AbsolutePath?) -> ManagedDependency {
77-
return .edited(packageRef: self.packageRef, subpath: subpath, basedOn: self, unmanagedPath: unmanagedPath)
71+
public func edited(unmanagedPath: AbsolutePath?) -> ManagedDependency {
72+
return .edited(packageRef: self.packageRef, basedOn: self, unmanagedPath: unmanagedPath)
7873
}
7974

8075
/// Create a dependency present locally on the filesystem.
@@ -83,36 +78,30 @@ extension Workspace {
8378
) -> ManagedDependency {
8479
return ManagedDependency(
8580
packageRef: packageRef,
86-
state: .local,
87-
// FIXME: This is just a fake entry, we should fix it.
88-
subpath: RelativePath(packageRef.identity.description)
81+
state: .local
8982
)
9083
}
9184

9285
/// Create a remote dependency checked out
9386
public static func remote(
9487
packageRef: PackageReference,
95-
state: CheckoutState,
96-
subpath: RelativePath
88+
state: CheckoutState
9789
) -> ManagedDependency {
9890
return ManagedDependency(
9991
packageRef: packageRef,
100-
state: .checkout(state),
101-
subpath: subpath
92+
state: .checkout(state)
10293
)
10394
}
10495

10596
/// Create an edited dependency
10697
public static func edited(
10798
packageRef: PackageReference,
108-
subpath: RelativePath,
10999
basedOn: ManagedDependency?,
110100
unmanagedPath: AbsolutePath?
111101
) -> ManagedDependency {
112102
return ManagedDependency(
113103
packageRef: packageRef,
114-
state: .edited(basedOn: basedOn, unmanagedPath: unmanagedPath),
115-
subpath: subpath
104+
state: .edited(basedOn: basedOn, unmanagedPath: unmanagedPath)
116105
)
117106
}
118107
}

Sources/Workspace/Workspace.swift

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1118,7 +1118,7 @@ extension Workspace {
11181118

11191119
// Save the new state.
11201120
self.state.dependencies.add(
1121-
dependency.edited(subpath: RelativePath(packageName), unmanagedPath: path)
1121+
dependency.edited(unmanagedPath: path)
11221122
)
11231123
try self.state.save()
11241124
}
@@ -2745,8 +2745,7 @@ extension Workspace {
27452745
// Write the state record.
27462746
self.state.dependencies.add(.remote(
27472747
packageRef: package,
2748-
state: checkoutState,
2749-
subpath: path.relative(to: self.location.repositoriesCheckoutsDirectory)
2748+
state: checkoutState
27502749
))
27512750
try self.state.save()
27522751

@@ -2825,7 +2824,6 @@ extension Workspace {
28252824
dependencyToRemove = basedOn
28262825
let updatedDependency = Workspace.ManagedDependency.edited(
28272826
packageRef: dependency.packageRef,
2828-
subpath: dependency.subpath,
28292827
basedOn: .none,
28302828
unmanagedPath: unmanagedPath
28312829
)

Sources/Workspace/WorkspaceState.swift

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -159,24 +159,20 @@ fileprivate struct WorkspaceStateStorage {
159159
struct Dependency: Codable {
160160
let packageRef: PackageReference
161161
let state: State
162-
let subpath: String
163162

164-
init(packageRef: PackageReference, state: State, subpath: String) {
163+
init(packageRef: PackageReference, state: State) {
165164
self.packageRef = packageRef
166165
self.state = state
167-
self.subpath = subpath
168166
}
169167

170168
init(_ dependency: Workspace.ManagedDependency) {
171169
self.packageRef = .init(dependency.packageRef)
172170
self.state = .init(underlying: dependency.state)
173-
self.subpath = dependency.subpath.pathString
174171
}
175172

176173
init(from decoder: Decoder) throws {
177174
let container = try decoder.container(keyedBy: CodingKeys.self)
178175
let packageRef = try container.decode(PackageReference.self, forKey: .packageRef)
179-
let subpath = try container.decode(String.self, forKey: .subpath)
180176
let basedOn = try container.decode(Dependency?.self, forKey: .basedOn)
181177
let state = try State.decode(
182178
container: container.nestedContainer(keyedBy: State.CodingKeys.self, forKey: .state),
@@ -185,17 +181,14 @@ fileprivate struct WorkspaceStateStorage {
185181

186182
self.init(
187183
packageRef: packageRef,
188-
state: state,
189-
subpath: subpath
184+
state: state
190185
)
191-
192186
}
193187

194188
func encode(to encoder: Encoder) throws {
195189
var container = encoder.container(keyedBy: CodingKeys.self)
196190
try container.encode(self.packageRef, forKey: .packageRef)
197191
try container.encode(self.state, forKey: .state)
198-
try container.encode(self.subpath, forKey: .subpath)
199192
var basedOn: Dependency? = .none
200193
if case .edited(let _basedOn, _) = self.state.underlying {
201194
basedOn = _basedOn.map { .init($0) }
@@ -354,8 +347,7 @@ extension Workspace.ManagedDependency {
354347
fileprivate init(_ dependency: WorkspaceStateStorage.V4.Dependency) {
355348
self.init(
356349
packageRef: .init(dependency.packageRef),
357-
state: dependency.state.underlying,
358-
subpath: RelativePath(dependency.subpath)
350+
state: dependency.state.underlying
359351
)
360352
}
361353
}

Tests/WorkspaceTests/WorkspaceTests.swift

Lines changed: 17 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -790,7 +790,6 @@ final class WorkspaceTests: XCTestCase {
790790
func testPrecomputeResolution_empty() throws {
791791
let sandbox = AbsolutePath("/tmp/ws/")
792792
let fs = InMemoryFileSystem()
793-
let bPath = RelativePath("B")
794793
let v1_5 = CheckoutState.version("1.0.5", revision: Revision(identifier: "hello"))
795794
let v2 = CheckoutState.version("2.0.0", revision: Revision(identifier: "hello"))
796795

@@ -815,8 +814,8 @@ final class WorkspaceTests: XCTestCase {
815814
try workspace.set(
816815
pins: [bRef: v1_5, cRef: v2],
817816
managedDependencies: [
818-
.remote(packageRef: bRef, state: v1_5, subpath: bPath)
819-
.edited(subpath: bPath, unmanagedPath: .none),
817+
.remote(packageRef: bRef, state: v1_5)
818+
.edited(unmanagedPath: .none),
820819
]
821820
)
822821

@@ -829,7 +828,6 @@ final class WorkspaceTests: XCTestCase {
829828
func testPrecomputeResolution_newPackages() throws {
830829
let sandbox = AbsolutePath("/tmp/ws/")
831830
let fs = InMemoryFileSystem()
832-
let bPath = RelativePath("B")
833831
let v1Requirement: MockDependency.Requirement = .range("1.0.0" ..< "2.0.0")
834832
let v1 = CheckoutState.version("1.0.0", revision: Revision(identifier: "hello"))
835833

@@ -871,7 +869,7 @@ final class WorkspaceTests: XCTestCase {
871869
try workspace.set(
872870
pins: [bRef: v1],
873871
managedDependencies: [
874-
.remote(packageRef: bRef, state: v1, subpath: bPath),
872+
.remote(packageRef: bRef, state: v1),
875873
]
876874
)
877875

@@ -884,8 +882,6 @@ final class WorkspaceTests: XCTestCase {
884882
func testPrecomputeResolution_requirementChange_versionToBranch() throws {
885883
let sandbox = AbsolutePath("/tmp/ws/")
886884
let fs = InMemoryFileSystem()
887-
let bPath = RelativePath("B")
888-
let cPath = RelativePath("C")
889885
let v1Requirement: MockDependency.Requirement = .range("1.0.0" ..< "2.0.0")
890886
let branchRequirement: MockDependency.Requirement = .branch("master")
891887
let v1_5 = CheckoutState.version("1.0.5", revision: Revision(identifier: "hello"))
@@ -928,8 +924,8 @@ final class WorkspaceTests: XCTestCase {
928924
try workspace.set(
929925
pins: [bRef: v1_5, cRef: v1_5],
930926
managedDependencies: [
931-
.remote(packageRef: bRef, state: v1_5, subpath: bPath),
932-
.remote(packageRef: cRef, state: v1_5, subpath: cPath),
927+
.remote(packageRef: bRef, state: v1_5),
928+
.remote(packageRef: cRef, state: v1_5),
933929
]
934930
)
935931

@@ -946,7 +942,6 @@ final class WorkspaceTests: XCTestCase {
946942
func testPrecomputeResolution_requirementChange_versionToRevision() throws {
947943
let sandbox = AbsolutePath("/tmp/ws/")
948944
let fs = InMemoryFileSystem()
949-
let cPath = RelativePath("C")
950945
let v1_5 = CheckoutState.version("1.0.5", revision: Revision(identifier: "hello"))
951946

952947
let testWorkspace = try MockWorkspace(
@@ -978,7 +973,7 @@ final class WorkspaceTests: XCTestCase {
978973
try testWorkspace.set(
979974
pins: [cRef: v1_5],
980975
managedDependencies: [
981-
.remote(packageRef: cRef, state: v1_5, subpath: cPath),
976+
.remote(packageRef: cRef, state: v1_5),
982977
]
983978
)
984979

@@ -995,7 +990,6 @@ final class WorkspaceTests: XCTestCase {
995990
func testPrecomputeResolution_requirementChange_localToBranch() throws {
996991
let sandbox = AbsolutePath("/tmp/ws/")
997992
let fs = InMemoryFileSystem()
998-
let bPath = RelativePath("B")
999993
let v1Requirement: MockDependency.Requirement = .range("1.0.0" ..< "2.0.0")
1000994
let masterRequirement: MockDependency.Requirement = .branch("master")
1001995
let v1_5 = CheckoutState.version("1.0.5", revision: Revision(identifier: "hello"))
@@ -1038,7 +1032,7 @@ final class WorkspaceTests: XCTestCase {
10381032
try workspace.set(
10391033
pins: [bRef: v1_5],
10401034
managedDependencies: [
1041-
.remote(packageRef: bRef, state: v1_5, subpath: bPath),
1035+
.remote(packageRef: bRef, state: v1_5),
10421036
.local(packageRef: cRef),
10431037
]
10441038
)
@@ -1056,8 +1050,6 @@ final class WorkspaceTests: XCTestCase {
10561050
func testPrecomputeResolution_requirementChange_versionToLocal() throws {
10571051
let sandbox = AbsolutePath("/tmp/ws/")
10581052
let fs = InMemoryFileSystem()
1059-
let bPath = RelativePath("B")
1060-
let cPath = RelativePath("C")
10611053
let v1Requirement: MockDependency.Requirement = .range("1.0.0" ..< "2.0.0")
10621054
//let localRequirement: MockDependency.Requirement = .localPackage
10631055
let v1_5 = CheckoutState.version("1.0.5", revision: Revision(identifier: "hello"))
@@ -1100,8 +1092,8 @@ final class WorkspaceTests: XCTestCase {
11001092
try workspace.set(
11011093
pins: [bRef: v1_5, cRef: v1_5],
11021094
managedDependencies: [
1103-
.remote(packageRef: bRef, state: v1_5, subpath: bPath),
1104-
.remote(packageRef: cRef, state: v1_5, subpath: cPath),
1095+
.remote(packageRef: bRef, state: v1_5),
1096+
.remote(packageRef: cRef, state: v1_5),
11051097
]
11061098
)
11071099

@@ -1118,8 +1110,6 @@ final class WorkspaceTests: XCTestCase {
11181110
func testPrecomputeResolution_requirementChange_branchToLocal() throws {
11191111
let sandbox = AbsolutePath("/tmp/ws/")
11201112
let fs = InMemoryFileSystem()
1121-
let bPath = RelativePath("B")
1122-
let cPath = RelativePath("C")
11231113
let v1Requirement: MockDependency.Requirement = .range("1.0.0" ..< "2.0.0")
11241114
//let localRequirement: MockDependency.Requirement = .localPackage
11251115
let v1_5 = CheckoutState.version("1.0.5", revision: Revision(identifier: "hello"))
@@ -1163,8 +1153,8 @@ final class WorkspaceTests: XCTestCase {
11631153
try workspace.set(
11641154
pins: [bRef: v1_5, cRef: master],
11651155
managedDependencies: [
1166-
.remote(packageRef: bRef, state: v1_5, subpath: bPath),
1167-
.remote(packageRef: cRef, state: master, subpath: cPath),
1156+
.remote(packageRef: bRef, state: v1_5),
1157+
.remote(packageRef: cRef, state: master),
11681158
]
11691159
)
11701160

@@ -1181,8 +1171,6 @@ final class WorkspaceTests: XCTestCase {
11811171
func testPrecomputeResolution_other() throws {
11821172
let sandbox = AbsolutePath("/tmp/ws/")
11831173
let fs = InMemoryFileSystem()
1184-
let bPath = RelativePath("B")
1185-
let cPath = RelativePath("C")
11861174
let v1Requirement: MockDependency.Requirement = .range("1.0.0" ..< "2.0.0")
11871175
let v2Requirement: MockDependency.Requirement = .range("2.0.0" ..< "3.0.0")
11881176
let v1_5 = CheckoutState.version("1.0.5", revision: Revision(identifier: "hello"))
@@ -1225,8 +1213,8 @@ final class WorkspaceTests: XCTestCase {
12251213
try workspace.set(
12261214
pins: [bRef: v1_5, cRef: v1_5],
12271215
managedDependencies: [
1228-
.remote(packageRef: bRef, state: v1_5, subpath: bPath),
1229-
.remote(packageRef: cRef, state: v1_5, subpath: cPath),
1216+
.remote(packageRef: bRef, state: v1_5),
1217+
.remote(packageRef: cRef, state: v1_5),
12301218
]
12311219
)
12321220

@@ -1239,8 +1227,6 @@ final class WorkspaceTests: XCTestCase {
12391227
func testPrecomputeResolution_notRequired() throws {
12401228
let sandbox = AbsolutePath("/tmp/ws/")
12411229
let fs = InMemoryFileSystem()
1242-
let bPath = RelativePath("B")
1243-
let cPath = RelativePath("C")
12441230
let v1Requirement: MockDependency.Requirement = .range("1.0.0" ..< "2.0.0")
12451231
let v2Requirement: MockDependency.Requirement = .range("2.0.0" ..< "3.0.0")
12461232
let v1_5 = CheckoutState.version("1.0.5", revision: Revision(identifier: "hello"))
@@ -1284,8 +1270,8 @@ final class WorkspaceTests: XCTestCase {
12841270
try workspace.set(
12851271
pins: [bRef: v1_5, cRef: v2],
12861272
managedDependencies: [
1287-
.remote(packageRef: bRef, state: v1_5, subpath: bPath),
1288-
.remote(packageRef: cRef, state: v2, subpath: cPath),
1273+
.remote(packageRef: bRef, state: v1_5),
1274+
.remote(packageRef: cRef, state: v2),
12891275
]
12901276
)
12911277

@@ -5015,7 +5001,7 @@ final class WorkspaceTests: XCTestCase {
50155001
let aRepo = workspace.repoProvider.specifierMap[RepositorySpecifier(url: aURL)]!
50165002
let aRevision = try aRepo.resolveRevision(tag: "1.0.0")
50175003
let aState = CheckoutState.version("1.0.0", revision: aRevision)
5018-
let aDependency: Workspace.ManagedDependency = .remote(packageRef: aRef, state: aState, subpath: RelativePath("A"))
5004+
let aDependency: Workspace.ManagedDependency = .remote(packageRef: aRef, state: aState)
50195005

50205006
try workspace.set(
50215007
pins: [aRef: aState],
@@ -5425,7 +5411,7 @@ final class WorkspaceTests: XCTestCase {
54255411
let aRepo = workspace.repoProvider.specifierMap[RepositorySpecifier(url: aURL)]!
54265412
let aRevision = try aRepo.resolveRevision(tag: "1.0.0")
54275413
let aState = CheckoutState.version("1.0.0", revision: aRevision)
5428-
let aDependency: Workspace.ManagedDependency = .remote(packageRef: aRef, state: aState, subpath: RelativePath("A"))
5414+
let aDependency: Workspace.ManagedDependency = .remote(packageRef: aRef, state: aState)
54295415

54305416
try workspace.set(
54315417
pins: [aRef: aState],

0 commit comments

Comments
 (0)