Build: Merge sources to single jar (idea can't handle multiple)

This commit is contained in:
Vyacheslav Gerasimov
2019-01-28 01:27:53 +03:00
parent 75328f26ea
commit b78627f572
@@ -160,16 +160,13 @@ val unzipIntellijCore by tasks.creating { configureExtractFromConfigurationTask(
val unzipJpsStandalone by tasks.creating { configureExtractFromConfigurationTask(`jps-standalone`) { zipTree(it.singleFile) } } val unzipJpsStandalone by tasks.creating { configureExtractFromConfigurationTask(`jps-standalone`) { zipTree(it.singleFile) } }
val copySources by tasks.creating(Copy::class.java) { val mergeSources by tasks.creating(Jar::class.java) {
from(sources) dependsOn(sources)
into(File(repoDir, sources.name)) from(provider { sources.map(::zipTree) })
rename { destinationDir = File(repoDir, sources.name)
// All sources jars must contain module version before classifier to be correctly imported by IDEA baseName = "intellij"
if (it.contains(intellijVersion)) classifier = "sources"
it version = intellijVersion
else
it.replace("-sources", "-$intellijVersion-sources")
}
} }
val copyJpsBuildTest by tasks.creating { configureExtractFromConfigurationTask(`jps-build-test`) { it.singleFile } } val copyJpsBuildTest by tasks.creating { configureExtractFromConfigurationTask(`jps-build-test`) { it.singleFile } }
@@ -204,7 +201,7 @@ fun writeIvyXml(moduleName: String, fileName: String, jarFiles: FileCollection,
} }
val prepareIvyXmls by tasks.creating { val prepareIvyXmls by tasks.creating {
dependsOn(unzipIntellijCore, unzipJpsStandalone, copySources, copyJpsBuildTest) dependsOn(unzipIntellijCore, unzipJpsStandalone, mergeSources, copyJpsBuildTest)
val intellijSdkDir = File(repoDir, intellij.name) val intellijSdkDir = File(repoDir, intellij.name)
val intellijUltimateSdkDir = File(repoDir, intellijUltimate.name) val intellijUltimateSdkDir = File(repoDir, intellijUltimate.name)