Build: configure jps artifacts in gradle.projectsEvaluated

This commit is contained in:
Vyacheslav Gerasimov
2019-04-11 17:50:37 +03:00
parent eee8d0263d
commit 346478a5d3
+27 -33
View File
@@ -7,7 +7,7 @@ val ideaSandboxDir: File by extra
val ideaSdkPath: String val ideaSdkPath: String
get() = IntellijRootUtils.getIntellijRootDir(rootProject).absolutePath get() = IntellijRootUtils.getIntellijRootDir(rootProject).absolutePath
val intellijUltimateEnabled : Boolean by rootProject.extra val intellijUltimateEnabled: Boolean by rootProject.extra
val ideaUltimatePluginDir: File by rootProject.extra val ideaUltimatePluginDir: File by rootProject.extra
val ideaUltimateSandboxDir: File by rootProject.extra val ideaUltimateSandboxDir: File by rootProject.extra
@@ -37,8 +37,8 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
apply(mapOf("plugin" to "idea")) apply(mapOf("plugin" to "idea"))
} }
rootProject.afterEvaluate { gradle.projectsEvaluated {
allprojects { rootProject.allprojects {
idea { idea {
module { module {
inheritOutputDirs = true inheritOutputDirs = true
@@ -51,6 +51,8 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
settings { settings {
ideArtifacts { ideArtifacts {
generateIdeArtifacts(rootProject, this@ideArtifacts) generateIdeArtifacts(rootProject, this@ideArtifacts)
ideaPlugin()
} }
compiler { compiler {
@@ -150,40 +152,32 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
} }
} }
} }
}
project(":prepare:idea-plugin").afterEvaluate { fun NamedDomainObjectContainer<TopLevelArtifact>.ideaPlugin() {
val ideaPluginProject = this val ideaPluginProject = project(":prepare:idea-plugin")
val libraries by configurations val libraries by ideaPluginProject.configurations
val jpsPlugin by configurations val jpsPlugin by ideaPluginProject.configurations
rootProject.idea { create("ideaPlugin") {
project { directory("Kotlin") {
settings { directory("kotlinc") {
ideArtifacts { artifact("kotlinc")
create("ideaPlugin") { }
directory("Kotlin") {
directory("kotlinc") {
artifact("kotlinc")
}
directory("lib") { directory("lib") {
archive("kotlin-plugin.jar") { archive("kotlin-plugin.jar") {
directory("META-INF") { directory("META-INF") {
file("$buildDir/tmp/jar/MANIFEST.MF") file("$buildDir/tmp/jar/MANIFEST.MF")
}
jarFromEmbedded(ideaPluginProject)
}
directoryFromConfiguration(libraries)
directory("jps") {
directoryFromConfiguration(jpsPlugin)
}
}
}
}
} }
jarFromEmbedded(ideaPluginProject)
}
directoryFromConfiguration(libraries)
directory("jps") {
directoryFromConfiguration(jpsPlugin)
} }
} }
} }