Skip to content

Commit 9167f53

Browse files
authored
Bump Typelevel Toolkit to 0.2.0 and enable it for Scala Native 0.5.* (#4244)
1 parent 44b4da9 commit 9167f53

8 files changed

Lines changed: 32 additions & 27 deletions

File tree

modules/integration/src/test/scala/scala/cli/integration/RunScalaNativeTestDefinitions.scala

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package scala.cli.integration
22

33
import com.eed3si9n.expecty.Expecty.expect
4+
import coursier.version.Version
45

56
import scala.cli.integration.TestUtil.removeAnsiColors
67
import scala.util.Properties
@@ -313,9 +314,8 @@ trait RunScalaNativeTestDefinitions { this: RunTestDefinitions =>
313314
titleStr = if (useDirectives) "with directives" else "with command line args"
314315
explicitNativeVersion <-
315316
Seq(Some(Constants.scalaNativeVersion04), Some(Constants.scalaNativeVersion05), None)
316-
actualNativeVersion = explicitNativeVersion.getOrElse(Constants.scalaNativeVersion)
317-
nativeVersionStr = explicitNativeVersion.map(v => s"explicit: $v").getOrElse("default")
318-
nativeVersionOpts = explicitNativeVersion.toSeq.flatMap(v => Seq("--native-version", v))
317+
nativeVersionStr = explicitNativeVersion.map(v => s"explicit: $v").getOrElse("default")
318+
nativeVersionOpts = explicitNativeVersion.toSeq.flatMap(v => Seq("--native-version", v))
319319
nativeVersionDirectiveStr =
320320
explicitNativeVersion
321321
.map(v => s"""//> using nativeVersion $v
@@ -327,8 +327,8 @@ trait RunScalaNativeTestDefinitions { this: RunTestDefinitions =>
327327
else "default"
328328
typelevelToolkitVersion = "default"
329329
} {
330-
// for the time being, typelevel toolkit does nto support Scala Native 0.5.x
331-
if (!explicitNativeVersion.contains(Constants.scalaNativeVersion05))
330+
// Typelevel toolkit 0.2.x is published for Scala Native 0.5+ only (no native0.4 artifacts).
331+
if (!explicitNativeVersion.contains(Constants.scalaNativeVersion04))
332332
test(
333333
s"native ($nativeVersionStr) & typelevel toolkit ($typelevelToolkitVersion) $titleStr"
334334
) {
@@ -361,7 +361,11 @@ trait RunScalaNativeTestDefinitions { this: RunTestDefinitions =>
361361
val result = os.proc(TestUtil.cli, "run", "toolkit.scala", cmdLineOpts, extraOptions)
362362
.call(cwd = root, stderr = os.Pipe)
363363
expect(result.out.trim() == expectedMessage)
364-
if (actualNativeVersion != Constants.typelevelToolkitMaxScalaNative) {
364+
if (
365+
explicitNativeVersion.isEmpty &&
366+
Version(Constants.scalaNativeVersion) >
367+
Version(Constants.typelevelToolkitMaxScalaNative)
368+
) {
365369
val err = result.err.trim()
366370
expect(
367371
err.contains(

modules/integration/src/test/scala/scala/cli/integration/RunTestDefinitions.scala

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1366,13 +1366,14 @@ abstract class RunTestDefinitions
13661366

13671367
test("should add typelevel toolkit-test to classpath") {
13681368
val inputs = TestInputs(
1369-
os.rel / "Hello.test.scala" ->
1369+
os.rel / "HelloSuite.test.scala" ->
13701370
s"""|import cats.effect.*
1371-
|import munit.CatsEffectSuite
1372-
|class HelloSuite extends CatsEffectSuite {
1373-
| // IO should be added to classpath by typelevel toolkit-test
1371+
|import weaver._
1372+
|
1373+
|object HelloSuite extends SimpleIOSuite {
13741374
| test("warm hello from the sun is coming") {
1375-
| (IO("i love to live in the") *> IO("sun")).assertEquals("sun")
1375+
| IO.println("typelevel-toolkit-test-ok") *>
1376+
| (IO("i love to live in the") *> IO("sun")).map(expect.eql(_, "sun"))
13761377
| }
13771378
|}""".stripMargin
13781379
)
@@ -1386,7 +1387,7 @@ abstract class RunTestDefinitions
13861387
)
13871388
.call(cwd = root).out.text()
13881389

1389-
expect(output.contains("+")) // test succeeded
1390+
expect(output.contains("typelevel-toolkit-test-ok"))
13901391
}
13911392
}
13921393

project/deps/package.mill

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ object Deps {
137137
def scalaNative05 = "0.5.11"
138138
def scalaNative = scalaNative05
139139
def maxScalaNativeForToolkit = scalaNative05
140-
def maxScalaNativeForTypelevelToolkit = scalaNative04
140+
def maxScalaNativeForTypelevelToolkit = scalaNative05
141141
def maxScalaNativeForScalaPy = scalaNative04
142142
def maxScalaNativeForMillExport = scalaNative05
143143
def scalaPackager = "0.2.1"
@@ -279,7 +279,7 @@ object Deps {
279279
val toolkitVersionForNative05 = toolkitVersion
280280
def toolkit = mvn"org.scala-lang:toolkit:$toolkitVersion"
281281
def toolkitTest = mvn"org.scala-lang:toolkit-test:$toolkitVersion"
282-
val typelevelToolkitVersion = "0.1.29"
282+
val typelevelToolkitVersion = "0.2.0"
283283
def typelevelToolkit = mvn"org.typelevel:toolkit:$typelevelToolkitVersion"
284284
// Lives at https://github.com/VirtusLab/no-crc32-zip-input-stream, see #865
285285
// This provides a ZipInputStream that doesn't verify CRC32 checksums, that users

website/docs/reference/cli-options.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1703,7 +1703,7 @@ Copy compilation results to output directory using either relative or absolute p
17031703

17041704
Aliases: `--toolkit`
17051705

1706-
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.1.29
1706+
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.2.0
17071707

17081708
### `--exclude`
17091709

website/docs/reference/directives.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -693,7 +693,7 @@ Set the test framework
693693

694694
### Toolkit
695695

696-
Use a toolkit as dependency (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.1.29
696+
Use a toolkit as dependency (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.2.0
697697

698698
`//> using toolkit` _version_
699699

website/docs/reference/scala-command/cli-options.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1156,7 +1156,7 @@ Aliases: `--toolkit`
11561156

11571157
`IMPLEMENTATION specific` per Scala Runner specification
11581158

1159-
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.1.29
1159+
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.2.0
11601160

11611161
### `--exclude`
11621162

website/docs/reference/scala-command/directives.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,7 @@ Set the test framework
475475

476476
### Toolkit
477477

478-
Use a toolkit as dependency (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.1.29
478+
Use a toolkit as dependency (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.2.0
479479

480480
`//> using toolkit` _version_
481481

website/docs/reference/scala-command/runner-specification.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,7 @@ Aliases: `--help-fmt` ,`--scalafmt-help` ,`--fmt-help`
642642

643643
**--with-toolkit**
644644

645-
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.1.29
645+
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.2.0
646646

647647
Aliases: `--toolkit`
648648

@@ -1451,7 +1451,7 @@ Aliases: `--help-fmt` ,`--scalafmt-help` ,`--fmt-help`
14511451

14521452
**--with-toolkit**
14531453

1454-
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.1.29
1454+
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.2.0
14551455

14561456
Aliases: `--toolkit`
14571457

@@ -2076,7 +2076,7 @@ Aliases: `--help-fmt` ,`--scalafmt-help` ,`--fmt-help`
20762076

20772077
**--with-toolkit**
20782078

2079-
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.1.29
2079+
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.2.0
20802080

20812081
Aliases: `--toolkit`
20822082

@@ -2731,7 +2731,7 @@ Aliases: `--help-fmt` ,`--scalafmt-help` ,`--fmt-help`
27312731

27322732
**--with-toolkit**
27332733

2734-
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.1.29
2734+
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.2.0
27352735

27362736
Aliases: `--toolkit`
27372737

@@ -3395,7 +3395,7 @@ Aliases: `--help-fmt` ,`--scalafmt-help` ,`--fmt-help`
33953395

33963396
**--with-toolkit**
33973397

3398-
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.1.29
3398+
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.2.0
33993399

34003400
Aliases: `--toolkit`
34013401

@@ -4017,7 +4017,7 @@ Aliases: `--help-fmt` ,`--scalafmt-help` ,`--fmt-help`
40174017

40184018
**--with-toolkit**
40194019

4020-
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.1.29
4020+
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.2.0
40214021

40224022
Aliases: `--toolkit`
40234023

@@ -4717,7 +4717,7 @@ Aliases: `--help-fmt` ,`--scalafmt-help` ,`--fmt-help`
47174717

47184718
**--with-toolkit**
47194719

4720-
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.1.29
4720+
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.2.0
47214721

47224722
Aliases: `--toolkit`
47234723

@@ -5427,7 +5427,7 @@ Aliases: `--help-fmt` ,`--scalafmt-help` ,`--fmt-help`
54275427

54285428
**--with-toolkit**
54295429

5430-
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.1.29
5430+
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.2.0
54315431

54325432
Aliases: `--toolkit`
54335433

@@ -6420,7 +6420,7 @@ Aliases: `--help-fmt` ,`--scalafmt-help` ,`--fmt-help`
64206420

64216421
**--with-toolkit**
64226422

6423-
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.1.29
6423+
Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.8.0, 'default' version for typelevel toolkit: 0.2.0
64246424

64256425
Aliases: `--toolkit`
64266426

0 commit comments

Comments
 (0)