Skip to content

Commit 841fad7

Browse files
authored
Merge pull request #12 from g-Off/fix-version-parsing
adds Version library to fix parsing of `-alpha.1` type versions
2 parents 3185d17 + 1906885 commit 841fad7

File tree

3 files changed

+9
-30
lines changed

3 files changed

+9
-30
lines changed

Package.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,13 @@ let package = Package(
1313
targets: ["XcodeProject"]),
1414
],
1515
dependencies: [
16-
.package(url: "https://github.com/g-Off/ObjectCoder.git", .exact("0.1.0"))
16+
.package(url: "https://github.com/g-Off/ObjectCoder.git", .exact("0.1.0")),
17+
.package(url: "https://github.com/mxcl/Version.git", from: "1.0.0")
1718
],
1819
targets: [
1920
.target(
2021
name: "XcodeProject",
21-
dependencies: ["ObjectCoder"]),
22+
dependencies: ["ObjectCoder", "Version"]),
2223
.testTarget(
2324
name: "XcodeProjectTests",
2425
dependencies: ["XcodeProject"]),

Sources/XcodeProject/Objects+Extensions/PBXReference+Extensions.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,11 @@ public extension PBXReference {
3636
return nil
3737
}
3838

39-
enum SortOption: String {
39+
enum SortOption: String, CustomStringConvertible, CaseIterable {
40+
public var description: String {
41+
return rawValue
42+
}
43+
4044
case name
4145
case type
4246

Sources/XcodeProject/Objects/Swift Package/XCRemoteSwiftPackageReference.swift

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
//
77

88
import Foundation
9+
import Version
910

1011
public final class XCRemoteSwiftPackageReference: XCSwiftPackageReference {
1112
public enum Requirement: Encodable {
@@ -17,33 +18,6 @@ public final class XCRemoteSwiftPackageReference: XCSwiftPackageReference {
1718
case branch
1819
case revision
1920
}
20-
21-
public struct Version: CustomStringConvertible, Encodable {
22-
let major: Int
23-
let minor: Int
24-
let patch: Int
25-
26-
public init(major: Int, minor: Int, patch: Int) {
27-
self.major = major
28-
self.minor = minor
29-
self.patch = patch
30-
}
31-
32-
init?(_ value: String) {
33-
var integerValues = value.components(separatedBy: ".").compactMap { Int($0) }
34-
guard integerValues.count == 3 else { return nil }
35-
self.init(major: integerValues.removeFirst(), minor: integerValues.removeFirst(), patch: integerValues.removeFirst())
36-
}
37-
38-
public var description: String {
39-
return "\(major).\(minor).\(patch)"
40-
}
41-
42-
public func encode(to encoder: Encoder) throws {
43-
var container = encoder.singleValueContainer()
44-
try container.encode(description)
45-
}
46-
}
4721

4822
public struct GitHash: Encodable, CustomStringConvertible {
4923
private var value: String

0 commit comments

Comments
 (0)