diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml
new file mode 100644
index 0000000..d421623
--- /dev/null
+++ b/.github/workflows/swift.yml
@@ -0,0 +1,16 @@
+name: CI
+
+on: [pull_request]
+
+jobs:
+ build:
+ runs-on: macos-11
+ steps:
+ - uses: actions/checkout@v2
+ - run: gem install bundler
+ - run: bundle install
+ - run: npm install -g danger
+ - run: set -o pipefail env NSUnbufferedIO=YES xcodebuild -scheme DangerSwiftCoverage-Package -destination 'platform=macOS' -clonedSourcePackagesDirPath ~/.build -enableCodeCoverage YES -derivedDataPath build/ build test | XCPRETTY_JSON_FILE_OUTPUT=result.json xcpretty -f `xcpretty-json-formatter`
+ - run: DEBUG="*" swift run danger-swift ci
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..919434a
--- /dev/null
+++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/.swiftpm/xcode/package.xcworkspace/xcuserdata/franco.xcuserdatad/UserInterfaceState.xcuserstate b/.swiftpm/xcode/package.xcworkspace/xcuserdata/franco.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 0000000..2700ac6
Binary files /dev/null and b/.swiftpm/xcode/package.xcworkspace/xcuserdata/franco.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/.swiftpm/xcode/xcuserdata/franco.xcuserdatad/xcschemes/xcschememanagement.plist b/.swiftpm/xcode/xcuserdata/franco.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 0000000..e4a732d
--- /dev/null
+++ b/.swiftpm/xcode/xcuserdata/franco.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,66 @@
+
+
+
+
+ SchemeUserState
+
+ DangerDeps.xcscheme_^#shared#^_
+
+ orderHint
+ 1
+
+ DangerSwiftCoverage-Package.xcscheme_^#shared#^_
+
+ orderHint
+ 0
+
+ DangerSwiftCoverage.xcscheme_^#shared#^_
+
+ orderHint
+ 2
+
+ SWXMLHashPlayground (Playground) 1.xcscheme
+
+ isShown
+
+ orderHint
+ 5
+
+ SWXMLHashPlayground (Playground) 2.xcscheme
+
+ isShown
+
+ orderHint
+ 6
+
+ SWXMLHashPlayground (Playground).xcscheme
+
+ isShown
+
+ orderHint
+ 4
+
+ Test area (Playground) 1.xcscheme
+
+ isShown
+
+ orderHint
+ 8
+
+ Test area (Playground) 2.xcscheme
+
+ isShown
+
+ orderHint
+ 9
+
+ Test area (Playground).xcscheme
+
+ isShown
+
+ orderHint
+ 7
+
+
+
+
diff --git a/Package.resolved b/Package.resolved
index b8eecb2..3cb97f3 100644
--- a/Package.resolved
+++ b/Package.resolved
@@ -1,40 +1,13 @@
{
"object": {
"pins": [
- {
- "package": "Commandant",
- "repositoryURL": "https://github.com/Carthage/Commandant.git",
- "state": {
- "branch": null,
- "revision": "ab68611013dec67413628ac87c1f29e8427bc8e4",
- "version": "0.17.0"
- }
- },
- {
- "package": "CwlCatchException",
- "repositoryURL": "https://github.com/mattgallagher/CwlCatchException.git",
- "state": {
- "branch": null,
- "revision": "7cd2f8cacc4d22f21bc0b2309c3b18acf7957b66",
- "version": "1.2.0"
- }
- },
- {
- "package": "CwlPreconditionTesting",
- "repositoryURL": "https://github.com/mattgallagher/CwlPreconditionTesting.git",
- "state": {
- "branch": null,
- "revision": "c228db5d2ad1b01ebc84435e823e6cca4e3db98b",
- "version": "1.2.0"
- }
- },
{
"package": "DangerXCodeSummary",
"repositoryURL": "https://github.com/f-meloni/danger-swift-xcodesummary",
"state": {
"branch": null,
- "revision": "742e2854a1693ddb7f511ca7a4e6206b12103b20",
- "version": "1.1.0"
+ "revision": "289d5136cead3d4b1eae509acc3f0b044252fc6c",
+ "version": "1.2.1"
}
},
{
@@ -42,8 +15,8 @@
"repositoryURL": "https://github.com/orta/Komondor",
"state": {
"branch": null,
- "revision": "3cd6d76887816ead5931ddbfb249c2935f518e17",
- "version": "1.0.4"
+ "revision": "7c3c6040c01c99b83afc7eaa8f2a8a69337f659a",
+ "version": "1.1.1"
}
},
{
@@ -55,40 +28,22 @@
"version": "0.2.3"
}
},
- {
- "package": "Nimble",
- "repositoryURL": "https://github.com/Quick/Nimble.git",
- "state": {
- "branch": null,
- "revision": "b02b00b30b6353632aa4a5fb6124f8147f7140c0",
- "version": "8.0.5"
- }
- },
{
"package": "OctoKit",
"repositoryURL": "https://github.com/nerdishbynature/octokit.swift",
"state": {
"branch": null,
- "revision": "9ad4d6eff94ad1d9873d3b410a47c663c820d4bd",
- "version": "0.10.0"
+ "revision": "9521cdff919053868ab13cd08a228f7bc1bde2a9",
+ "version": "0.11.0"
}
},
{
"package": "PackageConfig",
- "repositoryURL": "https://github.com/shibapm/PackageConfig",
- "state": {
- "branch": null,
- "revision": "bf90dc69fa0792894b08a0b74cf34029694ae486",
- "version": "0.13.0"
- }
- },
- {
- "package": "Quick",
- "repositoryURL": "https://github.com/Quick/Quick.git",
+ "repositoryURL": "https://github.com/shibapm/PackageConfig.git",
"state": {
"branch": null,
- "revision": "33682c2f6230c60614861dfc61df267e11a1602f",
- "version": "2.2.0"
+ "revision": "84d4d70de31a797ca54abee47816cdafba36d290",
+ "version": "1.0.2"
}
},
{
@@ -105,8 +60,8 @@
"repositoryURL": "https://github.com/f-meloni/Rocket",
"state": {
"branch": null,
- "revision": "623cb4ccf55d708d082516ccd5cfea3dac8f9032",
- "version": "1.0.0"
+ "revision": "9880a5beb7fcb9e61ddd5764edc1700b8c418deb",
+ "version": "1.2.1"
}
},
{
@@ -123,8 +78,8 @@
"repositoryURL": "https://github.com/jpsim/SourceKitten.git",
"state": {
"branch": null,
- "revision": "97b5848e5692150d75b5cf0b81d7ebef5f4d5071",
- "version": "0.28.0"
+ "revision": "558628392eb31d37cb251cfe626c53eafd330df6",
+ "version": "0.31.1"
}
},
{
@@ -132,8 +87,17 @@
"repositoryURL": "https://github.com/danger/swift.git",
"state": {
"branch": null,
- "revision": "9abfbf269f7b1d4bb799ca8f52620180d63d953e",
- "version": "3.0.0"
+ "revision": "ac99660abd8253b97f4d73e8ed756f347196d14a",
+ "version": "3.12.1"
+ }
+ },
+ {
+ "package": "swift-argument-parser",
+ "repositoryURL": "https://github.com/apple/swift-argument-parser.git",
+ "state": {
+ "branch": null,
+ "revision": "d2930e8fcf9c33162b9fcc1d522bc975e2d4179b",
+ "version": "1.0.1"
}
},
{
@@ -141,8 +105,8 @@
"repositoryURL": "https://github.com/nicklockwood/SwiftFormat",
"state": {
"branch": null,
- "revision": "d9b7cf39e06e89428004a767d97006fb6d293c53",
- "version": "0.43.5"
+ "revision": "3c33b468d5c15b6f916b2b4c55a9a3105674c62d",
+ "version": "0.48.17"
}
},
{
@@ -150,8 +114,8 @@
"repositoryURL": "https://github.com/Realm/SwiftLint",
"state": {
"branch": null,
- "revision": "76d44cff391645a7f4d5ba2bf1853afaf3f5c1fb",
- "version": "0.38.2"
+ "revision": "99465e659fb91facab5b1d3c0f9229176d086bf1",
+ "version": "0.45.0"
}
},
{
@@ -159,8 +123,8 @@
"repositoryURL": "https://github.com/kareman/SwiftShell",
"state": {
"branch": null,
- "revision": "fb7fc2c9ad8811caf324431a508fb79e3fb74f99",
- "version": "5.0.1"
+ "revision": "a6014fe94c3dbff0ad500e8da4f251a5d336530b",
+ "version": "5.1.0-beta.1"
}
},
{
@@ -177,8 +141,8 @@
"repositoryURL": "https://github.com/drmohundro/SWXMLHash.git",
"state": {
"branch": null,
- "revision": "a4931e5c3bafbedeb1601d3bb76bbe835c6d475a",
- "version": "5.0.1"
+ "revision": "9183170d20857753d4f331b0ca63f73c60764bf3",
+ "version": "5.0.2"
}
},
{
@@ -195,8 +159,8 @@
"repositoryURL": "https://github.com/jpsim/Yams",
"state": {
"branch": null,
- "revision": "c947a306d2e80ecb2c0859047b35c73b8e1ca27f",
- "version": "2.0.0"
+ "revision": "9ff1cc9327586db4e0c8f46f064b6a82ec1566fa",
+ "version": "4.0.6"
}
}
]
diff --git a/Package.swift b/Package.swift
index e2be8da..d375409 100644
--- a/Package.swift
+++ b/Package.swift
@@ -1,4 +1,4 @@
-// swift-tools-version:5.1
+// swift-tools-version:5.5
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
@@ -14,23 +14,29 @@ let package = Package(
.library(name: "DangerDeps", type: .dynamic, targets: ["DangerDependencies"]), // dev
],
dependencies: [
- .package(url: "https://github.com/danger/swift.git", from: "3.0.0"),
+ .package(name: "danger-swift", url: "https://github.com/danger/swift.git", from: "3.0.0"),
// Dev dependencies
.package(url: "https://github.com/nicklockwood/SwiftFormat", from: "0.35.8"), // dev
.package(url: "https://github.com/Realm/SwiftLint", from: "0.28.1"), // dev
.package(url: "https://github.com/f-meloni/Rocket", from: "1.0.0"), // dev
.package(url: "https://github.com/orta/Komondor", from: "1.0.0"), // dev
- .package(url: "https://github.com/f-meloni/danger-swift-xcodesummary", from: "1.0.0"), // dev
+ .package(name: "DangerXCodeSummary", url: "https://github.com/f-meloni/danger-swift-xcodesummary", from: "1.0.0"), // dev
],
targets: [
- .target(name: "DangerDependencies", dependencies: ["Danger", "DangerSwiftCoverage", "DangerXCodeSummary"]), // dev
+ .target(name: "DangerDependencies", dependencies: [
+ .product(name: "Danger", package: "danger-swift"),
+ "DangerSwiftCoverage",
+ "DangerXCodeSummary",
+ ]), // dev
.target(
name: "DangerSwiftCoverage",
- dependencies: ["Danger"]
+ dependencies: [
+ .product(name: "Danger", package: "danger-swift"),
+ ]
),
.testTarget(
name: "DangerSwiftCoverageTests",
- dependencies: ["DangerSwiftCoverage", "DangerFixtures"]
+ dependencies: ["DangerSwiftCoverage", .product(name: "DangerFixtures", package: "danger-swift")]
),
]
)
diff --git a/Sources/DangerSwiftCoverage/XcodeBuild/XcresultBundleFinder.swift b/Sources/DangerSwiftCoverage/XcodeBuild/XcresultBundleFinder.swift
index bc3fd92..21a10fe 100644
--- a/Sources/DangerSwiftCoverage/XcodeBuild/XcresultBundleFinder.swift
+++ b/Sources/DangerSwiftCoverage/XcodeBuild/XcresultBundleFinder.swift
@@ -17,11 +17,12 @@ enum XcresultBundleFinder: XcresultBundleFinding {
let testFolder = derivedDataFolder + "/Logs/Test/"
guard let xcresults = try? fileManager.contentsOfDirectory(atPath: testFolder).filter({ $0.split(separator: ".").last == "xcresult" }),
- !xcresults.isEmpty else {
+ !xcresults.isEmpty
+ else {
throw Errors.xcresultNotFound
}
- let xcresult = testFolder + xcresults.sorted(by: { (left, right) -> Bool in
+ let xcresult = testFolder + xcresults.sorted(by: { left, right -> Bool in
let leftModificationDate = fileManager.modificationDate(forFileAtPath: testFolder + left)?.timeIntervalSince1970 ?? 0
let rightModificationDate = fileManager.modificationDate(forFileAtPath: testFolder + right)?.timeIntervalSince1970 ?? 0