summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Roeser <le.petit.fou@web.de>2018-10-09 03:36:46 +0200
committerLi Haoyi <haoyi.sg@gmail.com>2018-10-09 09:36:46 +0800
commit482f5407082ff44b0c084ad80adbf903d7fdc6b9 (patch)
tree3b1ba275089e6bc1eb18f54bc1324ee8fa3bd3f1
parent114208c4cbdbc2bc8a224b986d358526542a69b2 (diff)
downloadmill-482f5407082ff44b0c084ad80adbf903d7fdc6b9.tar.gz
mill-482f5407082ff44b0c084ad80adbf903d7fdc6b9.tar.bz2
mill-482f5407082ff44b0c084ad80adbf903d7fdc6b9.zip
Configure Idea project generator per module (#458)
* Sketched how to skip some projects from Idea project generator * Better trait comment * Moved skipIdea flag into JavaModule
-rw-r--r--scalalib/src/mill/scalalib/GenIdeaImpl.scala6
-rw-r--r--scalalib/src/mill/scalalib/JavaModule.scala5
2 files changed, 9 insertions, 2 deletions
diff --git a/scalalib/src/mill/scalalib/GenIdeaImpl.scala b/scalalib/src/mill/scalalib/GenIdeaImpl.scala
index f71a7856..b4f77f16 100644
--- a/scalalib/src/mill/scalalib/GenIdeaImpl.scala
+++ b/scalalib/src/mill/scalalib/GenIdeaImpl.scala
@@ -26,6 +26,7 @@ object GenIdea extends ExternalModule {
implicit def millScoptEvaluatorReads[T] = new mill.main.EvaluatorScopt[T]()
lazy val millDiscover = Discover[this.type]
}
+
object GenIdeaImpl {
def apply(ctx: Log with Home,
@@ -225,8 +226,9 @@ object GenIdeaImpl {
Tuple2(
".idea"/"modules.xml",
allModulesXmlTemplate(
- for((path, mod) <- modules)
- yield moduleName(path)
+ modules
+ .filter(!_._2.skipIdea)
+ .map { case (path, mod) => moduleName(path) }
)
),
Tuple2(
diff --git a/scalalib/src/mill/scalalib/JavaModule.scala b/scalalib/src/mill/scalalib/JavaModule.scala
index b15e0bdb..15fa7264 100644
--- a/scalalib/src/mill/scalalib/JavaModule.scala
+++ b/scalalib/src/mill/scalalib/JavaModule.scala
@@ -527,6 +527,11 @@ trait JavaModule extends mill.Module with TaskModule { outer =>
def intellijModulePath: Path = millSourcePath
def forkWorkingDir = T{ ammonite.ops.pwd }
+
+ /**
+ * Skip Idea project file generation.
+ */
+ def skipIdea: Boolean = false
}
trait TestModule extends JavaModule with TaskModule {