From 35c1488e2a1afe26b53399ccbc94b1730c85f377 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Tue, 27 Jun 2017 00:17:56 +0300 Subject: Add extra modules resolving --- stage2/plugins/ExportBuildInformation.scala | 18 +++++++++++++----- 1 file 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 -- cgit v1.2.3