diff options
Diffstat (limited to 'stage2/plugins/ExportBuildInformation.scala')
-rw-r--r-- | stage2/plugins/ExportBuildInformation.scala | 28 |
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 |