Build: Reuse archive from project build logic for building jars

This commit is contained in:
Vyacheslav Gerasimov
2019-06-26 16:18:10 +03:00
parent ec157a43ba
commit 6e20e03cbc
+21 -19
View File
@@ -345,23 +345,28 @@ fun NamedDomainObjectContainer<TopLevelArtifact>.ideaPlugin() {
fun NamedDomainObjectContainer<TopLevelArtifact>.jarFromProject(project: Project, name: String? = null, configureAction: RecursiveArtifact.() -> Unit = {}) {
val jarName = name ?: project.name + ".jar"
create(jarName) {
archive(jarName) {
(project.tasks["jar"] as? Jar)?.let { jar ->
val manifestPath = jar.temporaryDir.resolve("MANIFEST.MF")
jar.manifest.writeTo(manifestPath)
directory("META-INF") {
file(manifestPath)
}
}
if (project.sourceSets.names.contains("main")) {
moduleOutput(moduleName(project.path))
}
archiveFromProject(project, jarName, configureAction)
}
}
jarContentsFromEmbeddedConfiguration(project)
configureAction()
fun RecursiveArtifact.archiveFromProject(project: Project, name: String? = null, configureAction: RecursiveArtifact.() -> Unit = {}) {
val jarName = name ?: project.name + ".jar"
archive(jarName) {
(project.tasks["jar"] as? Jar)?.let { jar ->
val manifestPath = jar.temporaryDir.resolve("MANIFEST.MF")
jar.manifest.writeTo(manifestPath)
directory("META-INF") {
file(manifestPath)
}
}
if (project.sourceSets.names.contains("main")) {
moduleOutput(moduleName(project.path))
}
jarContentsFromEmbeddedConfiguration(project)
configureAction()
}
}
@@ -431,10 +436,7 @@ fun RecursiveArtifact.jarsFromConfiguration(configuration: Configuration, rename
if (it.projectName in jarArtifactProjects) {
artifact(artifactName)
} else {
archive(artifactName) {
moduleOutput(moduleName(it.projectPath))
jarContentsFromEmbeddedConfiguration(project(it.projectPath))
}
archiveFromProject(project(it.projectPath), artifactName)
}
}
}