Skip to content

Commit

Permalink
Upgrade to Scala 2.13.4, switch CI to JDK 15
Browse files Browse the repository at this point in the history
2.13.4 brings JDK 15 support with
scala/scala#9292

- tests/run/t8153.scala was removed like it was removed in Scala 2 with
scala/scala@8f6e522
- tests/neg/missing-implicit-2.check was updated because the
  implicitNotFound message was changed in 2.13.4
- tests/run/t6260-delambdafy.scala had to be changed to behave the same
  under JDK <= 15 and JDK 15.
  • Loading branch information
smarter committed Nov 22, 2020
1 parent fb1c3c0 commit 60976ce
Show file tree
Hide file tree
Showing 15 changed files with 38 additions and 51 deletions.
30 changes: 15 additions & 15 deletions .github/workflows/ci.yaml
Expand Up @@ -13,7 +13,7 @@ jobs:
test:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2020-09-08
image: lampepfl/dotty:2020-11-19
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
Expand All @@ -22,8 +22,8 @@ jobs:
startsWith(github.event.ref, 'refs/tags/sbt-dotty-'))"

steps:
- name: Set JDK 14 as default
run: echo "/usr/lib/jvm/java-14-openjdk-amd64/bin" >> $GITHUB_PATH
- name: Set JDK 15 as default
run: echo "/usr/lib/jvm/java-15-openjdk-amd64/bin" >> $GITHUB_PATH

- name: Checkout cleanup script
uses: actions/checkout@v2
Expand All @@ -45,7 +45,7 @@ jobs:
test_bootstrapped:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2020-09-08
image: lampepfl/dotty:2020-11-19
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
Expand All @@ -54,8 +54,8 @@ jobs:
startsWith(github.event.ref, 'refs/tags/sbt-dotty-'))"

steps:
- name: Set JDK 14 as default
run: echo "/usr/lib/jvm/java-14-openjdk-amd64/bin" >> $GITHUB_PATH
- name: Set JDK 15 as default
run: echo "/usr/lib/jvm/java-15-openjdk-amd64/bin" >> $GITHUB_PATH

