Add checkLmcoursierPackage task

This commit is contained in:
xuwei-k 2026-04-03 20:33:59 +09:00
parent 4d71c15e87
commit 61faf2650a
2 changed files with 17 additions and 0 deletions

View File

@ -140,6 +140,7 @@ jobs:
./sbt -v --client doc
./sbt -v --client publishLocal
./sbt -v --client test
./sbt -v --client lmCoursierShaded/test
./sbt -v --client "serverTestProj/test"
./sbt -v --client "all $UTIL_TESTS"
- name: Build and test (2)

View File

@ -1320,6 +1320,8 @@ lazy val lmCoursier = project
)
.dependsOn(lmCore)
lazy val checkLmcoursierPackage = taskKey[Unit]("")
lazy val lmCoursierShaded = project
.in(file("lm-coursier/target/shaded-module"))
.settings(
@ -1336,6 +1338,20 @@ lazy val lmCoursierShaded = project
),
assembly / assemblyOption ~= { _.withIncludeScala(false) },
conflictWarning := ConflictWarning.disable,
checkLmcoursierPackage := {
val jarFile = assembly.value
IO.withTemporaryDirectory { tmp =>
val notLmcoursierPackageClasses = IO
.unzip(jarFile, tmp, _.endsWith(".class"))
.toSeq
.map(f => IO.relativize(tmp, f).getOrElse(sys.error(s"invalid path ${f}")))
.filterNot(f => f.startsWith("lmcoursier") || f.startsWith("META-INF"))
.sorted
notLmcoursierPackageClasses.foreach(println)
assert(notLmcoursierPackageClasses.isEmpty)
}
},
Test / test := (Test / test).dependsOn(checkLmcoursierPackage).value,
Utils.noPublish,
assemblyShadeRules := {
val namespacesToShade = Seq(