Skip to content

Commit df23f41

Browse files
committed
Merge pull request #67 from szeiger/wip/scala-2.12.0-M4
Add support for Scala 2.12.0-M4
2 parents 907dfcf + dd965bb commit df23f41

File tree

8 files changed

+31
-26
lines changed

8 files changed

+31
-26
lines changed

.travis.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ env:
1212
script:
1313
- admin/build.sh
1414
scala:
15-
- 2.11.7
16-
- 2.12.0-M3
15+
- 2.11.8
16+
- 2.12.0-M4
1717
jdk:
1818
- oraclejdk8
1919
notifications:

build.sbt

+14-12
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@ val disableDocs = sys.props("nodocs") == "true"
33
lazy val JavaDoc = config("genjavadoc") extend Compile
44

55
def jwrite(dir: java.io.File)(name: String, content: String) = {
6-
val f = dir / "scala" / "compat" / "java8" / s"${name}.java"
6+
val f = dir / "scala" / "runtime" / "java8" / s"${name}.java"
77
IO.write(f, content)
88
f
99
}
1010

1111
lazy val commonSettings = Seq(
12-
scalaVersion := "2.11.7",
13-
crossScalaVersions := List("2.11.7", "2.12.0-M3"),
12+
scalaVersion := "2.11.8",
13+
crossScalaVersions := List("2.11.8", "2.12.0-M4"),
1414
organization := "org.scala-lang.modules",
15-
version := "0.6.0-SNAPSHOT"
15+
version := "0.8.0-SNAPSHOT"
1616
)
1717

1818
lazy val fnGen = (project in file("fnGen")).
@@ -61,14 +61,16 @@ lazy val root = (project in file(".")).
6161
(out ** "*.scala").get
6262
}.taskValue,
6363

64-
sourceGenerators in Compile <+= sourceManaged in Compile map { dir =>
65-
val write = jwrite(dir) _
66-
Seq(write("JFunction", CodeGen.factory)) ++
67-
(0 to 22).map(n => write("JFunction" + n, CodeGen.fN(n))) ++
68-
(0 to 22).map(n => write("JProcedure" + n, CodeGen.pN(n))) ++
69-
CodeGen.specializedF0.map(write.tupled) ++
70-
CodeGen.specializedF1.map(write.tupled) ++
71-
CodeGen.specializedF2.map(write.tupled)
64+
sourceGenerators in Compile <+= (sourceManaged in Compile, scalaVersion) map { (dir, v) =>
65+
if(v.startsWith("2.11.")) {
66+
val write = jwrite(dir) _
67+
Seq(write("JFunction", CodeGen.factory)) ++
68+
(0 to 22).map(n => write("JFunction" + n, CodeGen.fN(n))) ++
69+
(0 to 22).map(n => write("JProcedure" + n, CodeGen.pN(n))) ++
70+
CodeGen.specializedF0.map(write.tupled) ++
71+
CodeGen.specializedF1.map(write.tupled) ++
72+
CodeGen.specializedF2.map(write.tupled)
73+
} else Seq.empty
7274
},
7375

7476
sourceGenerators in Test <+= sourceManaged in Test map { dir =>

project/CodeGen.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ object Type {
2525
}
2626

2727
object CodeGen {
28-
def packaging = "package scala.compat.java8;"
28+
def packaging = "package scala.runtime.java8;"
2929
case class arity(n: Int) {
3030
val ns = (1 to n).toList
3131

src/test/java/scala/compat/java8/SpecializedTest.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
package scala.compat.java8
55

66
import org.junit.Test
7-
import scala.compat.java8.SpecializedTestSupport.IntIdentity
7+
import scala.runtime.java8.SpecializedTestSupport.IntIdentity
88

99
class SpecializedTest {
1010
@Test def specializationWorks() {

src/test/java/scala/compat/java8/BoxingTest.java renamed to src/test/java/scala/runtime/java8/BoxingTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* Copyright (C) 2012-2015 Typesafe Inc. <http://www.typesafe.com>
33
*/
4-
package scala.compat.java8;
4+
package scala.runtime.java8;
55

66
import org.junit.Test;
77

src/test/java/scala/compat/java8/LambdaTest.java renamed to src/test/java/scala/runtime/java8/LambdaTest.java

+10-7
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
/*
22
* Copyright (C) 2012-2015 Typesafe Inc. <http://www.typesafe.com>
33
*/
4-
package scala.compat.java8;
4+
package scala.runtime.java8;
55

66
import org.apache.commons.lang3.SerializationUtils;
77
import scala.runtime.*;
88

99
import static junit.framework.Assert.assertEquals;
10-
import static scala.compat.java8.JFunction.*;
11-
import static scala.compat.java8.TestAPI.*;
10+
import static scala.runtime.java8.JFunction.*;
11+
import static scala.runtime.java8.TestAPI.*;
1212

1313
import org.junit.Test;
1414

@@ -99,20 +99,23 @@ public void lambdaDemo() {
9999
acceptFunction22Unit( proc((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) -> {v1.toUpperCase(); return;}));
100100
}
101101

102+
/*
103+
// The JFunctions in 2.12.0-M4 are not Serializable anymore
102104
@Test
103105
public void isSerializable() {
104-
scala.compat.java8.JFunction0<String> f0 = () -> "foo";
106+
scala.runtime.java8.JFunction0<String> f0 = () -> "foo";
105107
assertEquals("foo", SerializationUtils.clone(f0).apply());
106108
107-
scala.compat.java8.JFunction1<String, String> f1 = (a) -> a.toUpperCase();
109+
scala.runtime.java8.JFunction1<String, String> f1 = (a) -> a.toUpperCase();
108110
assertEquals("FOO", SerializationUtils.clone(f1).apply("foo"));
109111
110-
scala.compat.java8.JFunction2<String, String, String> f2 = (a, b) -> a + b;
112+
scala.runtime.java8.JFunction2<String, String, String> f2 = (a, b) -> a + b;
111113
assertEquals("foobar", SerializationUtils.clone(f2).apply("foo", "bar"));
112114
113-
scala.compat.java8.JFunction3<String, String, String, String> f3 = (a, b, c) -> a + b + c;
115+
scala.runtime.java8.JFunction3<String, String, String, String> f3 = (a, b, c) -> a + b + c;
114116
assertEquals("foobarbaz", SerializationUtils.clone(f3).apply("foo", "bar", "baz"));
115117
}
118+
*/
116119

117120
private static scala.concurrent.Future<Integer> futureExample(
118121
scala.concurrent.Future<String> future, scala.concurrent.ExecutionContext ec) {

src/test/java/scala/compat/java8/SpecializedFactoryTest.java renamed to src/test/java/scala/runtime/java8/SpecializedFactoryTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* Copyright (C) 2012-2015 Typesafe Inc. <http://www.typesafe.com>
33
*/
4-
package scala.compat.java8;
4+
package scala.runtime.java8;
55

66
import org.junit.Test;
77
import scala.runtime.BoxedUnit;

src/test/java/scala/compat/java8/SpecializedTestSupport.java renamed to src/test/java/scala/runtime/java8/SpecializedTestSupport.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* Copyright (C) 2012-2015 Typesafe Inc. <http://www.typesafe.com>
33
*/
4-
package scala.compat.java8;
4+
package scala.runtime.java8;
55

66
import java.util.Arrays;
77
import java.util.List;

0 commit comments

Comments
 (0)