Build: Add JPS artifact for dist
This commit is contained in:
@@ -36,6 +36,7 @@ build/
|
|||||||
.idea/inspectionProfiles/profiles_settings.xml
|
.idea/inspectionProfiles/profiles_settings.xml
|
||||||
.idea/.name
|
.idea/.name
|
||||||
.idea/artifacts/dist_auto_*
|
.idea/artifacts/dist_auto_*
|
||||||
|
.idea/artifacts/dist.xml
|
||||||
.idea/artifacts/ideaPlugin.xml
|
.idea/artifacts/ideaPlugin.xml
|
||||||
.idea/artifacts/kotlin_plugin_jar.xml
|
.idea/artifacts/kotlin_plugin_jar.xml
|
||||||
.idea/artifacts/kotlin_jps_plugin_jar.xml
|
.idea/artifacts/kotlin_jps_plugin_jar.xml
|
||||||
|
|||||||
Generated
-27
@@ -1,27 +0,0 @@
|
|||||||
<component name="ArtifactManager">
|
|
||||||
<artifact build-on-make="true" name="dist">
|
|
||||||
<output-path>$PROJECT_DIR$/dist</output-path>
|
|
||||||
<root id="root">
|
|
||||||
<element id="directory" name="artifacts">
|
|
||||||
<element id="directory" name="ideaPlugin">
|
|
||||||
<element id="artifact" artifact-name="ideaPlugin" />
|
|
||||||
</element>
|
|
||||||
</element>
|
|
||||||
<element id="file-copy" path="$PROJECT_DIR$/build/build.txt" />
|
|
||||||
<element id="file-copy" path="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-minimal-for-test/1.3.50-dev-526/7c531c6c6db03b6ebf0ff0e15027bb6aee5d2452/kotlin-stdlib-minimal-for-test-1.3.50-dev-526.jar" output-file-name="kotlin-stdlib-minimal-for-test.jar" />
|
|
||||||
<element id="directory" name="common">
|
|
||||||
<element id="file-copy" path="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.3.50-dev-526/7a06077a97c805bc4d99aaa17c8e8accf86bfe7c/kotlin-stdlib-common-1.3.50-dev-526.jar" output-file-name="kotlin-stdlib-common.jar" />
|
|
||||||
<element id="file-copy" path="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.3.50-dev-526/784cfd305e170c525b1a6987584dd8bebc4e0e6a/kotlin-stdlib-common-1.3.50-dev-526-sources.jar" output-file-name="kotlin-stdlib-common-sources.jar" />
|
|
||||||
</element>
|
|
||||||
<element id="directory" name="js">
|
|
||||||
<element id="extracted-dir" path="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-js/1.3.50-dev-526/8a798b744fdbd46a7d93814f0f0b97c664c064d2/kotlin-stdlib-js-1.3.50-dev-526.jar" path-in-jar="/" />
|
|
||||||
</element>
|
|
||||||
<element id="directory" name="maven">
|
|
||||||
<element id="file-copy" path="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.50-dev-526/21e04af851994238d364653c103df336bf45fd4d/kotlin-stdlib-1.3.50-dev-526-sources.jar" output-file-name="kotlin-stdlib-sources.jar" />
|
|
||||||
</element>
|
|
||||||
<element id="directory" name="kotlinc">
|
|
||||||
<element id="artifact" artifact-name="kotlinc" />
|
|
||||||
</element>
|
|
||||||
</root>
|
|
||||||
</artifact>
|
|
||||||
</component>
|
|
||||||
+56
-3
@@ -74,6 +74,8 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
|
|||||||
kotlinJpsPluginJar()
|
kotlinJpsPluginJar()
|
||||||
|
|
||||||
ideaPlugin()
|
ideaPlugin()
|
||||||
|
|
||||||
|
dist()
|
||||||
}
|
}
|
||||||
|
|
||||||
compiler {
|
compiler {
|
||||||
@@ -210,6 +212,57 @@ fun NamedDomainObjectContainer<TopLevelArtifact>.kotlinJpsPluginJar() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun NamedDomainObjectContainer<TopLevelArtifact>.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<TopLevelArtifact>.ideaPlugin() {
|
fun NamedDomainObjectContainer<TopLevelArtifact>.ideaPlugin() {
|
||||||
val ideaPluginProject = project(":prepare:idea-plugin")
|
val ideaPluginProject = project(":prepare:idea-plugin")
|
||||||
(ideaPluginProject as ProjectInternal).evaluate()
|
(ideaPluginProject as ProjectInternal).evaluate()
|
||||||
@@ -225,10 +278,10 @@ fun NamedDomainObjectContainer<TopLevelArtifact>.ideaPlugin() {
|
|||||||
directory("lib") {
|
directory("lib") {
|
||||||
artifact("kotlin-plugin.jar")
|
artifact("kotlin-plugin.jar")
|
||||||
|
|
||||||
directoryFromConfiguration(libraries)
|
jarsFromConfiguration(libraries)
|
||||||
|
|
||||||
directory("jps") {
|
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
|
val resolvedArtifacts = configuration
|
||||||
.resolvedConfiguration
|
.resolvedConfiguration
|
||||||
.resolvedArtifacts
|
.resolvedArtifacts
|
||||||
|
|||||||
@@ -4,66 +4,51 @@ import java.util.regex.Pattern
|
|||||||
|
|
||||||
description = "Stdlib configuration for JPS build (to be interpreted during IDEA project import)"
|
description = "Stdlib configuration for JPS build (to be interpreted during IDEA project import)"
|
||||||
|
|
||||||
val distLib by configurations.creating
|
val stdlibMinimal by configurations.creating
|
||||||
val distCommon by configurations.creating
|
val stdlibJS by configurations.creating
|
||||||
val distRoot 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
|
val builtins by configurations.creating
|
||||||
|
|
||||||
dependencies {
|
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")
|
builtins("org.jetbrains.kotlin:builtins:$bootstrapKotlinVersion")
|
||||||
|
|
||||||
distLib("org.jetbrains.kotlin:kotlin-stdlib:$bootstrapKotlinVersion")
|
compilerLib("org.jetbrains.kotlin:kotlin-stdlib:$bootstrapKotlinVersion")
|
||||||
distLib("org.jetbrains.kotlin:kotlin-stdlib-js:$bootstrapKotlinVersion")
|
compilerLib("org.jetbrains.kotlin:kotlin-stdlib-js:$bootstrapKotlinVersion")
|
||||||
distLib("org.jetbrains.kotlin:kotlin-stdlib-jdk7:$bootstrapKotlinVersion")
|
compilerLib("org.jetbrains.kotlin:kotlin-stdlib-jdk7:$bootstrapKotlinVersion")
|
||||||
distLib("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$bootstrapKotlinVersion")
|
compilerLib("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$bootstrapKotlinVersion")
|
||||||
|
|
||||||
distLib("org.jetbrains.kotlin:kotlin-stdlib:$bootstrapKotlinVersion:sources")
|
compilerLib("org.jetbrains.kotlin:kotlin-stdlib:$bootstrapKotlinVersion:sources")
|
||||||
distLib("org.jetbrains.kotlin:kotlin-stdlib-js:$bootstrapKotlinVersion:sources")
|
compilerLib("org.jetbrains.kotlin:kotlin-stdlib-js:$bootstrapKotlinVersion:sources")
|
||||||
distLib("org.jetbrains.kotlin:kotlin-stdlib-jdk7:$bootstrapKotlinVersion:sources")
|
compilerLib("org.jetbrains.kotlin:kotlin-stdlib-jdk7:$bootstrapKotlinVersion:sources")
|
||||||
distLib("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$bootstrapKotlinVersion:sources")
|
compilerLib("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$bootstrapKotlinVersion:sources")
|
||||||
|
|
||||||
distCommon("org.jetbrains.kotlin:kotlin-stdlib-common:$bootstrapKotlinVersion")
|
commonStdlib("org.jetbrains.kotlin:kotlin-stdlib-common:$bootstrapKotlinVersion")
|
||||||
distCommon("org.jetbrains.kotlin:kotlin-stdlib-common:$bootstrapKotlinVersion:sources")
|
commonStdlibSources("org.jetbrains.kotlin:kotlin-stdlib-common:$bootstrapKotlinVersion:sources")
|
||||||
}
|
}
|
||||||
|
|
||||||
val distDir: String by rootProject.extra
|
val distDir: String by rootProject.extra
|
||||||
val distLibDir: File 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<Copy>("distRoot") {
|
task<Copy>("distRoot") {
|
||||||
destinationDir = File(distDir)
|
destinationDir = File(distDir)
|
||||||
dependsOn(distRoot)
|
dependsOn(stdlibMinimal)
|
||||||
from(distRoot)
|
from(stdlibMinimal)
|
||||||
rename("-${Pattern.quote(bootstrapKotlinVersion)}", "")
|
rename("-${Pattern.quote(bootstrapKotlinVersion)}", "")
|
||||||
}
|
}
|
||||||
|
|
||||||
task<Copy>("distLib") {
|
task<Copy>("distLib") {
|
||||||
destinationDir = distLibDir
|
destinationDir = distLibDir
|
||||||
dependsOn(distLib)
|
dependsOn(compilerLib)
|
||||||
from(distLib)
|
from(compilerLib)
|
||||||
|
|
||||||
rename("-${Pattern.quote(bootstrapKotlinVersion)}", "")
|
rename("-${Pattern.quote(bootstrapKotlinVersion)}", "")
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user