Skip to content

Commit 360bfaa

Browse files
committed
Add Scala 2.12.0-M2 as a cross build
- Disable genjavadoc for this variation for now. - Avoid inheritance from DefaultPromise, which is final in 2.12
1 parent b2178bb commit 360bfaa

File tree

4 files changed

+21
-11
lines changed

4 files changed

+21
-11
lines changed

.travis.yml

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ script:
1212
- admin/build.sh
1313
scala:
1414
- 2.11.6
15+
- 2.12.0-M2
1516
jdk:
1617
- oraclejdk8
1718
notifications:

build.sbt

+12-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ scalaModuleSettings
22

33
scalaVersion := "2.11.6"
44

5+
crossScalaVersions := List("2.11.6", "2.12.0-M2")
6+
57
organization := "org.scala-lang.modules"
68

79
name := "scala-java8-compat"
@@ -76,8 +78,16 @@ inConfig(JavaDoc)(Defaults.configSettings) ++ (if (disableDocs) Nil else Seq(
7678
},
7779
javacOptions in JavaDoc := Seq(),
7880
artifactName in packageDoc in JavaDoc := ((sv, mod, art) => "" + mod.name + "_" + sv.binary + "-" + mod.revision + "-javadoc.jar"),
79-
libraryDependencies += compilerPlugin("com.typesafe.genjavadoc" % "genjavadoc-plugin" % "0.8" cross CrossVersion.full),
80-
scalacOptions in Compile <+= target map (t => "-P:genjavadoc:out=" + (t / "java"))
81+
libraryDependencies ++= (
82+
if (scalaBinaryVersion.value == "2.11")
83+
compilerPlugin("com.typesafe.genjavadoc" % "genjavadoc-plugin" % "0.8" cross CrossVersion.full) :: Nil
84+
else Nil
85+
),
86+
scalacOptions in Compile ++= (
87+
if (scalaBinaryVersion.value == "2.11")
88+
("-P:genjavadoc:out=" + (target.value / "java")) :: Nil
89+
else Nil
90+
)
8191
))
8292

8393
initialCommands :=

src/main/scala/scala/compat/java8/FutureConverters.scala

+8-2
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,14 @@ object FutureConverters {
7171
* @return a Scala Future that represents the CompletionStage's completion
7272
*/
7373
def toScala[T](cs: CompletionStage[T]): Future[T] = {
74-
val p = new P[T]
75-
cs whenComplete p
74+
val p = Promise[T]()
75+
val bc = new BiConsumer[T, Throwable] {
76+
override def accept(v: T, e: Throwable): Unit = {
77+
if (e == null) p.complete(Success(v))
78+
else p.complete(Failure(e))
79+
}
80+
}
81+
cs whenComplete bc
7682
p.future
7783
}
7884

src/main/scala/scala/concurrent/java8/FutureConvertersImpl.scala

-7
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,4 @@ object FuturesConvertersImpl {
7171

7272
override def toString: String = super[CompletableFuture].toString
7373
}
74-
75-
class P[T] extends impl.Promise.DefaultPromise[T] with BiConsumer[T, Throwable] {
76-
override def accept(v: T, e: Throwable): Unit = {
77-
if (e == null) complete(Success(v))
78-
else complete(Failure(e))
79-
}
80-
}
8174
}

0 commit comments

Comments
 (0)