summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandra Dima <alexandra.dima@jetbrains.com>2019-07-22 14:27:27 +0200
committerSamvel Abrahamyan <samvel1024@gmail.com>2019-10-12 14:33:07 +0200
commit670698881ffbf632013b00dcd9340ff66c6024eb (patch)
treeca2aebb33a0f6a92285e0d71e53da0391d4426fa
parent5a49a273cf86b58b18395edd05f57c7c209f3fe7 (diff)
downloadmill-670698881ffbf632013b00dcd9340ff66c6024eb.tar.gz
mill-670698881ffbf632013b00dcd9340ff66c6024eb.tar.bz2
mill-670698881ffbf632013b00dcd9340ff66c6024eb.zip
Modified the construction of the string ids for each BuildTargetIdentifier as there were collisions in case of cross modules. Also fixed bug in the clean cache method. Now, the command is using the rendering of millModuleSegments rather than the module name function.
-rw-r--r--contrib/bsp/src/mill/contrib/bsp/MillBuildServer.scala2
-rw-r--r--contrib/bsp/src/mill/contrib/bsp/ModuleUtils.scala14
2 files changed, 9 insertions, 7 deletions
diff --git a/contrib/bsp/src/mill/contrib/bsp/MillBuildServer.scala b/contrib/bsp/src/mill/contrib/bsp/MillBuildServer.scala
index 1666ed60..9c74f2f0 100644
--- a/contrib/bsp/src/mill/contrib/bsp/MillBuildServer.scala
+++ b/contrib/bsp/src/mill/contrib/bsp/MillBuildServer.scala
@@ -405,7 +405,7 @@ class MillBuildServer(evaluator: Evaluator,
var cleaned = true
for (targetId <- cleanCacheParams.getTargets.asScala) {
val module = targetIdToModule(targetId)
- val process = Runtime.getRuntime.exec(s"mill clean ${ModuleUtils.moduleName(module.millModuleSegments)}.compile")
+ val process = Runtime.getRuntime.exec(s"mill clean ${module.millModuleSegments.render}.compile")
val processIn = process.getInputStream
val processErr = process.getErrorStream
diff --git a/contrib/bsp/src/mill/contrib/bsp/ModuleUtils.scala b/contrib/bsp/src/mill/contrib/bsp/ModuleUtils.scala
index 36415c5f..d593bceb 100644
--- a/contrib/bsp/src/mill/contrib/bsp/ModuleUtils.scala
+++ b/contrib/bsp/src/mill/contrib/bsp/ModuleUtils.scala
@@ -14,7 +14,7 @@ import mill.eval.Evaluator
import mill.scalajslib.ScalaJSModule
import mill.scalalib.api.Util
import mill.scalanativelib._
-import mill.scalalib.{GenIdea, GenIdeaImpl, JavaModule, ScalaModule, TestModule}
+import mill.scalalib.{CrossModuleBase, GenIdea, GenIdeaImpl, JavaModule, ScalaModule, TestModule}
import mill.util.DummyLogger
import os.Path
@@ -36,11 +36,11 @@ object ModuleUtils {
supportedLanguages: List[String]): Predef.Map[JavaModule, BuildTarget] = {
val moduleIdMap = getModuleTargetIdMap(modules, evaluator)
- var moduleToTarget = Predef.Map[JavaModule, BuildTarget]()
+ var moduleToTarget = Map.empty[JavaModule, BuildTarget]
for ( module <- modules ) {
if (module == rootModule) {
- moduleToTarget ++= Map(module -> getRootTarget(module, evaluator))
+ moduleToTarget ++= Map(module -> getRootTarget(module, evaluator, moduleIdMap(module)))
} else {
val dataBuildTarget = computeScalaBuildTarget(module, evaluator)
val capabilities = getModuleCapabilities(module, evaluator)
@@ -87,10 +87,10 @@ object ModuleUtils {
}
}
- def getRootTarget(rootModule: JavaModule, evaluator: Evaluator): BuildTarget = {
+ def getRootTarget(rootModule: JavaModule, evaluator: Evaluator, targetId: BuildTargetIdentifier): BuildTarget = {
val rootTarget = new BuildTarget(
- new BuildTargetIdentifier(rootModule.millSourcePath.toNIO.toAbsolutePath.toUri.toString),
+ targetId,
List.empty[String].asJava,
List.empty[String].asJava,
List.empty[BuildTargetIdentifier].asJava,
@@ -173,8 +173,10 @@ object ModuleUtils {
var moduleToTarget = Map[JavaModule, BuildTargetIdentifier]()
for ( module <- modules ) {
+
moduleToTarget ++= Map(module -> new BuildTargetIdentifier(
- module.intellijModulePath.toNIO.toAbsolutePath.toUri.toString
+ (module.millOuterCtx.millSourcePath / os.RelPath(moduleName(module.millModuleSegments))).
+ toNIO.toAbsolutePath.toUri.toString
))
}