=jdk9,str JDK9 ready classes, in special directories (#23650)
* =jdk9,str JDK9 ready classes, in special directories * =str,jdk9 prepare for releasing using JDK9 (needs sbt 1.0+ though) * =str,jdk9 passing TCK spec touching some JDK9 types internally * make sure to include linting options
This commit is contained in:
parent
9bd6ca4c8b
commit
349a5f749a
7 changed files with 623 additions and 0 deletions
47
project/Jdk9CompileDirectoriesPlugin.scala
Normal file
47
project/Jdk9CompileDirectoriesPlugin.scala
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
* Copyright (C) 2017 Lightbend Inc. <http://www.lightbend.com/>
|
||||
*/
|
||||
import java.io.File
|
||||
|
||||
import sbt._
|
||||
import sbt.Keys._
|
||||
|
||||
object Jdk9CompileDirectoriesPlugin extends AutoPlugin {
|
||||
|
||||
val jdkVersion: String = System.getProperty("java.version")
|
||||
|
||||
override def trigger = allRequirements
|
||||
|
||||
override lazy val projectSettings = Seq(
|
||||
|
||||
javacOptions in Compile ++= {
|
||||
// making sure we're really targeting 1.8
|
||||
if (isJDK9) Seq("-target", "1.8", "-source", "1.8", "-Xdoclint:none")
|
||||
else Seq("-Xdoclint:none")
|
||||
},
|
||||
|
||||
unmanagedSourceDirectories in Compile ++= {
|
||||
if (isJDK9) {
|
||||
println(s"[JDK9] Enabled [...-jdk9-only] directories to be compiled.")
|
||||
Seq(
|
||||
(sourceDirectory in Compile).value / "java-jdk9-only",
|
||||
(sourceDirectory in Compile).value / "scala-jdk9-only"
|
||||
)
|
||||
} else Seq.empty
|
||||
},
|
||||
|
||||
unmanagedSourceDirectories in Test ++= {
|
||||
if (isJDK9) {
|
||||
Seq(
|
||||
(sourceDirectory in Test).value / "java-jdk9-only",
|
||||
(sourceDirectory in Test).value / "scala-jdk9-only"
|
||||
)
|
||||
} else Seq.empty
|
||||
}
|
||||
|
||||
)
|
||||
|
||||
private def isJDK9 = {
|
||||
jdkVersion startsWith "9"
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue