Build: Reuse archive from project build logic for building jars
This commit is contained in:
+21
-19
@@ -345,23 +345,28 @@ fun NamedDomainObjectContainer<TopLevelArtifact>.ideaPlugin() {
|
|||||||
fun NamedDomainObjectContainer<TopLevelArtifact>.jarFromProject(project: Project, name: String? = null, configureAction: RecursiveArtifact.() -> Unit = {}) {
|
fun NamedDomainObjectContainer<TopLevelArtifact>.jarFromProject(project: Project, name: String? = null, configureAction: RecursiveArtifact.() -> Unit = {}) {
|
||||||
val jarName = name ?: project.name + ".jar"
|
val jarName = name ?: project.name + ".jar"
|
||||||
create(jarName) {
|
create(jarName) {
|
||||||
archive(jarName) {
|
archiveFromProject(project, jarName, configureAction)
|
||||||
(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)
|
fun RecursiveArtifact.archiveFromProject(project: Project, name: String? = null, configureAction: RecursiveArtifact.() -> Unit = {}) {
|
||||||
|
val jarName = name ?: project.name + ".jar"
|
||||||
configureAction()
|
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) {
|
if (it.projectName in jarArtifactProjects) {
|
||||||
artifact(artifactName)
|
artifact(artifactName)
|
||||||
} else {
|
} else {
|
||||||
archive(artifactName) {
|
archiveFromProject(project(it.projectPath), artifactName)
|
||||||
moduleOutput(moduleName(it.projectPath))
|
|
||||||
jarContentsFromEmbeddedConfiguration(project(it.projectPath))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user