Skip to content

Commit 6bc6cbf

Browse files
authored
Fix Js split style SmallModulesFor in pure JVM (#1394)
1 parent e3995d2 commit 6bc6cbf

File tree

4 files changed

+24
-8
lines changed

4 files changed

+24
-8
lines changed

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

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ abstract class PackageTestDefinitions(val scalaVersionOpt: Option[String])
267267
expect(output == message)
268268
}
269269
}
270-
def smallModulesJsTest(): Unit = {
270+
def smallModulesJsTest(jvm: Boolean): Unit = {
271271
val fileName = "Hello.scala"
272272
val message = "Hello World from JS"
273273
val inputs = TestInputs(
@@ -287,14 +287,16 @@ abstract class PackageTestDefinitions(val scalaVersionOpt: Option[String])
287287
)
288288
val destDir = fileName.stripSuffix(".scala")
289289
inputs.fromRoot { root =>
290+
val extraArgs = if (jvm) Seq("--js-cli-on-jvm") else Nil
290291
os.proc(
291292
TestUtil.cli,
292293
"package",
293294
extraOptions,
294295
fileName,
295296
"--js",
296297
"-o",
297-
destDir
298+
destDir,
299+
extraArgs
298300
).call(
299301
cwd = root,
300302
stdin = os.Inherit,
@@ -347,8 +349,11 @@ abstract class PackageTestDefinitions(val scalaVersionOpt: Option[String])
347349
test("multi modules js") {
348350
multiModulesJsTest()
349351
}
350-
test("small modules js") {
351-
smallModulesJsTest()
352+
test("small modules js with native scalajs-cli") {
353+
smallModulesJsTest(jvm = false)
354+
}
355+
test("small modules js with jvm scalajs-cli") {
356+
smallModulesJsTest(jvm = true)
352357
}
353358
test("js header in release mode") {
354359
jsHeaderTest()

modules/options/src/main/scala/scala/build/Artifacts.scala

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package scala.build
22

33
import coursier.cache.FileCache
4-
import coursier.core.{Classifier, Module}
4+
import coursier.core.{Classifier, Module, ModuleName, Organization}
55
import coursier.parse.RepositoryParser
66
import coursier.util.Task
77
import coursier.{Dependency => CsDependency, Fetch, Resolution, core => csCore, util => csUtil}
@@ -20,6 +20,7 @@ import scala.build.errors.{
2020
NoScalaVersionProvidedError,
2121
RepositoryFormatError
2222
}
23+
import scala.build.internal.Constants
2324
import scala.build.internal.Constants.*
2425
import scala.build.internal.CsLoggerUtil.*
2526
import scala.build.internal.Util.PositionedScalaDependencyOps
@@ -71,6 +72,7 @@ object Artifacts {
7172
compilerPlugins: Seq[Positioned[AnyDependency]],
7273
addJsTestBridge: Option[String],
7374
addNativeTestInterface: Option[String],
75+
scalaJsVersion: Option[String],
7476
scalaJsCliVersion: Option[String],
7577
scalaNativeCliVersion: Option[String],
7678
addScalapy: Boolean
@@ -176,8 +178,15 @@ object Artifacts {
176178

177179
val scalaJsCliDependency =
178180
scalaArtifactsParams.scalaJsCliVersion.map { version =>
181+
val scalaJsVersion =
182+
scalaArtifactsParams.scalaJsVersion.getOrElse(Constants.scalaJsVersion)
179183
val mod =
180-
if (version.contains("-sc")) cmod"io.github.alexarchambault.tmp:scalajs-cli_2.13"
184+
if (version.contains("-sc"))
185+
Module(
186+
Organization("io.github.alexarchambault.tmp"),
187+
ModuleName(s"scalajscli-${scalaJsVersion}_2.13"),
188+
Map.empty
189+
)
181190
else cmod"org.scala-js:scalajs-cli_2.13"
182191
Seq(coursier.Dependency(mod, version))
183192
}

modules/options/src/main/scala/scala/build/options/BuildOptions.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,8 +396,10 @@ final case class BuildOptions(
396396
compilerPlugins = value(compilerPlugins),
397397
addJsTestBridge = addJsTestBridge.filter(_ => isTests),
398398
addNativeTestInterface = addNativeTestInterface.filter(_ => isTests),
399+
scalaJsVersion =
400+
if (platform.value == Platform.JS) Some(scalaJsOptions.finalVersion) else None,
399401
scalaJsCliVersion =
400-
if (platform.value == Platform.JS) Some(scalaJsCliVersion) else None,
402+
if (platform.value == Platform.JS) Some(Constants.scalaJsCliVersion) else None,
401403
scalaNativeCliVersion =
402404
if (platform.value == Platform.Native) Some(scalaNativeOptions.finalVersion) else None,
403405
addScalapy = notForBloopOptions.doSetupPython.getOrElse(false)

project/deps.sc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ object InternalDeps {
5151
object Versions {
5252
def mill = os.read(os.pwd / ".mill-version").trim
5353
def lefouMillwRef = "166bcdf5741de8569e0630e18c3b2ef7e252cd96"
54-
def scalaJsCli = "1.1.1-sc5"
54+
def scalaJsCli = "1.1.1-sc6"
5555
}
5656
}
5757

0 commit comments

Comments
 (0)