diff --git a/.gitignore b/.gitignore
index 40e7d531025..7082772f2b0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,6 +36,7 @@ build/
.idea/inspectionProfiles/profiles_settings.xml
.idea/.name
.idea/artifacts/dist_auto_*
+.idea/artifacts/dist.xml
.idea/artifacts/ideaPlugin.xml
.idea/artifacts/kotlin_plugin_jar.xml
.idea/artifacts/kotlin_jps_plugin_jar.xml
diff --git a/.idea/artifacts/dist.xml b/.idea/artifacts/dist.xml
deleted file mode 100644
index 3653034c33a..00000000000
--- a/.idea/artifacts/dist.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
- $PROJECT_DIR$/dist
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/gradle/jps.gradle.kts b/gradle/jps.gradle.kts
index f76a86fec4d..7019c8e4206 100644
--- a/gradle/jps.gradle.kts
+++ b/gradle/jps.gradle.kts
@@ -74,6 +74,8 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
kotlinJpsPluginJar()
ideaPlugin()
+
+ dist()
}
compiler {
@@ -210,6 +212,57 @@ fun NamedDomainObjectContainer.kotlinJpsPluginJar() {
}
}
+fun NamedDomainObjectContainer.dist() {
+ val distLibrariesProject = project(":kotlin-stdlib:jps-build")
+ val stdlibMinimal by distLibrariesProject.configurations
+ val commonStdlib by distLibrariesProject.configurations
+ val commonStdlibSources by distLibrariesProject.configurations
+ val stdlibJS by distLibrariesProject.configurations
+ val stdlibSources by distLibrariesProject.configurations
+
+ create("dist") {
+ file("$rootDir/build/build.txt")
+
+ // Use output-file-name when fixed https://github.com/JetBrains/gradle-idea-ext-plugin/issues/63
+ archive("kotlin-stdlib-minimal-for-test.jar") {
+ extractedDirectory(stdlibMinimal.singleFile)
+ }
+
+ directory("artifacts") {
+ directory("ideaPlugin") {
+ artifact("ideaPlugin")
+ }
+ }
+
+ directory("common") {
+ // Use output-file-name when fixed https://github.com/JetBrains/gradle-idea-ext-plugin/issues/63
+ archive("kotlin-stdlib-common.jar") {
+ extractedDirectory(commonStdlib.singleFile)
+ }
+
+ // Use output-file-name when fixed https://github.com/JetBrains/gradle-idea-ext-plugin/issues/63
+ archive("kotlin-stdlib-common-sources.jar") {
+ extractedDirectory(commonStdlibSources.singleFile)
+ }
+ }
+
+ directory("js") {
+ extractedDirectory(stdlibJS.singleFile)
+ }
+
+ directory("kotlinc") {
+ artifact("kotlinc")
+ }
+
+ directory("maven") {
+ // Use output-file-name when fixed https://github.com/JetBrains/gradle-idea-ext-plugin/issues/63
+ archive("kotlin-stdlib-sources.jar") {
+ extractedDirectory(stdlibSources.singleFile)
+ }
+ }
+ }
+}
+
fun NamedDomainObjectContainer.ideaPlugin() {
val ideaPluginProject = project(":prepare:idea-plugin")
(ideaPluginProject as ProjectInternal).evaluate()
@@ -225,10 +278,10 @@ fun NamedDomainObjectContainer.ideaPlugin() {
directory("lib") {
artifact("kotlin-plugin.jar")
- directoryFromConfiguration(libraries)
+ jarsFromConfiguration(libraries)
directory("jps") {
- directoryFromConfiguration(jpsPlugin)
+ jarsFromConfiguration(jpsPlugin)
}
}
}
@@ -276,7 +329,7 @@ fun RecursiveArtifact.jarContentsFromEmbeddedConfiguration(project: Project) {
}
}
-fun RecursiveArtifact.directoryFromConfiguration(configuration: Configuration) {
+fun RecursiveArtifact.jarsFromConfiguration(configuration: Configuration) {
val resolvedArtifacts = configuration
.resolvedConfiguration
.resolvedArtifacts
diff --git a/libraries/stdlib/jps-build/build.gradle.kts b/libraries/stdlib/jps-build/build.gradle.kts
index a796e4a7a5e..ba45ead6732 100644
--- a/libraries/stdlib/jps-build/build.gradle.kts
+++ b/libraries/stdlib/jps-build/build.gradle.kts
@@ -4,66 +4,51 @@ import java.util.regex.Pattern
description = "Stdlib configuration for JPS build (to be interpreted during IDEA project import)"
-val distLib by configurations.creating
-val distCommon by configurations.creating
-val distRoot by configurations.creating
+val stdlibMinimal by configurations.creating
+val stdlibJS by configurations.creating
+val stdlibSources by configurations.creating
+val compilerLib by configurations.creating
+
+val commonStdlib by configurations.creating
+val commonStdlibSources by configurations.creating
+
val builtins by configurations.creating
dependencies {
- distRoot("org.jetbrains.kotlin:kotlin-stdlib-minimal-for-test:$bootstrapKotlinVersion")
+ stdlibMinimal("org.jetbrains.kotlin:kotlin-stdlib-minimal-for-test:$bootstrapKotlinVersion")
+ stdlibJS("org.jetbrains.kotlin:kotlin-stdlib-js:$bootstrapKotlinVersion") { isTransitive = false }
+ stdlibSources("org.jetbrains.kotlin:kotlin-stdlib:$bootstrapKotlinVersion:sources") { isTransitive = false }
+
builtins("org.jetbrains.kotlin:builtins:$bootstrapKotlinVersion")
- distLib("org.jetbrains.kotlin:kotlin-stdlib:$bootstrapKotlinVersion")
- distLib("org.jetbrains.kotlin:kotlin-stdlib-js:$bootstrapKotlinVersion")
- distLib("org.jetbrains.kotlin:kotlin-stdlib-jdk7:$bootstrapKotlinVersion")
- distLib("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$bootstrapKotlinVersion")
+ compilerLib("org.jetbrains.kotlin:kotlin-stdlib:$bootstrapKotlinVersion")
+ compilerLib("org.jetbrains.kotlin:kotlin-stdlib-js:$bootstrapKotlinVersion")
+ compilerLib("org.jetbrains.kotlin:kotlin-stdlib-jdk7:$bootstrapKotlinVersion")
+ compilerLib("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$bootstrapKotlinVersion")
- distLib("org.jetbrains.kotlin:kotlin-stdlib:$bootstrapKotlinVersion:sources")
- distLib("org.jetbrains.kotlin:kotlin-stdlib-js:$bootstrapKotlinVersion:sources")
- distLib("org.jetbrains.kotlin:kotlin-stdlib-jdk7:$bootstrapKotlinVersion:sources")
- distLib("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$bootstrapKotlinVersion:sources")
+ compilerLib("org.jetbrains.kotlin:kotlin-stdlib:$bootstrapKotlinVersion:sources")
+ compilerLib("org.jetbrains.kotlin:kotlin-stdlib-js:$bootstrapKotlinVersion:sources")
+ compilerLib("org.jetbrains.kotlin:kotlin-stdlib-jdk7:$bootstrapKotlinVersion:sources")
+ compilerLib("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$bootstrapKotlinVersion:sources")
- distCommon("org.jetbrains.kotlin:kotlin-stdlib-common:$bootstrapKotlinVersion")
- distCommon("org.jetbrains.kotlin:kotlin-stdlib-common:$bootstrapKotlinVersion:sources")
+ commonStdlib("org.jetbrains.kotlin:kotlin-stdlib-common:$bootstrapKotlinVersion")
+ commonStdlibSources("org.jetbrains.kotlin:kotlin-stdlib-common:$bootstrapKotlinVersion:sources")
}
val distDir: String by rootProject.extra
val distLibDir: File by rootProject.extra
-fun TopLevelArtifact.addFromConfiguration(configuration: Configuration) {
- configuration.resolve().forEach {
- file(it)
- }
-}
-
-afterEvaluate {
- rootProject.idea {
- project {
- settings {
- ideArtifacts {
- create("dist_auto_stdlib_reference_dont_use") {
- addFromConfiguration(distRoot)
- addFromConfiguration(distCommon)
- addFromConfiguration(distLib)
- addFromConfiguration(builtins)
- }
- }
- }
- }
- }
-}
-
task("distRoot") {
destinationDir = File(distDir)
- dependsOn(distRoot)
- from(distRoot)
+ dependsOn(stdlibMinimal)
+ from(stdlibMinimal)
rename("-${Pattern.quote(bootstrapKotlinVersion)}", "")
}
task("distLib") {
destinationDir = distLibDir
- dependsOn(distLib)
- from(distLib)
+ dependsOn(compilerLib)
+ from(compilerLib)
rename("-${Pattern.quote(bootstrapKotlinVersion)}", "")
}
\ No newline at end of file