- name: Checkout cleanup script
uses: actions/checkout@v2
Expand Down Expand Up @@ -110,7 +110,7 @@ jobs:
community_build_a:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2020-09-08
image: lampepfl/dotty:2020-11-19
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
Expand Down Expand Up @@ -138,7 +138,7 @@ jobs:
community_build_b:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2020-09-08
image: lampepfl/dotty:2020-11-19
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
Expand Down Expand Up @@ -166,7 +166,7 @@ jobs:
test_sbt:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2020-09-08
image: lampepfl/dotty:2020-11-19
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
Expand Down Expand Up @@ -196,7 +196,7 @@ jobs:
test_java8:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2020-09-08
image: lampepfl/dotty:2020-11-19
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
Expand Down Expand Up @@ -231,7 +231,7 @@ jobs:
publish_nightly:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2020-09-08
image: lampepfl/dotty:2020-11-19
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
Expand Down Expand Up @@ -265,7 +265,7 @@ jobs:
nightly_documentation:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2020-09-08
image: lampepfl/dotty:2020-11-19
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
Expand Down Expand Up @@ -306,7 +306,7 @@ jobs:
publish_release:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2020-09-08
image: lampepfl/dotty:2020-11-19
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
Expand Down Expand Up @@ -388,7 +388,7 @@ jobs:
release_documentation:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2020-09-08
image: lampepfl/dotty:2020-11-19
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
Expand Down Expand Up @@ -432,7 +432,7 @@ jobs:
publish_sbt_release:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2020-09-08
image: lampepfl/dotty:2020-11-19
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
Expand Down
Submodule scala-parser-combinators updated 34 files
+6 −9 .travis.yml
+6 −4 README.md
+57 −18 build.sbt
+8 −8 build.sh
+1 −1 docs/Getting_Started.md
+0 −3 jvm/src/main/scala/scala/util/parsing/input/PositionCache.scala
+1 −1 project/build.properties
+3 −3 project/plugins.sbt
+0 −4 shared/src/main/scala/scala/util/parsing/combinator/ImplicitConversions.scala
+0 −1 shared/src/main/scala/scala/util/parsing/combinator/JavaTokenParsers.scala
+3 −5 shared/src/main/scala/scala/util/parsing/combinator/PackratParsers.scala
+66 −35 shared/src/main/scala/scala/util/parsing/combinator/Parsers.scala
+3 −2 shared/src/main/scala/scala/util/parsing/combinator/RegexParsers.scala
+0 −2 shared/src/main/scala/scala/util/parsing/combinator/lexical/Lexical.scala
+0 −2 shared/src/main/scala/scala/util/parsing/combinator/lexical/Scanners.scala
+0 −5 shared/src/main/scala/scala/util/parsing/combinator/lexical/StdLexical.scala
+0 −2 shared/src/main/scala/scala/util/parsing/combinator/syntactical/StandardTokenParsers.scala
+0 −2 shared/src/main/scala/scala/util/parsing/combinator/syntactical/StdTokenParsers.scala
+0 −3 shared/src/main/scala/scala/util/parsing/combinator/syntactical/TokenParsers.scala
+0 −3 shared/src/main/scala/scala/util/parsing/combinator/token/StdTokens.scala
+0 −3 shared/src/main/scala/scala/util/parsing/combinator/token/Tokens.scala
+2 −11 shared/src/main/scala/scala/util/parsing/input/CharArrayReader.scala
+0 −4 shared/src/main/scala/scala/util/parsing/input/CharSequenceReader.scala
+0 −3 shared/src/main/scala/scala/util/parsing/input/NoPosition.scala
+0 −2 shared/src/main/scala/scala/util/parsing/input/OffsetPosition.scala
+0 −1 shared/src/main/scala/scala/util/parsing/input/PagedSeq.scala
+1 −6 shared/src/main/scala/scala/util/parsing/input/PagedSeqReader.scala
+0 −3 shared/src/main/scala/scala/util/parsing/input/Position.scala
+0 −2 shared/src/main/scala/scala/util/parsing/input/Positional.scala
+0 −3 shared/src/main/scala/scala/util/parsing/input/Reader.scala
+0 −5 shared/src/main/scala/scala/util/parsing/input/StreamReader.scala
+4 −4 shared/src/test/scala/scala/util/parsing/combinator/JavaTokenParsersTest.scala
+67 −0 shared/src/test/scala/scala/util/parsing/combinator/RegexParsersTest.scala
+1 −1 shared/src/test/scala/scala/util/parsing/combinator/t7483.scala
Expand Up @@ -297,7 +297,7 @@ object projects:

lazy val scalaParserCombinators = SbtCommunityProject(
project = "scala-parser-combinators",
sbtTestCommand = "parserCombinators/test",
sbtTestCommand = "parserCombinatorsJVM/test",
)

