aboutsummaryrefslogtreecommitdiff
path: root/stage2/plugins/ExportBuildInformation.scala
diff options
context:
space:
mode:
Diffstat (limited to 'stage2/plugins/ExportBuildInformation.scala')
-rw-r--r--stage2/plugins/ExportBuildInformation.scala28
1 files changed, 26 insertions, 2 deletions
diff --git a/stage2/plugins/ExportBuildInformation.scala b/stage2/plugins/ExportBuildInformation.scala
index 37dcc38..9495ddb 100644
--- a/stage2/plugins/ExportBuildInformation.scala
+++ b/stage2/plugins/ExportBuildInformation.scala
@@ -233,8 +233,32 @@ object BuildInformation {
Library(name, binaryJars ++ sourceJars)
}
- private def exportLibrary(file: File) =
- Library("CBT:" + file.getName.stripSuffix(".jar"), Seq(LibraryJar(file, JarType.Binary)))
+ def recursiveListFiles(f: File): Seq[File] = {
+ val ignoredDirs =
+ Seq("cache",
+ "target",
+ "examples",
+ "test",
+ "libraries",
+ ".git",
+ ".circleci"
+ )
+ val files = f.listFiles
+ .filter(_.isDirectory)
+ .filterNot(f => ignoredDirs.contains(f.getName))
+ files ++
+ files
+ .flatMap(recursiveListFiles)
+ }
+
+ private def exportLibrary(file: File) = {
+ val name = "CBT:" + file.getName.stripSuffix(".jar")
+ val binaryJar = LibraryJar(file, JarType.Binary)
+ val sourceJars =
+ recursiveListFiles(file.getParentFile.getParentFile.getParentFile)
+ .map(LibraryJar(_, JarType.Source))
+ Library(name, binaryJar +: sourceJars)
+ }
private def parentBuild(build: BaseBuild): Seq[BaseBuild] =
build.context.parentBuild