diff --git a/.gitignore b/.gitignore
index cffbacdf8d2..941a076d52a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -37,6 +37,7 @@ build/
.idea/.name
.idea/artifacts/dist_auto_*
.idea/artifacts/ideaPlugin.xml
+.idea/artifacts/kotlin_jps_plugin_jar.xml
kotlin-ultimate/
node_modules/
.rpt2_cache/
diff --git a/.idea/artifacts/kotlin_jps_plugin_jar.xml b/.idea/artifacts/kotlin_jps_plugin_jar.xml
deleted file mode 100644
index b2c6471eb75..00000000000
--- a/.idea/artifacts/kotlin_jps_plugin_jar.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
- $PROJECT_DIR$/out/artifacts/kotlin_jps_plugin_jar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/gradle/jps.gradle.kts b/gradle/jps.gradle.kts
index cc06a5c39c2..318124873c4 100644
--- a/gradle/jps.gradle.kts
+++ b/gradle/jps.gradle.kts
@@ -59,6 +59,8 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
ideArtifacts {
generateIdeArtifacts(rootProject, this@ideArtifacts)
+ kotlinJpsPluginJar()
+
ideaPlugin()
}
@@ -161,6 +163,22 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
}
}
+fun NamedDomainObjectContainer.kotlinJpsPluginJar() {
+ val jpsPluginProject = project(":kotlin-jps-plugin")
+
+ create("kotlin-jps-plugin.jar") {
+ archive("kotlin-jps-plugin.jar") {
+ directory("META-INF") {
+ file("${jpsPluginProject.buildDir}/tmp/jar/MANIFEST.MF")
+ }
+
+ jarFromEmbedded(jpsPluginProject)
+
+ file("${jpsPluginProject.rootDir}/resources/kotlinManifest.properties")
+ }
+ }
+}
+
fun NamedDomainObjectContainer.ideaPlugin() {
val ideaPluginProject = project(":prepare:idea-plugin")
(ideaPluginProject as ProjectInternal).evaluate()
@@ -176,7 +194,7 @@ fun NamedDomainObjectContainer.ideaPlugin() {
directory("lib") {
archive("kotlin-plugin.jar") {
directory("META-INF") {
- file("$buildDir/tmp/jar/MANIFEST.MF")
+ file("${ideaPluginProject.buildDir}/tmp/jar/MANIFEST.MF")
}
file("${ideaPluginProject.rootDir}/resources/kotlinManifest.properties")