Skip to content

Commit 5ba7118

Browse files
authored
Merge pull request #242 from scala/github-actions
2 parents 5605583 + 89c655d commit 5ba7118

File tree

13 files changed

+118
-82
lines changed

13 files changed

+118
-82
lines changed

Diff for: .github/workflows/ci.yml

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: test
2+
on:
3+
push:
4+
branches:
5+
- main
6+
pull_request:
7+
jobs:
8+
test:
9+
strategy:
10+
fail-fast: false
11+
matrix:
12+
java: [8, 11, 17]
13+
scala: [2.11.12, 2.12.15, 2.13.6, 3.0.2]
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v2
17+
with:
18+
fetch-depth: 0
19+
- uses: coursier/cache-action@v6
20+
- uses: actions/setup-java@v2
21+
with:
22+
distribution: adopt
23+
java-version: ${{matrix.java}}
24+
- name: Test
25+
run: sbt ++${{matrix.scala}} test headerCheck versionPolicyCheck package

Diff for: .github/workflows/release.yml

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Release
2+
on:
3+
push:
4+
tags: ["*"]
5+
jobs:
6+
publish:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v2
10+
with:
11+
fetch-depth: 0
12+
- uses: actions/setup-java@v2
13+
with:
14+
distribution: adopt
15+
java-version: 8
16+
- run: sbt versionCheck ci-release
17+
env:
18+
PGP_PASSPHRASE: ${{secrets.PGP_PASSPHRASE}}
19+
PGP_SECRET: ${{secrets.PGP_SECRET}}
20+
SONATYPE_PASSWORD: ${{secrets.SONATYPE_PASSWORD}}
21+
SONATYPE_USERNAME: ${{secrets.SONATYPE_USERNAME}}

Diff for: .travis.yml

-25
This file was deleted.

Diff for: README.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
# scala-java8-compat [![Build Status](https://travis-ci.org/scala/scala-java8-compat.svg?branch=master)](https://travis-ci.org/scala/scala-java8-compat) [<img src="https://img.shields.io/maven-central/v/org.scala-lang.modules/scala-java8-compat_2.11.svg?label=latest%20release%20for%202.11"/>](http://search.maven.org/#search%7Cga%7C1%7Cg%3Aorg.scala-lang.modules%20a%3Ascala-java8-compat_2.11) [<img src="https://img.shields.io/maven-central/v/org.scala-lang.modules/scala-java8-compat_2.12.svg?label=latest%20release%20for%202.12"/>](http://search.maven.org/#search%7Cga%7C1%7Cg%3Aorg.scala-lang.modules%20a%3Ascala-java8-compat_2.12) [<img src="https://img.shields.io/maven-central/v/org.scala-lang.modules/scala-java8-compat_2.13.svg?label=latest%20release%20for%202.13"/>](http://search.maven.org/#search%7Cga%7C1%7Cg%3Aorg.scala-lang.modules%20a%3Ascala-java8-compat_2.13)
2-
1+
# scala-java8-compat [<img src="https://img.shields.io/maven-central/v/org.scala-lang.modules/scala-java8-compat_2.11.svg?label=latest%20release%20for%202.11"/>](http://search.maven.org/#search%7Cga%7C1%7Cg%3Aorg.scala-lang.modules%20a%3Ascala-java8-compat_2.11) [<img src="https://img.shields.io/maven-central/v/org.scala-lang.modules/scala-java8-compat_2.12.svg?label=latest%20release%20for%202.12"/>](http://search.maven.org/#search%7Cga%7C1%7Cg%3Aorg.scala-lang.modules%20a%3Ascala-java8-compat_2.12) [<img src="https://img.shields.io/maven-central/v/org.scala-lang.modules/scala-java8-compat_2.13.svg?label=latest%20release%20for%202.13"/>](http://search.maven.org/#search%7Cga%7C1%7Cg%3Aorg.scala-lang.modules%20a%3Ascala-java8-compat_2.13) [<img src="https://img.shields.io/maven-central/v/org.scala-lang.modules/scala-java8-compat_3.svg?label=latest%20release%20for%203"/>](http://search.maven.org/#search%7Cga%7C1%7Cg%3Aorg.scala-lang.modules%20a%3Ascala-java8-compat_3)
32

43
A Java 8 compatibility kit for Scala 2.12 and 2.11.
54

