Build: configure jps artifacts in gradle.projectsEvaluated
This commit is contained in:
+27
-33
@@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user