diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 00000000..a30446d5
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,25 @@
+name: test
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+jobs:
+ test:
+ strategy:
+ fail-fast: false
+ matrix:
+ java: [8, 11, 17-ea]
+ scala: [2.11.12, 2.12.14, 2.13.6, 3.0.2]
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+ - uses: coursier/cache-action@v6
+ - uses: actions/setup-java@v2
+ with:
+ distribution: adopt
+ java-version: ${{matrix.java}}
+ - name: Test
+ run: sbt ++${{matrix.scala}} test headerCheck package
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 00000000..dc337111
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,21 @@
+name: Release
+on:
+ push:
+ tags: ["*"]
+jobs:
+ publish:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+ - uses: actions/setup-java@v2
+ with:
+ distribution: adopt
+ java-version: 8
+ - run: sbt versionCheck ci-release
+ env:
+ PGP_PASSPHRASE: ${{secrets.PGP_PASSPHRASE}}
+ PGP_SECRET: ${{secrets.PGP_SECRET}}
+ SONATYPE_PASSWORD: ${{secrets.SONATYPE_PASSWORD}}
+ SONATYPE_USERNAME: ${{secrets.SONATYPE_USERNAME}}
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 71acec05..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-version: ~> 1.0 # needed for imports
-import: scala/scala-dev:travis/default.yml
-
-language: scala
-
-scala:
- - 3.0.1
- - 2.11.12
- - 2.12.14
- - 2.13.6
-
-env:
- - ADOPTOPENJDK=8 SCALAJS_VERSION= CACHE_WORKAROUND=see-PR-335
- - ADOPTOPENJDK=8 SCALAJS_VERSION=1.7.0 CACHE_WORKAROUND=see-PR-335
- - ADOPTOPENJDK=11 SCALAJS_VERSION= CACHE_WORKAROUND=see-PR-335
- - ADOPTOPENJDK=17 SCALAJS_VERSION= CACHE_WORKAROUND=see-PR-335
-
-matrix:
- include:
- - scala: 2.11.12
- env: ADOPTOPENJDK=8 SCALANATIVE_VERSION=0.4.0
- - scala: 2.12.14
- env: ADOPTOPENJDK=8 SCALANATIVE_VERSION=0.4.0
- - scala: 2.13.6
- env: ADOPTOPENJDK=8 SCALANATIVE_VERSION=0.4.0
-
-install:
- - git fetch --tags # get all tags for sbt-dynver
-
-script: ./build.sh
-
-notifications:
- email:
- - seth.tisue@lightbend.com
diff --git a/README.md b/README.md
index afa34cbc..509e8cc8 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,5 @@
# scala-parser-combinators
-[
](https://travis-ci.org/scala/scala-parser-combinators)
[
](http://search.maven.org/#search%7Cga%7C1%7Cg%3Aorg.scala-lang.modules%20a%3Ascala-parser-combinators_2.12)
[
](http://search.maven.org/#search%7Cga%7C1%7Cg%3Aorg.scala-lang.modules%20a%3Ascala-parser-combinators_2.13)
[
](http://search.maven.org/#search%7Cga%7C1%7Cg%3Aorg.scala-lang.modules%20a%3Ascala-parser-combinators_3)
diff --git a/build.sbt b/build.sbt
index da3e6db4..d2101c27 100644
--- a/build.sbt
+++ b/build.sbt
@@ -2,10 +2,12 @@ lazy val root = project.in(file("."))
.aggregate(parserCombinatorsJVM, parserCombinatorsJS, parserCombinatorsNative)
.settings(
publish / skip := true,
+ ThisBuild / licenses += (("Apache-2.0", url("https://www.apache.org/licenses/LICENSE-2.0"))),
+ ThisBuild / startYear := Some(2004),
ThisBuild / versionScheme := Some("early-semver"),
ThisBuild / versionPolicyIntention := Compatibility.BinaryCompatible,
// because it doesn't declare it itself
- ThisBuild / versionPolicyDependencySchemes += "org.scala-js" %% "scalajs-library" % "semver-spec"
+ ThisBuild / libraryDependencySchemes += "org.scala-js" %% "scalajs-library" % "semver-spec"
)
lazy val parserCombinators = crossProject(JVMPlatform, JSPlatform, NativePlatform)
@@ -15,7 +17,8 @@ lazy val parserCombinators = crossProject(JVMPlatform, JSPlatform, NativePlatfor
name := "scala-parser-combinators",
scalaModuleAutomaticModuleName := Some("scala.util.parsing"),
- scalaModuleMimaPreviousVersion := Some("2.0.0"),
+ crossScalaVersions := Seq("2.13.6", "2.12.14", "2.11.12", "3.0.2"),
+ scalaVersion := crossScalaVersions.value.head,
libraryDependencies += "junit" % "junit" % "4.13.2" % Test,
libraryDependencies += "com.novocode" % "junit-interface" % "0.11" % Test,
@@ -89,7 +92,7 @@ lazy val parserCombinators = crossProject(JVMPlatform, JSPlatform, NativePlatfor
)
.jsEnablePlugins(ScalaJSJUnitPlugin)
.nativeSettings(
- scalaModuleMimaPreviousVersion := None, // https://github.com/scala/scala-parser-combinators/pull/381
+ ThisBuild / versionPolicyIntention := Compatibility.None,
compile / skip := System.getProperty("java.version").startsWith("1.6") || !scalaVersion.value.startsWith("2"),
test := {},
libraryDependencies := {
diff --git a/build.sh b/build.sh
deleted file mode 100755
index 4aa5cd2e..00000000
--- a/build.sh
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/bash
-
-set -e
-
-# Builds of tagged revisions are published to sonatype staging.
-
-# Travis runs a build on new revisions and on new tags, so a tagged revision is built twice.
-# Builds for a tag have TRAVIS_TAG defined, which we use for identifying tagged builds.
-
-# sbt-dynver sets the version number from the tag
-# sbt-travisci sets the Scala version from the travis job matrix
-
-# To back-publish an existing release for a new Scala / Scala.js / Scala Native version:
-# - check out the tag for the version that needs to be published
-# - change `.travis.yml` to adjust the version numbers and trim down the build matrix as necessary
-# - commit the changes and tag this new revision with an arbitrary suffix after a hash, e.g.,
-# `v1.2.3#dotty-0.27` (the suffix is ignored, the version will be `1.2.3`)
-
-# We release on JDK 8 (for Scala 2.x and Dotty 0.x)
-isReleaseJob() {
- if [[ "$ADOPTOPENJDK" == "8" ]]; then
- true
- else
- false
- fi
-}
-
-if [[ "$SCALAJS_VERSION" != "" ]]; then
- projectPrefix="parserCombinatorsJS/"
-elif [[ "$SCALANATIVE_VERSION" != "" ]]; then
- projectPrefix="parserCombinatorsNative/"
-else
- projectPrefix="parserCombinatorsJVM/"
-fi
-
-verPat="[0-9]+\.[0-9]+\.[0-9]+(-[A-Za-z0-9-]+)?"
-tagPat="^v$verPat(#.*)?$"
-
-if [[ "$TRAVIS_TAG" =~ $tagPat ]]; then
- releaseTask="ci-release"
- if ! isReleaseJob; then
- echo "Not releasing on Java $ADOPTOPENJDK with Scala $TRAVIS_SCALA_VERSION"
- exit 0
- fi
-fi
-
-# default is +publishSigned; we cross-build with travis jobs, not sbt's crossScalaVersions
-export CI_RELEASE="${projectPrefix}publishSigned"
-export CI_SNAPSHOT_RELEASE="${projectPrefix}publish"
-
-# default is sonatypeBundleRelease, which closes and releases the staging repo
-# see https://github.com/xerial/sbt-sonatype#commands
-# for now, until we're confident in the new release scripts, just close the staging repo.
-export CI_SONATYPE_RELEASE="; sonatypePrepare; sonatypeBundleUpload; sonatypeClose"
-
-sbt clean ${projectPrefix}test ${projectPrefix}versionPolicyCheck ${projectPrefix}publishLocal $releaseTask
diff --git a/project/plugins.sbt b/project/plugins.sbt
index 818ee996..f0454240 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -1,13 +1,7 @@
-val scalaJSVersion =
- Option(System.getenv("SCALAJS_VERSION")).filter(_.nonEmpty).getOrElse("1.7.0")
-
-val scalaNativeVersion =
- Option(System.getenv("SCALANATIVE_VERSION")).filter(_.nonEmpty).getOrElse("0.4.0")
-
-addSbtPlugin("org.scala-lang.modules" % "sbt-scala-module" % "2.4.0")
+addSbtPlugin("org.scala-lang.modules" % "sbt-scala-module" % "3.0.0")
addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.1.0")
-addSbtPlugin("org.scala-js" % "sbt-scalajs" % scalaJSVersion)
+addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.7.0")
addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.1.0")
-addSbtPlugin("org.scala-native" % "sbt-scala-native" % scalaNativeVersion)
+addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.0")
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/JavaTokenParsersTest.scala b/shared/src/test/scala/scala/util/parsing/combinator/JavaTokenParsersTest.scala
index 64153600..486e2e1d 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/JavaTokenParsersTest.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/JavaTokenParsersTest.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
package scala.util.parsing.combinator
import scala.language.implicitConversions
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/PackratParsersTest.scala b/shared/src/test/scala/scala/util/parsing/combinator/PackratParsersTest.scala
index bbe9fb50..2bf7881f 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/PackratParsersTest.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/PackratParsersTest.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
package scala.util.parsing.combinator
import org.junit.Test
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/RegexParsersTest.scala b/shared/src/test/scala/scala/util/parsing/combinator/RegexParsersTest.scala
index 58d9d0b9..46208ce2 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/RegexParsersTest.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/RegexParsersTest.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
package scala.util.parsing.combinator
import scala.language.implicitConversions
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/gh242.scala b/shared/src/test/scala/scala/util/parsing/combinator/gh242.scala
index f8c65925..e2ff9145 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/gh242.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/gh242.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
import org.junit.Assert.assertEquals
import org.junit.Test
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/gh29.scala b/shared/src/test/scala/scala/util/parsing/combinator/gh29.scala
index 906ed03b..fe6c2b78 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/gh29.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/gh29.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
package scala.util.parsing.combinator
import org.junit.Test
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/gh45.scala b/shared/src/test/scala/scala/util/parsing/combinator/gh45.scala
index ab11cf46..e3cf2bf6 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/gh45.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/gh45.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
package scala.util.parsing.combinator
import scala.language.implicitConversions
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/gh56.scala b/shared/src/test/scala/scala/util/parsing/combinator/gh56.scala
index 36c4fb1d..be76c23d 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/gh56.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/gh56.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
package scala.util.parsing.combinator
import scala.language.postfixOps
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/gh72.scala b/shared/src/test/scala/scala/util/parsing/combinator/gh72.scala
index 2321d107..e37f35dd 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/gh72.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/gh72.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
import scala.language.implicitConversions
import scala.util.parsing.combinator.Parsers
import scala.util.parsing.input.CharSequenceReader
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/lexical/StdLexicalTest.scala b/shared/src/test/scala/scala/util/parsing/combinator/lexical/StdLexicalTest.scala
index f8fbd7b8..984af019 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/lexical/StdLexicalTest.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/lexical/StdLexicalTest.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
package scala.util.parsing.combinator.lexical
import org.junit.Test
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/t0700.scala b/shared/src/test/scala/scala/util/parsing/combinator/t0700.scala
index c7b94f68..7e7ac812 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/t0700.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/t0700.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
import java.io.{File,StringReader}
import scala.language.implicitConversions
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/t1100.scala b/shared/src/test/scala/scala/util/parsing/combinator/t1100.scala
index e7a85748..57eb5686 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/t1100.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/t1100.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
import scala.util.parsing.combinator.Parsers
import scala.util.parsing.input.CharSequenceReader
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/t1229.scala b/shared/src/test/scala/scala/util/parsing/combinator/t1229.scala
index 7ecedf9c..881aed0f 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/t1229.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/t1229.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
import scala.util.parsing.combinator.RegexParsers
import org.junit.Test
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/t3212.scala b/shared/src/test/scala/scala/util/parsing/combinator/t3212.scala
index 1b24e607..e5cfe125 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/t3212.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/t3212.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
package scala.util.parsing.combinator
import org.junit.Test
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/t4138.scala b/shared/src/test/scala/scala/util/parsing/combinator/t4138.scala
index 87f8fde8..13dbd72c 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/t4138.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/t4138.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
import org.junit.Test
import org.junit.Assert.assertEquals
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/t5514.scala b/shared/src/test/scala/scala/util/parsing/combinator/t5514.scala
index 72522036..75622749 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/t5514.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/t5514.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
import scala.language.implicitConversions
import scala.util.parsing.combinator.Parsers
import scala.util.parsing.input.Reader
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/t5669.scala b/shared/src/test/scala/scala/util/parsing/combinator/t5669.scala
index 25b5cb56..1bdb240d 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/t5669.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/t5669.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
package scala.util.parsing.combinator
import scala.language.implicitConversions
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/t6067.scala b/shared/src/test/scala/scala/util/parsing/combinator/t6067.scala
index a5c80a06..6381e2c8 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/t6067.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/t6067.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
import scala.util.parsing.combinator._
import org.junit.Test
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/t6464.scala b/shared/src/test/scala/scala/util/parsing/combinator/t6464.scala
index a0949d76..b64bedfb 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/t6464.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/t6464.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
import scala.language.implicitConversions
import scala.util.parsing.input.CharSequenceReader
import scala.util.parsing.combinator.RegexParsers
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/t7483.scala b/shared/src/test/scala/scala/util/parsing/combinator/t7483.scala
index 57d6c455..07cfe395 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/t7483.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/t7483.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
package scala.util.parsing.combinator
import scala.util.parsing.input.{CharSequenceReader, OffsetPosition}
diff --git a/shared/src/test/scala/scala/util/parsing/combinator/t8879.scala b/shared/src/test/scala/scala/util/parsing/combinator/t8879.scala
index 09a7e22d..1bece711 100644
--- a/shared/src/test/scala/scala/util/parsing/combinator/t8879.scala
+++ b/shared/src/test/scala/scala/util/parsing/combinator/t8879.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
import scala.util.parsing.input._
import org.junit.Test
diff --git a/shared/src/test/scala/scala/util/parsing/input/OffsetPositionTest.scala b/shared/src/test/scala/scala/util/parsing/input/OffsetPositionTest.scala
index 065cb0e2..d339b98b 100644
--- a/shared/src/test/scala/scala/util/parsing/input/OffsetPositionTest.scala
+++ b/shared/src/test/scala/scala/util/parsing/input/OffsetPositionTest.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
package scala.util.parsing.input
import org.junit.Test
diff --git a/shared/src/test/scala/scala/util/parsing/input/gh178.scala b/shared/src/test/scala/scala/util/parsing/input/gh178.scala
index 0ab9ead2..83c80bee 100644
--- a/shared/src/test/scala/scala/util/parsing/input/gh178.scala
+++ b/shared/src/test/scala/scala/util/parsing/input/gh178.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
package scala.util.parsing.input
import org.junit.Assert.assertEquals
diff --git a/shared/src/test/scala/scala/util/parsing/input/gh64.scala b/shared/src/test/scala/scala/util/parsing/input/gh64.scala
index 20b69849..188efed1 100644
--- a/shared/src/test/scala/scala/util/parsing/input/gh64.scala
+++ b/shared/src/test/scala/scala/util/parsing/input/gh64.scala
@@ -1,3 +1,15 @@
+/*
+ * Scala (https://www.scala-lang.org)
+ *
+ * Copyright EPFL and Lightbend, Inc.
+ *
+ * Licensed under Apache License 2.0
+ * (http://www.apache.org/licenses/LICENSE-2.0).
+ *
+ * See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ */
+
package scala.util.parsing.input
import org.junit.Assert._