lazy val dottyCpsAsync = SbtCommunityProject(
Expand Down
14 changes: 8 additions & 6 deletions compiler/src/dotty/tools/dotc/core/NameOps.scala
Expand Up @@ -2,6 +2,7 @@ package dotty.tools.dotc
package core

import java.security.MessageDigest
import java.nio.CharBuffer
import scala.io.Codec
import Int.MaxValue
import Names._, StdNames._, Contexts._, Symbols._, Flags._, NameKinds._, Types._
Expand Down Expand Up @@ -32,17 +33,18 @@ object NameOps {
def apply(s: String): String = {
val marker = "$$$$"

val MaxNameLength = (CLASSFILE_NAME_CHAR_LIMIT - 6) min
val MaxNameLength = (CLASSFILE_NAME_CHAR_LIMIT - 6).min(
2 * (CLASSFILE_NAME_CHAR_LIMIT - 6 - 2 * marker.length - 32)
)

def toMD5(s: String, edge: Int): String = {
val prefix = s take edge
val suffix = s takeRight edge
val prefix = s.take(edge)
val suffix = s.takeRight(edge)

val cs = s.toArray
val bytes = Codec toUTF8 cs
md5 update bytes
val md5chars = (md5.digest() map (b => (b & 0xFF).toHexString)).mkString
val bytes = Codec.toUTF8(CharBuffer.wrap(cs))
md5.update(bytes)
val md5chars = md5.digest().map(b => (b & 0xFF).toHexString).mkString

prefix + marker + md5chars + marker + suffix
}
Expand Down
2 changes: 1 addition & 1 deletion compiler/src/dotty/tools/dotc/typer/Applications.scala
Expand Up @@ -724,7 +724,7 @@ trait Applications extends Compatibility {

def makeVarArg(n: Int, elemFormal: Type): Unit = {
val args = typedArgBuf.takeRight(n).toList
typedArgBuf.trimEnd(n)
typedArgBuf.dropRightInPlace(n)
val elemtpt = TypeTree(elemFormal)
typedArgBuf += seqToRepeated(SeqLiteral(args, elemtpt))
}
Expand Down
4 changes: 2 additions & 2 deletions project/Build.scala
Expand Up @@ -72,8 +72,8 @@ object Build {
* scala-library.
*/
def stdlibVersion(implicit mode: Mode): String = mode match {
case NonBootstrapped => "2.13.3"
case Bootstrapped => "2.13.3"
case NonBootstrapped => "2.13.4"
case Bootstrapped => "2.13.4"
}

val dottyOrganization = "org.scala-lang"
Expand Down
2 changes: 1 addition & 1 deletion sbt-dotty/sbt-test/scala2-compat/i8847/build.sbt
@@ -1,5 +1,5 @@
val scala3Version = sys.props("plugin.scalaVersion")
val scala2Version = "2.13.3"
val scala2Version = "2.13.4"

lazy val `i8847-lib` = (project in file ("lib"))
.settings(scalaVersion := scala2Version)
Expand Down
2 changes: 1 addition & 1 deletion sbt-dotty/sbt-test/scala2-compat/i9916a/build.sbt
@@ -1,5 +1,5 @@
val scala3Version = sys.props("plugin.scalaVersion")
val scala2Version = "2.13.3"
val scala2Version = "2.13.4"

lazy val `i9916a-lib` = (project in file ("lib"))
.settings(scalaVersion := scala2Version)
Expand Down
2 changes: 1 addition & 1 deletion sbt-dotty/sbt-test/scala2-compat/i9916b/build.sbt
@@ -1,5 +1,5 @@
val scala3Version = sys.props("plugin.scalaVersion")
val scala2Version = "2.13.3"
val scala2Version = "2.13.4"

lazy val `i9916b-lib` = (project in file ("lib"))
.settings(scalaVersion := scala2Version)
Expand Down
6 changes: 3 additions & 3 deletions tests/neg/missing-implicit-2.check
@@ -1,12 +1,12 @@
-- Error: tests/neg/missing-implicit-2.scala:4:24 ----------------------------------------------------------------------
4 |val f = Future[Unit] { } // error
| ^
| Cannot find an implicit ExecutionContext. You might pass
| Cannot find an implicit ExecutionContext. You might add
| an (implicit ec: ExecutionContext) parameter to your method.
|
| The ExecutionContext is used to configure how and on which
| thread pools Futures will run, so the specific ExecutionContext
| that is selected is important.
| thread pools asynchronous tasks (such as Futures) will run,
| so the specific ExecutionContext that is selected is important.
|
| If your application does not define an ExecutionContext elsewhere,
| consider using Scala's global ExecutionContext by defining
Expand Down
2 changes: 0 additions & 2 deletions tests/run/t6260-delambdafy.check
@@ -1,5 +1,3 @@
f(C@2e)

apply
get$Lambda
writeReplace
4 changes: 3 additions & 1 deletion tests/run/t6260-delambdafy.scala
@@ -1,10 +1,12 @@
import java.lang.reflect.Modifier

class C[A](private val a: Any) extends AnyVal

object Test {
val f = (x: C[Any]) => {println(s"f($x)"); x}
def main(args: Array[String]): Unit = {
f(new C("."))
val methods = f.getClass.getDeclaredMethods.map(_.getName).sorted
val methods = f.getClass.getDeclaredMethods.filter(m => (m.getModifiers & Modifier.PRIVATE) == 0).map(_.getName).sorted
println("")
println(methods.mkString("\n"))
}
Expand Down
1 change: 0 additions & 1 deletion tests/run/t8153.check

This file was deleted.

14 changes: 0 additions & 14 deletions tests/run/t8153.scala

This file was deleted.

0 comments on commit 60976ce

Please sign in to comment.