Diff for: benchmark/build.sbt

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ val parseJmh = TaskKey[Unit]("parseJmh", "Parses JMH benchmark logs in results/j
55

66
lazy val root = (project in file(".")).settings(
77
name := "java8-compat-bench",
8-
scalaVersion := "2.11.11",
9-
crossScalaVersions := List("2.11.11" /* TODO, "2.12.0-M4"*/),
8+
scalaVersion := "2.11.12",
9+
crossScalaVersions := List("2.11.12" /* TODO, "2.12.0-M4"*/),
1010
organization := "org.scala-lang.modules",
1111
version := "0.6.0-SNAPSHOT",
1212
unmanagedJars in Compile ++= Seq(baseDirectory.value / "../target/scala-2.11/scala-java8-compat_2.11-0.9.0-SNAPSHOT.jar"),

Diff for: build.sbt

+7-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,13 @@ def osgiExport(scalaVersion: String, version: String) = {
1818
}) ++ Seq(s"scala.compat.java8.*;version=${version}")
1919
}
2020

21+
// shouldn't be necessary anymore after https://github.com/lampepfl/dotty/pull/13498
22+
// makes it into a release
23+
ThisBuild / libraryDependencySchemes += "org.scala-lang" %% "scala3-library" % "semver-spec"
24+
2125
lazy val commonSettings = Seq(
26+
crossScalaVersions := Seq("2.13.6", "2.12.15", "2.11.12", "3.0.2"),
27+
scalaVersion := crossScalaVersions.value.head,
2228
versionPolicyIntention := Compatibility.BinaryAndSourceCompatible,
2329
Compile / unmanagedSourceDirectories ++= {
2430
(Compile / unmanagedSourceDirectories).value.flatMap { dir =>
@@ -141,7 +147,7 @@ lazy val scalaJava8Compat = (project in file("."))
141147
JavaDoc / packageDoc / artifactName := ((sv, mod, art) => "" + mod.name + "_" + sv.binary + "-" + mod.revision + "-javadoc.jar"),
142148
libraryDependencies ++= (CrossVersion.partialVersion(scalaVersion.value) match {
143149
case Some((3, _)) => Seq()
144-
case _ => Seq(compilerPlugin("com.typesafe.genjavadoc" % "genjavadoc-plugin" % "0.17" cross CrossVersion.full))
150+
case _ => Seq(compilerPlugin("com.typesafe.genjavadoc" % "genjavadoc-plugin" % "0.18" cross CrossVersion.full))
145151
}),
146152
Compile / scalacOptions ++= (CrossVersion.partialVersion(scalaVersion.value) match {
147153
case Some((3, _)) => Seq()

Diff for: build.sh

-51
This file was deleted.

Diff for: project/plugins.sbt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
addSbtPlugin("org.scala-lang.modules" % "sbt-scala-module" % "2.4.0")
1+
addSbtPlugin("org.scala-lang.modules" % "sbt-scala-module" % "3.0.0")

Diff for: src/main/scala-2.13+/scala/compat/java8/collectionImpl/package.scala

+12
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
/*
2+
* Scala (https://www.scala-lang.org)
3+
*
4+
* Copyright EPFL and Lightbend, Inc.
5+
*
6+
* Licensed under Apache License 2.0
7+
* (http://www.apache.org/licenses/LICENSE-2.0).
8+
*
9+
* See the NOTICE file distributed with this work for
10+
* additional information regarding copyright ownership.
11+
*/
12+
113
package scala.compat.java8
214

315
package object collectionImpl {

Diff for: src/main/scala-2.13+/scala/compat/java8/converterImpl/StepperExtensions.scala

+12
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
/*
2+
* Scala (https://www.scala-lang.org)
3+
*
4+
* Copyright EPFL and Lightbend, Inc.
5+
*
6+
* Licensed under Apache License 2.0
7+
* (http://www.apache.org/licenses/LICENSE-2.0).
8+
*
9+
* See the NOTICE file distributed with this work for
10+
* additional information regarding copyright ownership.
11+
*/
12+
113
package scala.compat.java8.converterImpl
214

315
import scala.collection.convert.StreamExtensions.AccumulatorFactoryInfo

Diff for: src/main/scala-2.13+/scala/concurrent/java8/FuturesConvertersImplCompat.scala

+12
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
/*
2+
* Scala (https://www.scala-lang.org)
3+
*
4+
* Copyright EPFL and Lightbend, Inc.
5+
*
6+
* Licensed under Apache License 2.0
7+
* (http://www.apache.org/licenses/LICENSE-2.0).
8+
*
9+
* See the NOTICE file distributed with this work for
10+
* additional information regarding copyright ownership.
11+
*/
12+
113
package scala.concurrent.java8
214

315
import scala.concurrent.ExecutionContext

Diff for: src/main/scala-2.13-/scala/concurrent/java8/FuturesConvertersImplCompat.scala

+12
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
/*
2+
* Scala (https://www.scala-lang.org)
3+
*
4+
* Copyright EPFL and Lightbend, Inc.
5+
*
6+
* Licensed under Apache License 2.0
7+
* (http://www.apache.org/licenses/LICENSE-2.0).
8+
*
9+
* See the NOTICE file distributed with this work for
10+
* additional information regarding copyright ownership.
11+
*/
12+
113
package scala.concurrent.java8
214

315
import scala.concurrent.Future

Diff for: src/test/java-2.11/scala/compat/java8/runtime/LambdaDeserializerTest.java

+13
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
package scala.compat.java8.runtime;
1414

1515
import org.junit.Assert;
16+
import org.junit.Assume;
1617
import org.junit.Test;
1718

1819
import java.io.Serializable;
@@ -26,26 +27,33 @@
2627
public final class LambdaDeserializerTest {
2728
private LambdaHost lambdaHost = new LambdaHost();
2829

30+
// We skip most tests on Java 17+ because of https://github.com/scala/bug/issues/12419
31+
// which we only fixed for 2.12+
32+
2933
@Test
3034
public void serializationPrivate() {
35+
Assume.assumeFalse(scala.util.Properties.isJavaAtLeast("17"));
3136
F1<Boolean, String> f1 = lambdaHost.lambdaBackedByPrivateImplMethod();
3237
Assert.assertEquals(f1.apply(true), reconstitute(f1).apply(true));
3338
}
3439

3540
@Test
3641
public void serializationStatic() {
42+
Assume.assumeFalse(scala.util.Properties.isJavaAtLeast("17"));
3743
F1<Boolean, String> f1 = lambdaHost.lambdaBackedByStaticImplMethod();
3844
Assert.assertEquals(f1.apply(true), reconstitute(f1).apply(true));
3945
}
4046

4147
@Test
4248
public void serializationVirtualMethodReference() {
49+
Assume.assumeFalse(scala.util.Properties.isJavaAtLeast("17"));
4350
F1<Boolean, String> f1 = lambdaHost.lambdaBackedByVirtualMethodReference();
4451
Assert.assertEquals(f1.apply(true), reconstitute(f1).apply(true));
4552
}
4653

4754
@Test
4855
public void serializationInterfaceMethodReference() {
56+
Assume.assumeFalse(scala.util.Properties.isJavaAtLeast("17"));
4957
F1<I, Object> f1 = lambdaHost.lambdaBackedByInterfaceMethodReference();
5058
I i = new I() {
5159
};
@@ -54,18 +62,21 @@ public void serializationInterfaceMethodReference() {
5462

5563
@Test
5664
public void serializationStaticMethodReference() {
65+
Assume.assumeFalse(scala.util.Properties.isJavaAtLeast("17"));
5766
F1<Boolean, String> f1 = lambdaHost.lambdaBackedByStaticMethodReference();
5867
Assert.assertEquals(f1.apply(true), reconstitute(f1).apply(true));
5968
}
6069

6170
@Test
6271
public void serializationNewInvokeSpecial() {
72+
Assume.assumeFalse(scala.util.Properties.isJavaAtLeast("17"));
6373
F0<Object> f1 = lambdaHost.lambdaBackedByConstructorCall();
6474
Assert.assertEquals(f1.apply(), reconstitute(f1).apply());
6575
}
6676

6777
@Test
6878
public void uncached() {
79+
Assume.assumeFalse(scala.util.Properties.isJavaAtLeast("17"));
6980
F0<Object> f1 = lambdaHost.lambdaBackedByConstructorCall();
7081
F0<Object> reconstituted1 = reconstitute(f1);
7182
F0<Object> reconstituted2 = reconstitute(f1);
@@ -74,6 +85,7 @@ public void uncached() {
7485

7586
@Test
7687
public void cached() {
88+
Assume.assumeFalse(scala.util.Properties.isJavaAtLeast("17"));
7789
HashMap<String, MethodHandle> cache = new HashMap<>();
7890
F0<Object> f1 = lambdaHost.lambdaBackedByConstructorCall();
7991
F0<Object> reconstituted1 = reconstitute(f1, cache);
@@ -83,6 +95,7 @@ public void cached() {
8395

8496
@Test
8597
public void cachedStatic() {
98+
Assume.assumeFalse(scala.util.Properties.isJavaAtLeast("17"));
8699
HashMap<String, MethodHandle> cache = new HashMap<>();
87100
F1<Boolean, String> f1 = lambdaHost.lambdaBackedByStaticImplMethod();
88101
// Check that deserialization of a static lambda always returns the

0 commit comments

Comments
 (0)