Skip to content

Commit 3b7f96f

Browse files
authored
Fix - swap scala version and platform in artifact name for Scala.js (#1443)
1 parent ea0f0f4 commit 3b7f96f

File tree

2 files changed

+47
-3
lines changed

2 files changed

+47
-3
lines changed

modules/cli/src/main/scala/scala/cli/commands/publish/Publish.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -436,11 +436,11 @@ object Publish extends ScalaCommand[PublishOptions] with BuildCommandHelpers {
436436
build.artifacts.scalaOpt.map(_.params) match {
437437
case Some(scalaParams) =>
438438
val pf = publishOptions.scalaPlatformSuffix.getOrElse {
439-
// FIXME Allow full cross version too
440-
"_" + scalaParams.scalaBinaryVersion
439+
scalaParams.platform.fold("")("_" + _)
441440
}
442441
val sv = publishOptions.scalaVersionSuffix.getOrElse {
443-
scalaParams.platform.fold("")("_" + _)
442+
// FIXME Allow full cross version too
443+
"_" + scalaParams.scalaBinaryVersion
444444
}
445445
name + pf + sv
446446
case None =>

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

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ abstract class PublishTestDefinitions(val scalaVersionOpt: Option[String])
4343
else "_" + actualScalaVersion.split('.').take(2).mkString(".")
4444
val expectedArtifactsDir: RelPath =
4545
os.rel / "org" / "virtuslab" / "scalacli" / "test" / s"simple$scalaSuffix" / "0.2.0-SNAPSHOT"
46+
val expectedJsArtifactsDir: RelPath =
47+
os.rel / "org" / "virtuslab" / "scalacli" / "test" / s"simple_sjs1$scalaSuffix" / "0.2.0-SNAPSHOT"
4648
}
4749

4850
test("simple") {
@@ -145,6 +147,48 @@ abstract class PublishTestDefinitions(val scalaVersionOpt: Option[String])
145147
}
146148
}
147149

150+
test("artifacts name for scalajs") {
151+
val baseExpectedArtifacts = Seq(
152+
s"simple_sjs1${TestCase.scalaSuffix}-0.2.0-SNAPSHOT.pom",
153+
s"simple_sjs1${TestCase.scalaSuffix}-0.2.0-SNAPSHOT.jar",
154+
s"simple_sjs1${TestCase.scalaSuffix}-0.2.0-SNAPSHOT-javadoc.jar",
155+
s"simple_sjs1${TestCase.scalaSuffix}-0.2.0-SNAPSHOT-sources.jar"
156+
)
157+
val expectedArtifacts = baseExpectedArtifacts
158+
.flatMap { n =>
159+
Seq("", ".md5", ".sha1").map(n + _)
160+
}
161+
.map(os.rel / _)
162+
.toSet
163+
164+
TestCase.testInputs.fromRoot { root =>
165+
os.proc(
166+
TestUtil.cli,
167+
"publish",
168+
extraOptions,
169+
"project",
170+
"--js",
171+
"-R",
172+
"test-repo"
173+
).call(
174+
cwd = root,
175+
stdin = os.Inherit,
176+
stdout = os.Inherit
177+
)
178+
179+
val files = os.walk(root / "test-repo")
180+
.filter(os.isFile(_))
181+
.map(_.relativeTo(root / "test-repo"))
182+
val notInDir = files.filter(!_.startsWith(TestCase.expectedJsArtifactsDir))
183+
expect(notInDir.isEmpty)
184+
185+
val files0 = files.map(_.relativeTo(TestCase.expectedJsArtifactsDir)).toSet
186+
187+
expect((files0 -- expectedArtifacts).isEmpty)
188+
expect((expectedArtifacts -- files0).isEmpty)
189+
}
190+
}
191+
148192
test("custom checksums") {
149193
val baseExpectedArtifacts = Seq(
150194
s"simple${TestCase.scalaSuffix}-0.2.0-SNAPSHOT.pom",

0 commit comments

Comments
 (0)