Skip to content

Commit d99c795

Browse files
authored
Merge pull request #588 from danger/use_version
2 parents 9c1d12c + db1e893 commit d99c795

File tree

3 files changed

+27
-19
lines changed

3 files changed

+27
-19
lines changed

Sources/DangerDependenciesResolver/InlineDependenciesFinder.swift

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
11
import Foundation
2+
import Version
23

34
struct InlineDependenciesFinder {
45
let fileReader: FileReading
56
let config: ScriptManager.Config
67

78
init(fileReader: FileReading = FileReader(),
8-
config: ScriptManager.Config) {
9+
config: ScriptManager.Config)
10+
{
911
self.fileReader = fileReader
1012
self.config = config
1113
}
1214

1315
func resolveInlineDependencies(fromPath path: String,
14-
dangerSwiftVersion: String) throws -> [InlineDependency] {
16+
dangerSwiftVersion: Version) throws -> [InlineDependency]
17+
{
1518
let lines = try fileReader.readText(atPath: path).components(separatedBy: .newlines)
1619

1720
var result: [InlineDependency] = [.dangerSwift(version: dangerSwiftVersion)]
@@ -37,7 +40,8 @@ struct InlineDependenciesFinder {
3740

3841
result.append(InlineDependency(url: url, major: majorVersion))
3942
} else if let firstCharacter = line.unicodeScalars.first,
40-
!CharacterSet.alphanumerics.contains(firstCharacter) {
43+
!CharacterSet.alphanumerics.contains(firstCharacter)
44+
{
4145
break
4246
}
4347
}
@@ -62,15 +66,11 @@ extension InlineDependenciesFinder {
6266
}
6367

6468
extension InlineDependenciesFinder.InlineDependency {
65-
static func dangerSwift(version: String) -> Self {
66-
let components = version.split(separator: ".")
67-
.compactMap { Int($0) }
68-
precondition(components.count == 3)
69-
70-
return .init(url: dangerSwiftRepoURL,
71-
major: components[0],
72-
minor: components[1],
73-
patch: components[2])
69+
static func dangerSwift(version: Version) -> Self {
70+
.init(url: dangerSwiftRepoURL,
71+
major: version.major,
72+
minor: version.minor,
73+
patch: version.patch)
7474
}
7575
}
7676

Sources/DangerDependenciesResolver/Script.swift

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import DangerShellExecutor
22
import Foundation
33
import Logger
4+
import Version
45

56
public struct ScriptManager {
67
public struct Config {
@@ -10,7 +11,8 @@ public struct ScriptManager {
1011

1112
public init(prefix: String = "package: ",
1213
file: String = "Dangerplugins",
13-
major: String = "~> ") {
14+
major: String = "~> ")
15+
{
1416
dependencyPrefix = prefix
1517
dependencyFile = file
1618
majorVersionPrefix = major
@@ -22,6 +24,7 @@ public struct ScriptManager {
2224
case invalidInlineDependencyURL(String)
2325
case failedToAddDependencyScript(String)
2426
case scriptNotFound(String)
27+
case invalidDangerSwiftVersion
2528
}
2629

2730
private let config = Config()
@@ -36,7 +39,8 @@ public struct ScriptManager {
3639
public init(folder: String,
3740
dangerSwiftVersion: String,
3841
packageManager: PackageManager,
39-
logger: Logger) throws {
42+
logger: Logger) throws
43+
{
4044
self.dangerSwiftVersion = dangerSwiftVersion
4145
self.folder = folder
4246
self.logger = logger
@@ -56,6 +60,10 @@ public struct ScriptManager {
5660
}
5761

5862
private func script(fromPath path: String) throws -> Script {
63+
guard let dangerSwiftVersion = Version(dangerSwiftVersion) else {
64+
throw Errors.invalidDangerSwiftVersion
65+
}
66+
5967
let identifier = scriptIdentifier(fromPath: path)
6068
let folder = try createFolderIfNeededForScript(withIdentifier: identifier, filePath: path)
6169
let script = Script(name: path.nameExcludingExtension, folder: folder, logger: logger)
@@ -95,9 +103,9 @@ public struct ScriptManager {
95103

96104
let moduleFolder = try sourcesFolder.createSubfolder(withName: filePath.nameExcludingExtension)
97105

98-
FileManager.default.createFile(atPath: moduleFolder.appendingPath("main.swift"),
99-
contents: Data(try String(contentsOfFile: filePath).utf8),
100-
attributes: [:])
106+
try FileManager.default.createFile(atPath: moduleFolder.appendingPath("main.swift"),
107+
contents: Data(String(contentsOfFile: filePath).utf8),
108+
attributes: [:])
101109

102110
return scriptFolder
103111
}
@@ -215,7 +223,8 @@ public final class Script {
215223
func executeSwiftCommand(_ command: String,
216224
onFolder folder: String? = nil,
217225
arguments: [String] = [],
218-
executor: ShellExecutor) throws -> String {
226+
executor: ShellExecutor) throws -> String
227+
{
219228
func resolveSwiftPath() -> String {
220229
#if os(Linux)
221230
return "swift"

Sources/Runner/Commands/Edit.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ func editDanger(version dangerSwiftVersion: String, logger: Logger) throws {
3232
separator: "\n")
3333
exit(1)
3434
}
35-
3635
absoluteLibPath = libPath.fullPath
3736
libsImport = ["-l Danger"]
3837
}

0 commit comments

Comments
 (0)