Build: make fatJar in JPS recursively using embedded configuration

This commit is contained in:
Vyacheslav Gerasimov
2019-04-09 22:07:58 +03:00
parent adb896d74c
commit b741d393ed
+7 -4
View File
@@ -152,7 +152,7 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
} }
project(":prepare:idea-plugin").afterEvaluate { project(":prepare:idea-plugin").afterEvaluate {
val embedded by configurations val ideaPluginProject = this
val libraries by configurations val libraries by configurations
val jpsPlugin by configurations val jpsPlugin by configurations
@@ -166,7 +166,7 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
file("$buildDir/tmp/jar/MANIFEST.MF") file("$buildDir/tmp/jar/MANIFEST.MF")
} }
jarFromConfiguration(embedded) jarFromEmbedded(ideaPluginProject)
} }
} }
@@ -206,8 +206,10 @@ val jarArtifactProjects = listOf(
fun moduleName(projectPath: String) = rootProject.name + projectPath.replace(':', '.') + ".main" fun moduleName(projectPath: String) = rootProject.name + projectPath.replace(':', '.') + ".main"
fun RecursiveArtifact.jarFromConfiguration(configuration: Configuration) { fun RecursiveArtifact.jarFromEmbedded(project: Project) {
val resolvedArtifacts = configuration val embedded = project.configurations.findByName("embedded") ?: return
val resolvedArtifacts = embedded
.resolvedConfiguration .resolvedConfiguration
.resolvedArtifacts .resolvedArtifacts
@@ -220,6 +222,7 @@ fun RecursiveArtifact.jarFromConfiguration(configuration: Configuration) {
.filterIsInstance<ProjectComponentIdentifier>() .filterIsInstance<ProjectComponentIdentifier>()
.forEach { .forEach {
moduleOutput(moduleName(it.projectPath)) moduleOutput(moduleName(it.projectPath))
jarFromEmbedded(project(it.projectPath))
} }
} }