Skip to content

Commit 65a6bf0

Browse files
committed
chore: Only verify Jdk 9 classes on jdk 11.
1 parent 25f80a1 commit 65a6bf0

File tree

3 files changed

+29
-17
lines changed

3 files changed

+29
-17
lines changed

.github/workflows/nightly-builds.yml

+4-8
Original file line numberDiff line numberDiff line change
@@ -181,19 +181,15 @@ jobs:
181181
"+~ ${{ matrix.scalaVersion }} publishLocal publishM2"
182182
183183
- name: Install scala-cli
184-
if: ${{ contains('11,17,21', matrix.javaVersion) }}
184+
if: ${{ matrix.javaVersion == 11 }}
185185
run: |-
186186
curl -sS "https://virtuslab.github.io/scala-cli-packages/KEY.gpg" | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/scala-cli.gpg 2>/dev/null
187187
sudo curl -s --compressed -o /etc/apt/sources.list.d/scala_cli_packages.list "https://virtuslab.github.io/scala-cli-packages/debian/scala_cli_packages.list"
188188
sudo apt update
189189
sudo apt install scala-cli
190190
191191
- name: Use Scala-CLI to verify jdk 9 classes
192-
if: ${{ contains('11,17,21', matrix.javaVersion) }}
192+
if: ${{ matrix.javaVersion == 11 }}
193193
run: |-
194-
scala-cli --version
195-
echo "Starting verification with Scala-CLI"
196-
scala-cli stream/target/scala-cli/VerifyJDK9Classes.sc && echo "Verification successful" || (
197-
echo "Error when VerifyJDK9Classes"
198-
exit 1
199-
)
194+
chmod +x .github/workflows/verify-jdk9-classes.sh
195+
.github/workflows/verify-jdk9-classes.sh
+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/bin/bash
2+
3+
echo "Checking Scala CLI version..."
4+
scala-cli --version
5+
6+
echo "Starting verification with Scala-CLI..."
7+
8+
for file in stream/target/scala-cli/*.sc; do
9+
echo "Starting verification for with file: $file."
10+
if scala-cli "$file" ; then
11+
echo "Verification successful for $file."
12+
else
13+
echo "Error when verifying $file."
14+
exit 1
15+
fi
16+
done
17+
18+
echo "All verifications successful."

project/VerifyJDK9Classes.scala

+7-9
Original file line numberDiff line numberDiff line change
@@ -22,24 +22,23 @@ object VerifyJDK9Classes {
2222
lazy val settings: Seq[Setting[_]] = inConfig(Compile) {
2323
Seq {
2424
sourceGenerators += {
25-
generateAndWriteScalaCLIScript(
26-
target,
27-
_ / "scala-cli" / "VerifyJDK9Classes.sc")
25+
generateAndWriteScalaCLIScript(target)
2826
}
2927
}
3028
}
3129

32-
def generateAndWriteScalaCLIScript(dir: SettingKey[File], locate: File => File): Def.Initialize[Task[Seq[sbt.File]]] =
30+
def generateAndWriteScalaCLIScript(dir: SettingKey[File]): Def.Initialize[Task[Seq[sbt.File]]] =
3331
Def.task[Seq[File]] {
34-
val script = generateScalaCLIScript(version.value)
35-
val file = locate(dir.value)
32+
val binaryVersion = scalaBinaryVersion.value
33+
val script = generateScalaCLIScript(version.value, binaryVersion)
34+
val file = dir.value / "scala-cli" / s"VerifyJDK9Classes-${binaryVersion}.sc"
3635
val content = script.stripMargin.format(version.value)
3736
if (!file.exists || IO.read(file) != content) IO.write(file, content)
3837
// the generated file is not used.
3938
Nil
4039
}
4140

42-
private def generateScalaCLIScript(version: String): String =
41+
private def generateScalaCLIScript(version: String, scalaBinaryVersion: String): String =
4342
s"""
4443
|/*
4544
| * Licensed to the Apache Software Foundation (ASF) under one or more
@@ -57,9 +56,8 @@ object VerifyJDK9Classes {
5756
| * See the License for the specific language governing permissions and
5857
| * limitations under the License.
5958
| */
60-
|//> using scala 2.13
59+
|//> using scala ${scalaBinaryVersion}
6160
|//> using dep "org.apache.pekko::pekko-stream:${version}"
62-
|////> using jvm 11
6361
|object VerifyJDK9Classes {
6462
| def main(args: Array[String]): Unit = {
6563
| import org.apache.pekko.actor.ActorSystem

0 commit comments

Comments
 (0)