Danger-Swift plugin to show the coverage of the modified/created files.
You can use a "full SPM" solution to install both danger-swift
and DangerSwiftCoverage
.
Package.swift
:let package = Package(
...
products: [
...
.library(name: "DangerDeps", type: .dynamic, targets: ["DangerDependencies"]), // dev
...
],
dependencies: [
...
// Danger Plugins
.package(url: "https://github.com/DomainOSS/DomainDangerPlugin", from: "0.1.0") // dev
...
],
targets: [
.target(name: "DangerDependencies", dependencies: ["Danger", "DomainDangerPlugin"]), // dev
...
]
)
Dangerfile.swift
:import DomainDangerPlugin
DomainPlugin.framework()
DangerDependencies
on Sources
with an empty file inside like Fake.swiftDanger
use swift run danger-swift command
Package.swift
.
This prevents the dev dependencies to be downloaded and compiled with your framework.Dangerfile.swift
import DangerSwiftCoverage // package: https://github.com/f-meloni/danger-swift-coverage
Coverage.xcodeBuildCoverage(.derivedDataFolder("Build"),
minimumCoverage: 50,
excludedTargets: ["DangerSwiftCoverageTests.xctest"])
~/.danger-swift
folderor, on your CI, execute:
xcodebuild test -scheme DangerSwiftCoverage-Package -derivedDataPath Build/ -enableCodeCoverage YES
If you are using the -resultBundlePath
parameter on xcodebuild
you will need to use:
Coverage.xcodeBuildCoverage(.xcresultBundle("Build/bundlePath"),
minimumCoverage: 50,
excludedTargets: ["DangerSwiftCoverageTests.xctest"])
From Swift 5.0 you can gather the coverage from SPM with the --enable-code-coverage=true
flag
For SPM coverage add to your Dangerfile:
Coverage.spmCoverage(minimumCoverage: 50)
This project is licensed under the terms of the MIT license. See the LICENSE file.
link |
Stars: 0 |
Last commit: 2 weeks ago |
Rebuild danger
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics