diff --git a/build.sbt b/build.sbt index 0d98529b..ef1e9145 100644 --- a/build.sbt +++ b/build.sbt @@ -24,3 +24,10 @@ publishMavenStyle := false publishArtifact in Test := false licenses +=("Apache-2.0", url("http://www.apache.org/licenses/LICENSE-2.0.html")) + + +ScriptedPlugin.scriptedSettings + +scriptedLaunchOpts := { scriptedLaunchOpts.value ++ + Seq("-Xmx1024M", "-XX:MaxPermSize=256M", "-Dplugin.version=" + version.value) +} diff --git a/project/plugins.sbt b/project/plugins.sbt index 2d62cd8d..7d1f93fd 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1 +1,3 @@ resolvers += "sonatype-releases" at "https://oss.sonatype.org/content/repositories/releases/" + +libraryDependencies <+= sbtVersion(v => "org.scala-sbt" % "scripted-plugin" % v) diff --git a/src/sbt-test/scoverage/bad-coverage/build.sbt b/src/sbt-test/scoverage/bad-coverage/build.sbt new file mode 100644 index 00000000..5d95def4 --- /dev/null +++ b/src/sbt-test/scoverage/bad-coverage/build.sbt @@ -0,0 +1,11 @@ +version := "0.1" + +scalaVersion := "2.10.4" + +libraryDependencies += "org.specs2" %% "specs2" % "2.3.13" % "test" + +instrumentSettings + +ScoverageKeys.minimumCoverage := 80 + +ScoverageKeys.failOnMinimumCoverage := true \ No newline at end of file diff --git a/src/sbt-test/scoverage/bad-coverage/project/plugins.sbt b/src/sbt-test/scoverage/bad-coverage/project/plugins.sbt new file mode 100644 index 00000000..0b154c5c --- /dev/null +++ b/src/sbt-test/scoverage/bad-coverage/project/plugins.sbt @@ -0,0 +1,15 @@ +// The Typesafe repository +resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/" + +//scoverage needs this +resolvers += Classpaths.sbtPluginReleases + +{ + val pluginVersion = System.getProperty("plugin.version") + if(pluginVersion == null) + throw new RuntimeException("""|The system property 'plugin.version' is not defined. + |Specify this property using the scriptedLaunchOpts -D.""".stripMargin) + else addSbtPlugin("org.scoverage" %% "sbt-scoverage" % pluginVersion) +} + + diff --git a/src/sbt-test/scoverage/bad-coverage/src/main/scala/BadCoverage.scala b/src/sbt-test/scoverage/bad-coverage/src/main/scala/BadCoverage.scala new file mode 100644 index 00000000..9735241d --- /dev/null +++ b/src/sbt-test/scoverage/bad-coverage/src/main/scala/BadCoverage.scala @@ -0,0 +1,10 @@ +object BadCoverage { + + def sum(num1: Int, num2: Int) = { + num1 + num2 + } + + def mult(num1: Int, num2: Int) = { + num1 * num2 + } +} \ No newline at end of file diff --git a/src/sbt-test/scoverage/bad-coverage/src/test/scala/BadCoverageSpec.scala b/src/sbt-test/scoverage/bad-coverage/src/test/scala/BadCoverageSpec.scala new file mode 100644 index 00000000..16ce924b --- /dev/null +++ b/src/sbt-test/scoverage/bad-coverage/src/test/scala/BadCoverageSpec.scala @@ -0,0 +1,13 @@ +import org.specs2.mutable._ + +/** + * Created by tbarke001c on 7/8/14. + */ +class BadCoverageSpec extends Specification { + + "BadCoverage" should { + "sum two numbers" in { + BadCoverage.sum(1, 2) mustEqual 3 + } + } +} diff --git a/src/sbt-test/scoverage/bad-coverage/test b/src/sbt-test/scoverage/bad-coverage/test new file mode 100644 index 00000000..05bac512 --- /dev/null +++ b/src/sbt-test/scoverage/bad-coverage/test @@ -0,0 +1,3 @@ +# run scoverage +> clean +-> scoverage:test \ No newline at end of file diff --git a/src/sbt-test/scoverage/good-coverage/build.sbt b/src/sbt-test/scoverage/good-coverage/build.sbt new file mode 100644 index 00000000..5d95def4 --- /dev/null +++ b/src/sbt-test/scoverage/good-coverage/build.sbt @@ -0,0 +1,11 @@ +version := "0.1" + +scalaVersion := "2.10.4" + +libraryDependencies += "org.specs2" %% "specs2" % "2.3.13" % "test" + +instrumentSettings + +ScoverageKeys.minimumCoverage := 80 + +ScoverageKeys.failOnMinimumCoverage := true \ No newline at end of file diff --git a/src/sbt-test/scoverage/good-coverage/project/plugins.sbt b/src/sbt-test/scoverage/good-coverage/project/plugins.sbt new file mode 100644 index 00000000..0b154c5c --- /dev/null +++ b/src/sbt-test/scoverage/good-coverage/project/plugins.sbt @@ -0,0 +1,15 @@ +// The Typesafe repository +resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/" + +//scoverage needs this +resolvers += Classpaths.sbtPluginReleases + +{ + val pluginVersion = System.getProperty("plugin.version") + if(pluginVersion == null) + throw new RuntimeException("""|The system property 'plugin.version' is not defined. + |Specify this property using the scriptedLaunchOpts -D.""".stripMargin) + else addSbtPlugin("org.scoverage" %% "sbt-scoverage" % pluginVersion) +} + + diff --git a/src/sbt-test/scoverage/good-coverage/src/main/scala/GoodCoverage.scala b/src/sbt-test/scoverage/good-coverage/src/main/scala/GoodCoverage.scala new file mode 100644 index 00000000..f4f3ecae --- /dev/null +++ b/src/sbt-test/scoverage/good-coverage/src/main/scala/GoodCoverage.scala @@ -0,0 +1,6 @@ +object GoodCoverage { + + def sum(num1: Int, num2: Int) = { + num1 + num2 + } +} \ No newline at end of file diff --git a/src/sbt-test/scoverage/good-coverage/src/test/scala/GoodCoverageSpec.scala b/src/sbt-test/scoverage/good-coverage/src/test/scala/GoodCoverageSpec.scala new file mode 100644 index 00000000..cbf6a70d --- /dev/null +++ b/src/sbt-test/scoverage/good-coverage/src/test/scala/GoodCoverageSpec.scala @@ -0,0 +1,13 @@ +import org.specs2.mutable._ + +/** + * Created by tbarke001c on 7/8/14. + */ +class GoodCoverageSpec extends Specification { + + "GoodCoverage" should { + "sum two numbers" in { + GoodCoverage.sum(1, 2) mustEqual 3 + } + } +} diff --git a/src/sbt-test/scoverage/good-coverage/test b/src/sbt-test/scoverage/good-coverage/test new file mode 100644 index 00000000..c3f6605c --- /dev/null +++ b/src/sbt-test/scoverage/good-coverage/test @@ -0,0 +1,3 @@ +# run scoverage +> clean +> scoverage:test \ No newline at end of file