diff --git a/.github/workflows/pr.yml b/.github/workflows/ci.yml
similarity index 92%
rename from .github/workflows/pr.yml
rename to .github/workflows/ci.yml
index d41348e4..036fbc59 100644
--- a/.github/workflows/pr.yml
+++ b/.github/workflows/ci.yml
@@ -1,11 +1,12 @@
-name: pr
+name: CI
on:
- pull_request:
+ push:
paths-ignore:
- - 'doc/**'
- - 'docs/**'
- '*.md'
+ branches:
+ - master
+ pull_request:
jobs:
scala:
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 00000000..90ec276b
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,20 @@
+name: Release
+on:
+ push:
+ branches:
+ - master
+ tags: ["*"]
+jobs:
+ publish:
+ runs-on: ubuntu-20.04
+ steps:
+ - uses: actions/checkout@v2.3.4
+ with:
+ fetch-depth: 0
+ - uses: olafurpg/setup-scala@v10
+ - run: sbt ci-release
+ env:
+ PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }}
+ PGP_SECRET: ${{ secrets.PGP_SECRET }}
+ SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
+ SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
diff --git a/build.sbt b/build.sbt
index 8188ad12..40e60d80 100644
--- a/build.sbt
+++ b/build.sbt
@@ -1,21 +1,37 @@
name := "sbt-scoverage"
-organization := "org.scoverage"
import sbt.ScriptedPlugin.autoImport.scriptedLaunchOpts
-import sbtrelease.ReleasePlugin.autoImport.ReleaseTransformations._
-releaseProcess := Seq[ReleaseStep](
- checkSnapshotDependencies,
- inquireVersions,
- runClean,
- releaseStepCommandAndRemaining("test"),
- setReleaseVersion,
- commitReleaseVersion,
- tagRelease,
- releaseStepCommandAndRemaining("publishSigned"),
- setNextVersion,
- commitNextVersion,
- pushChanges
+def localSnapshotVersion = "1.7.1-SNAPSHOT"
+def isCI = System.getenv("CI") != null
+
+inThisBuild(
+ List(
+ organization := "org.scoverage",
+ homepage := Some(url("http://scoverage.org/")),
+ developers := List(
+ Developer(
+ "sksamuel",
+ "Stephen Samuel",
+ "sam@sksamuel.com",
+ url("https://github.com/sksamuel")
+ ),
+ Developer(
+ "gslowikowski",
+ "Grzegorz Slowikowski",
+ "gslowikowski@gmail.com",
+ url("https://github.com/gslowikowski")
+ )
+ ),
+ licenses := Seq(
+ "Apache-2.0" -> url("http://www.apache.org/license/LICENSE-2.0")
+ ),
+ scalaVersion := "2.12.13",
+ version ~= { dynVer =>
+ if (isCI) dynVer
+ else localSnapshotVersion // only for local publishing
+ }
+ )
)
lazy val root = Project("sbt-scoverage", file("."))
@@ -24,55 +40,22 @@ lazy val root = Project("sbt-scoverage", file("."))
libraryDependencies ++= Seq(
"org.scala-lang" % "scala-compiler" % scalaVersion.value % Compile
),
- libraryDependencies += "org.scoverage" %% "scalac-scoverage-plugin" % "1.4.3" cross(CrossVersion.full),
- scalaVersion := "2.12.13",
- publishMavenStyle := true,
- publishConfiguration := publishConfiguration.value.withOverwrite(true),
- publishLocalConfiguration := publishLocalConfiguration.value.withOverwrite(true),
- releasePublishArtifactsAction := PgpKeys.publishSigned.value,
+ libraryDependencies += "org.scoverage" %% "scalac-scoverage-plugin" % "1.4.3" cross (CrossVersion.full),
Test / fork := false,
Test / publishArtifact := false,
Test / parallelExecution := false,
- scalacOptions := Seq("-unchecked", "-deprecation", "-feature", "-encoding", "utf8"),
- publishTo := {
- if (isSnapshot.value)
- Some("snapshots" at "https://oss.sonatype.org/content/repositories/snapshots")
- else
- Some("releases" at "https://oss.sonatype.org/service/local/staging/deploy/maven2")
- },
+ scalacOptions := Seq(
+ "-unchecked",
+ "-deprecation",
+ "-feature",
+ "-encoding",
+ "utf8"
+ ),
resolvers ++= {
if (isSnapshot.value) Seq(Resolver.sonatypeRepo("snapshots")) else Nil
},
scriptedLaunchOpts ++= Seq(
"-Xmx1024M",
"-Dplugin.version=" + version.value
- ),
- pomExtra := {
- https://github.com/scoverage/sbt-scoverage
-
-
- Apache 2
- http://www.apache.org/licenses/LICENSE-2.0
- repo
-
-
-
- git@github.com:scoverage/sbt-scoverage.git
- scm:git@github.com:scoverage/sbt-scoverage.git
-
-
-
- sksamuel
- sksamuel
- http://github.com/sksamuel
-
-
- gslowikowski
- Grzegorz Slowikowski
- http://github.com/gslowikowski
-
-
- }
+ )
)
-
-scalariformAutoformat := false
diff --git a/project/plugins.sbt b/project/plugins.sbt
index 5263b3bd..4c61369e 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -1,7 +1,2 @@
libraryDependencies += "org.scala-sbt" %% "scripted-plugin" % sbtVersion.value
-
-addSbtPlugin("com.jsuereth" % "sbt-pgp" % "2.0.1")
-
-addSbtPlugin("org.scalariform" % "sbt-scalariform" % "1.8.1")
-
-addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.13")
+addSbtPlugin("com.geirsson" % "sbt-ci-release" % "1.5.7")
diff --git a/src/main/scala/scoverage/ScoverageSbtPlugin.scala b/src/main/scala/scoverage/ScoverageSbtPlugin.scala
index f853bc40..e06c103e 100644
--- a/src/main/scala/scoverage/ScoverageSbtPlugin.scala
+++ b/src/main/scala/scoverage/ScoverageSbtPlugin.scala
@@ -4,6 +4,7 @@ import sbt.Keys._
import sbt._
import sbt.plugins.JvmPlugin
import scoverage.report.{CoberturaXmlWriter, CoverageAggregator, ScoverageHtmlWriter, ScoverageXmlWriter}
+import java.time.Instant
object ScoverageSbtPlugin extends AutoPlugin {
@@ -215,7 +216,7 @@ object ScoverageSbtPlugin extends AutoPlugin {
// Create the coverage report for teamcity (HTML files)
if (createCoverageZip)
- IO.zip(Path.allSubpaths(reportDir), crossTarget / "coverage.zip")
+ IO.zip(Path.allSubpaths(reportDir), crossTarget / "coverage.zip", Some(Instant.now().toEpochMilli()))
}
private def loadCoverage(crossTarget: File, log: Logger): Option[Coverage] = {
diff --git a/version.sbt b/version.sbt
deleted file mode 100644
index 7dc21d88..00000000
--- a/version.sbt
+++ /dev/null
@@ -1 +0,0 @@
-version in ThisBuild := "1.7.1-SNAPSHOT"