Skip to content

Commit c126c6d

Browse files
authored
make registry dependencies available in 5.7 (#4244)
motivation: make experimental use of registry easier changes: * make registry based dependencies available in 5.7 * move the relevant tests to the 5.7 suite
1 parent d47f2e4 commit c126c6d

File tree

3 files changed

+32
-32
lines changed

3 files changed

+32
-32
lines changed

Sources/PackageDescription/PackageDependency.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ extension Package.Dependency {
495495
/// - Parameters:
496496
/// - id: The identity of the package.
497497
/// - version: The minimum version requirement.
498-
@available(_PackageDescription, introduced: 999)
498+
@available(_PackageDescription, introduced: 5.7)
499499
public static func package(
500500
id: String,
501501
from version: Version
@@ -519,7 +519,7 @@ extension Package.Dependency {
519519
/// - Parameters:
520520
/// - id: The identity of the package.
521521
/// - version: The minimum version requirement.
522-
@available(_PackageDescription, introduced: 999)
522+
@available(_PackageDescription, introduced: 5.7)
523523
public static func package(
524524
id: String,
525525
exact version: Version
@@ -548,7 +548,7 @@ extension Package.Dependency {
548548
/// - Parameters:
549549
/// - id: The identity of the package.
550550
/// - range: The custom version range requirement.
551-
@available(_PackageDescription, introduced: 999)
551+
@available(_PackageDescription, introduced: 5.7)
552552
public static func package(
553553
id: String,
554554
_ range: Range<Version>
@@ -567,7 +567,7 @@ extension Package.Dependency {
567567
/// - Parameters:
568568
/// - id: The identity of the package.
569569
/// - range: The closed version range requirement.
570-
@available(_PackageDescription, introduced: 999)
570+
@available(_PackageDescription, introduced: 5.7)
571571
public static func package(
572572
id: String,
573573
_ range: ClosedRange<Version>
@@ -582,7 +582,7 @@ extension Package.Dependency {
582582
}
583583

584584
// intentionally private to hide enum detail
585-
@available(_PackageDescription, introduced: 999)
585+
@available(_PackageDescription, introduced: 5.7)
586586
private static func package(
587587
id: String,
588588
requirement: Package.Dependency.RegistryRequirement

Tests/PackageLoadingTests/PD_5_7_LoadingTests .swift

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,33 @@ class PackageDescription5_7LoadingTests: PackageDescriptionLoadingTests {
2222
.v5_7
2323
}
2424

25+
func testRegistryDependencies() throws {
26+
let content = """
27+
import PackageDescription
28+
let package = Package(
29+
name: "MyPackage",
30+
dependencies: [
31+
.package(id: "x.foo", from: "1.1.1"),
32+
.package(id: "x.bar", exact: "1.1.1"),
33+
.package(id: "x.baz", .upToNextMajor(from: "1.1.1")),
34+
.package(id: "x.qux", .upToNextMinor(from: "1.1.1")),
35+
.package(id: "x.quux", "1.1.1" ..< "3.0.0"),
36+
]
37+
)
38+
"""
39+
40+
let observability = ObservabilitySystem.makeForTesting()
41+
let manifest = try loadManifest(content, observabilityScope: observability.topScope)
42+
XCTAssertNoDiagnostics(observability.diagnostics)
43+
44+
let deps = Dictionary(uniqueKeysWithValues: manifest.dependencies.map{ ($0.identity.description, $0) })
45+
XCTAssertEqual(deps["x.foo"], .registry(identity: "x.foo", requirement: .range("1.1.1" ..< "2.0.0")))
46+
XCTAssertEqual(deps["x.bar"], .registry(identity: "x.bar", requirement: .exact("1.1.1")))
47+
XCTAssertEqual(deps["x.baz"], .registry(identity: "x.baz", requirement: .range("1.1.1" ..< "2.0.0")))
48+
XCTAssertEqual(deps["x.qux"], .registry(identity: "x.qux", requirement: .range("1.1.1" ..< "1.2.0")))
49+
XCTAssertEqual(deps["x.quux"], .registry(identity: "x.quux", requirement: .range("1.1.1" ..< "3.0.0")))
50+
}
51+
2552
func testConditionalTargetDependencies() throws {
2653
let content = """
2754
import PackageDescription

Tests/PackageLoadingTests/PD_Next_LoadingTests.swift

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -19,31 +19,4 @@ class PackageDescriptionNextLoadingTests: PackageDescriptionLoadingTests {
1919
override var toolsVersion: ToolsVersion {
2020
.vNext
2121
}
22-
23-
func testRegistryDependencies() throws {
24-
let content = """
25-
import PackageDescription
26-
let package = Package(
27-
name: "MyPackage",
28-
dependencies: [
29-
.package(id: "x.foo", from: "1.1.1"),
30-
.package(id: "x.bar", exact: "1.1.1"),
31-
.package(id: "x.baz", .upToNextMajor(from: "1.1.1")),
32-
.package(id: "x.qux", .upToNextMinor(from: "1.1.1")),
33-
.package(id: "x.quux", "1.1.1" ..< "3.0.0"),
34-
]
35-
)
36-
"""
37-
38-
let observability = ObservabilitySystem.makeForTesting()
39-
let manifest = try loadManifest(content, observabilityScope: observability.topScope)
40-
XCTAssertNoDiagnostics(observability.diagnostics)
41-
42-
let deps = Dictionary(uniqueKeysWithValues: manifest.dependencies.map{ ($0.identity.description, $0) })
43-
XCTAssertEqual(deps["x.foo"], .registry(identity: "x.foo", requirement: .range("1.1.1" ..< "2.0.0")))
44-
XCTAssertEqual(deps["x.bar"], .registry(identity: "x.bar", requirement: .exact("1.1.1")))
45-
XCTAssertEqual(deps["x.baz"], .registry(identity: "x.baz", requirement: .range("1.1.1" ..< "2.0.0")))
46-
XCTAssertEqual(deps["x.qux"], .registry(identity: "x.qux", requirement: .range("1.1.1" ..< "1.2.0")))
47-
XCTAssertEqual(deps["x.quux"], .registry(identity: "x.quux", requirement: .range("1.1.1" ..< "3.0.0")))
48-
}
4922
}

0 commit comments

Comments
 (0)