aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Kirillov <darthorimar@users.noreply.github.com>2017-06-27 00:17:56 +0300
committerIlya Kirillov <darthorimar@users.noreply.github.com>2017-06-28 14:48:37 +0300
commit35c1488e2a1afe26b53399ccbc94b1730c85f377 (patch)
treecb4193b9c91dee80ee32b7727890a4f0e123a4e4
parent1a78ac34353cc15dfc2de67ad1f4e71f9d83cd61 (diff)
downloadcbt-35c1488e2a1afe26b53399ccbc94b1730c85f377.tar.gz
cbt-35c1488e2a1afe26b53399ccbc94b1730c85f377.tar.bz2
cbt-35c1488e2a1afe26b53399ccbc94b1730c85f377.zip
Add extra modules resolving
-rw-r--r--stage2/plugins/ExportBuildInformation.scala18
1 files changed, 13 insertions, 5 deletions
diff --git a/stage2/plugins/ExportBuildInformation.scala b/stage2/plugins/ExportBuildInformation.scala
index bfc3a66..ea1afeb 100644
--- a/stage2/plugins/ExportBuildInformation.scala
+++ b/stage2/plugins/ExportBuildInformation.scala
@@ -8,7 +8,7 @@ import scala.util._
trait ExportBuildInformation { self: BaseBuild =>
def buildInfoXml: String =
- BuildInformationSerializer.serialize(BuildInformation.Project(self)).toString
+ BuildInformationSerializer.serialize(BuildInformation.Project(self, context.args)).toString
}
object BuildInformation {
@@ -52,10 +52,12 @@ object BuildInformation {
}
object Project {
- def apply(build: BaseBuild): Project =
- new BuildInformationExporter(build).exportBuildInformation
+ def apply(build: BaseBuild, args: Seq[String]): Project = {
+ val extraModuleNames: Seq[String] = args.lift(0).map(_.split(":").toSeq).getOrElse(Seq.empty)
+ new BuildInformationExporter(build, extraModuleNames).exportBuildInformation
+ }
- class BuildInformationExporter(rootBuild: BaseBuild) {
+ class BuildInformationExporter(rootBuild: BaseBuild, extraModuleNames: Seq[String]) {
def exportBuildInformation: Project = {
val moduleBuilds = transitiveBuilds(rootBuild)
val libraries = moduleBuilds
@@ -64,7 +66,13 @@ object BuildInformation {
.distinct
val cbtLibraries = convertCbtLibraries
val rootModule = exportModule(rootBuild)
- val modules = moduleBuilds
+
+ val extraModuleBuilds = extraModuleNames
+ .map(f => new File(f))
+ .filter(f => f.exists && f.isDirectory)
+ .map(f => DirectoryDependency(f)(rootBuild.context).dependency.asInstanceOf[BaseBuild])
+ .flatMap(transitiveBuilds)
+ val modules = (moduleBuilds ++ extraModuleBuilds)
.map(exportModule)
.distinct
val scalaCompilers = modules