summaryrefslogtreecommitdiff
path: root/scalaplugin/src
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2017-12-15 17:41:32 -0800
committerLi Haoyi <haoyi.sg@gmail.com>2017-12-15 17:42:22 -0800
commit4ec6dca8c3432339620bbc6298fdf75a4b930fb4 (patch)
tree1c17bb9bb3477be1b498c72ff2c74b9d235dd4bd /scalaplugin/src
parent3a40842d7b3aeedddb9ab5e8261dd48ea4e024b6 (diff)
downloadmill-4ec6dca8c3432339620bbc6298fdf75a4b930fb4.tar.gz
mill-4ec6dca8c3432339620bbc6298fdf75a4b930fb4.tar.bz2
mill-4ec6dca8c3432339620bbc6298fdf75a4b930fb4.zip
First pass at using a compiler plugin to remove the need for the `override` keyword when overriding a field within a `mill.Module`
This only applies to `mill.Module`s, not overrides elsewhere which still require the keyword. `mill.Module`s tend to have lots and lots of overriding, so the keyword is basically noise. Also includes the necessary build changes to enable the locally-built Scalac plugin when compiling the test suite. Note that no changes are necessary for the executable assembly, because the `scalac-plugin.xml` will be included in the assembly and get picked up by the Ammonite scalac plugin classloader automatically
Diffstat (limited to 'scalaplugin/src')
-rw-r--r--scalaplugin/src/test/scala/mill/scalaplugin/AcyclicTests.scala6
-rw-r--r--scalaplugin/src/test/scala/mill/scalaplugin/BetterFilesTests.scala18
-rw-r--r--scalaplugin/src/test/scala/mill/scalaplugin/HelloWorldTests.scala6
-rw-r--r--scalaplugin/src/test/scala/mill/scalaplugin/JawnTests.scala20
4 files changed, 25 insertions, 25 deletions
diff --git a/scalaplugin/src/test/scala/mill/scalaplugin/AcyclicTests.scala b/scalaplugin/src/test/scala/mill/scalaplugin/AcyclicTests.scala
index f233fdf1..185cffc8 100644
--- a/scalaplugin/src/test/scala/mill/scalaplugin/AcyclicTests.scala
+++ b/scalaplugin/src/test/scala/mill/scalaplugin/AcyclicTests.scala
@@ -17,12 +17,12 @@ object AcyclicBuild{
def version = "0.1.7"
def scalaVersion = crossVersion
- override def ivyDeps = Seq(
+ def ivyDeps = Seq(
Dep.Java("org.scala-lang", "scala-compiler", scalaVersion())
)
object test extends this.Tests{
- override def forkWorkingDir = pwd/'scalaplugin/'src/'test/'resource/'acyclic
- override def ivyDeps = Seq(
+ def forkWorkingDir = pwd/'scalaplugin/'src/'test/'resource/'acyclic
+ def ivyDeps = Seq(
Dep("com.lihaoyi", "utest", "0.6.0")
)
def testFramework = "utest.runner.Framework"
diff --git a/scalaplugin/src/test/scala/mill/scalaplugin/BetterFilesTests.scala b/scalaplugin/src/test/scala/mill/scalaplugin/BetterFilesTests.scala
index c59beca4..f4247094 100644
--- a/scalaplugin/src/test/scala/mill/scalaplugin/BetterFilesTests.scala
+++ b/scalaplugin/src/test/scala/mill/scalaplugin/BetterFilesTests.scala
@@ -11,7 +11,7 @@ import mill.util.JsonFormatters._
object BetterFilesBuild{
trait BetterFilesModule extends SbtScalaModule{ outer =>
def scalaVersion = "2.12.4"
- override def scalacOptions = Seq(
+ def scalacOptions = Seq(
"-deprecation", // Emit warning and location for usages of deprecated APIs.
"-encoding", "utf-8", // Specify character encoding used by source files.
"-explaintypes", // Explain type errors in more detail.
@@ -60,10 +60,10 @@ object BetterFilesBuild{
)
override def javacOptions = Seq("-source", "1.8", "-target", "1.8", "-Xlint")
object test extends this.Tests{
- override def projectDeps =
+ def projectDeps =
if (this == Core.test) Seq(Core)
else Seq(outer, Core.test)
- override def ivyDeps = Seq(Dep("org.scalatest", "scalatest", "3.0.4"))
+ def ivyDeps = Seq(Dep("org.scalatest", "scalatest", "3.0.4"))
def testFramework = "org.scalatest.tools.Framework"
}
}
@@ -71,19 +71,19 @@ object BetterFilesBuild{
def basePath = BetterFilesTests.srcPath/"core"
}
object Akka extends BetterFilesModule{
- override def projectDeps = Seq(Core)
+ def projectDeps = Seq(Core)
def basePath = BetterFilesTests.srcPath/"akka"
- override def ivyDeps = Seq(Dep("com.typesafe.akka", "akka-actor", "2.5.6"))
+ def ivyDeps = Seq(Dep("com.typesafe.akka", "akka-actor", "2.5.6"))
}
object ShapelessScanner extends BetterFilesModule{
- override def projectDeps = Seq(Core)
+ def projectDeps = Seq(Core)
def basePath = BetterFilesTests.srcPath/"shapeless"
- override def ivyDeps = Seq(Dep("com.chuusai", "shapeless", "2.3.2"))
+ def ivyDeps = Seq(Dep("com.chuusai", "shapeless", "2.3.2"))
}
object Benchmarks extends BetterFilesModule{
- override def projectDeps = Seq(Core)
+ def projectDeps = Seq(Core)
def basePath = BetterFilesTests.srcPath/"benchmarks"
- override def ivyDeps = Seq(
+ def ivyDeps = Seq(
Dep.Java("commons-io", "commons-io", "2.5")
// "fastjavaio" % "fastjavaio" % "1.0" from "https://github.com/williamfiset/FastJavaIO/releases/download/v1.0/fastjavaio.jar"
)
diff --git a/scalaplugin/src/test/scala/mill/scalaplugin/HelloWorldTests.scala b/scalaplugin/src/test/scala/mill/scalaplugin/HelloWorldTests.scala
index 6e52b5ca..239f6871 100644
--- a/scalaplugin/src/test/scala/mill/scalaplugin/HelloWorldTests.scala
+++ b/scalaplugin/src/test/scala/mill/scalaplugin/HelloWorldTests.scala
@@ -18,15 +18,15 @@ trait HelloWorldModule extends ScalaModule {
object HelloWorld extends HelloWorldModule
object HelloWorldWithMain extends HelloWorldModule {
- override def mainClass = Some("Main")
+ def mainClass = Some("Main")
}
object HelloWorldWarnUnused extends HelloWorldModule {
- override def scalacOptions = T(Seq("-Ywarn-unused"))
+ def scalacOptions = T(Seq("-Ywarn-unused"))
}
object HelloWorldFatalWarnings extends HelloWorldModule {
- override def scalacOptions = T(Seq("-Ywarn-unused", "-Xfatal-warnings"))
+ def scalacOptions = T(Seq("-Ywarn-unused", "-Xfatal-warnings"))
}
object HelloWorldTests extends TestSuite {
diff --git a/scalaplugin/src/test/scala/mill/scalaplugin/JawnTests.scala b/scalaplugin/src/test/scala/mill/scalaplugin/JawnTests.scala
index b48fd853..0d876660 100644
--- a/scalaplugin/src/test/scala/mill/scalaplugin/JawnTests.scala
+++ b/scalaplugin/src/test/scala/mill/scalaplugin/JawnTests.scala
@@ -14,15 +14,15 @@ object JawnBuild{
class Jawn(crossVersion: String) extends Module{
trait JawnModule extends SbtScalaModule{ outer =>
def scalaVersion = crossVersion
- override def scalacOptions = Seq(
+ def scalacOptions = Seq(
"-deprecation",
"-optimize",
"-unchecked"
)
def testProjectDeps: Seq[TestScalaModule] = Nil
object test extends this.Tests{
- override def projectDeps = super.projectDeps ++ testProjectDeps
- override def ivyDeps = Seq(
+ def projectDeps = super.projectDeps ++ testProjectDeps
+ def ivyDeps = Seq(
Dep("org.scalatest", "scalatest", "3.0.3"),
Dep("org.scalacheck", "scalacheck", "1.13.5")
)
@@ -33,25 +33,25 @@ object JawnBuild{
def basePath = JawnTests.srcPath/"parser"
}
object Util extends JawnModule{
- override def projectDeps = Seq(Parser)
- override def testProjectDeps = Seq(Parser.test)
+ def projectDeps = Seq(Parser)
+ def testProjectDeps = Seq(Parser.test)
def basePath = JawnTests.srcPath/"util"
}
object Ast extends JawnModule{
- override def projectDeps = Seq(Parser, Util)
- override def testProjectDeps = Seq(Parser.test, Util.test)
+ def projectDeps = Seq(Parser, Util)
+ def testProjectDeps = Seq(Parser.test, Util.test)
def basePath = JawnTests.srcPath/"ast"
}
class Support(name: String, ivyDeps0: Dep*) extends JawnModule{
- override def projectDeps = Seq[ScalaModule](Parser)
+ def projectDeps = Seq[ScalaModule](Parser)
def basePath = JawnTests.srcPath/"support"/"argonaut"
- override def ivyDeps = ivyDeps0
+ def ivyDeps = ivyDeps0
}
object Argonaut extends Support("argonaut", Dep("io.argonaut", "argonaut", "6.2"))
object Json4s extends Support("json4s", Dep("org.json4s", "json4s-ast", "3.5.2"))
object Play extends Support("play"){
- override def ivyDeps = mill.T{
+ def ivyDeps = mill.T{
scalaBinaryVersion() match{
case "2.10" => Seq(Dep("com.typesafe.play", "play-json", "2.4.11"))
case "2.11" => Seq(Dep("com.typesafe.play", "play-json", "2.5.15"))