Build: Use intellij maven repo instead of downloaded IDEA

#KTI-82
This commit is contained in:
Vyacheslav Gerasimov
2021-11-24 03:41:51 +03:00
committed by teamcity
parent 9f725da7f7
commit f7a9065b75
160 changed files with 807 additions and 562 deletions
@@ -26,13 +26,7 @@ dependencies {
compileOnly gradleApi()
compileOnly("kotlin.build:intellij-core:${rootProject.ext["versions.intellijSdk"]}") {
artifact {
name = 'intellij-core'
type = 'jar'
extension = 'jar'
}
}
compileOnly project(':dependencies:intellij-core')
}
// Relocate `com.intellij.*` and some other classes to match those in the `kotlin-compiler-embeddable`
@@ -10,7 +10,7 @@ dependencies {
testRuntimeOnly(project(":kotlin-scripting-compiler-embeddable"))
testRuntimeOnly(project(":kotlin-scripting-jvm-host"))
testRuntimeOnly(project(":kotlin-reflect"))
testRuntimeOnly(intellijDep()) { includeJars("guava", rootProject = rootProject) }
testRuntimeOnly(commonDependency("com.google.guava:guava"))
testApi(commonDependency("junit"))
}
@@ -42,7 +42,7 @@ dependencies {
shadows(protobufLite())
testImplementation(project(":kotlin-test:kotlin-test-junit"))
testImplementation(commonDependency("junit:junit"))
testImplementation(intellijDep()) { includeJars("asm-all", rootProject = rootProject) }
testImplementation(commonDependency("org.jetbrains.intellij.deps:asm-all"))
testCompileOnly(project(":kotlin-reflect-api"))
testRuntimeOnly(project(":kotlin-reflect"))
}
@@ -8,7 +8,7 @@ dependencies {
api(project(":kotlin-script-runtime"))
api(kotlinStdlib())
api(project(":kotlin-scripting-common"))
compileOnly(intellijCoreDep()) { includeJars("intellij-core") }
compileOnly(intellijCore())
}
sourceSets {
+5 -7
View File
@@ -14,13 +14,11 @@ dependencies {
testApi(project(":compiler:backend.js"))
testApi(project(":compiler:ir.tree.impl"))
testApi(project(":js:js.engines"))
testApi(intellijCoreDep()) { includeJars("intellij-core") }
testRuntimeOnly(intellijCoreDep()) { includeJars("intellij-core") }
testRuntimeOnly(intellijDep()) {
includeJars("idea", "idea_rt", "log4j", "guava", "jdom", rootProject = rootProject)
}
testRuntimeOnly(commonDep("org.jetbrains.intellij.deps", "trove4j"))
testRuntimeOnly(intellijDep()) { includeJars("intellij-deps-fastutil-8.4.1-4") }
testApi(intellijCore())
testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps.fastutil:intellij-deps-fastutil"))
testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps:jdom"))
testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps:trove4j"))
}
sourceSets {
+1 -1
View File
@@ -14,7 +14,7 @@ dependencies {
api(project(":kotlin-scripting-compiler"))
compileOnly(project(":compiler:cli-common"))
compileOnly(project(":kotlin-reflect-api"))
compileOnly(intellijCoreDep())
compileOnly(intellijCore())
publishedRuntime(project(":kotlin-compiler"))
publishedRuntime(project(":kotlin-reflect"))
}
@@ -12,12 +12,12 @@ val embeddableTestRuntime by configurations.creating {
dependencies {
allTestsRuntime(commonDependency("junit"))
allTestsRuntime(intellijCoreDep()) { includeJars("intellij-core") }
allTestsRuntime(intellijDep()) { includeJars("idea", "idea_rt", "log4j", "jna") }
allTestsRuntime(intellijCore())
testApi(project(":kotlin-scripting-jvm-host-unshaded"))
testApi(projectTests(":compiler:tests-common"))
testApi(project(":kotlin-scripting-compiler"))
testApi(project(":daemon-common")) // TODO: fix import (workaround for jps build)
testImplementation(commonDependency("org.jetbrains.kotlinx", "kotlinx-coroutines-core"))
testRuntimeOnly(project(":kotlin-compiler"))
@@ -14,7 +14,7 @@ dependencies {
compileOnly(project(":kotlin-scripting-compiler"))
compileOnly(project(":compiler:cli"))
compileOnly(project(":kotlin-reflect-api"))
compileOnly(intellijCoreDep()) { includeJars("intellij-core") }
compileOnly(intellijCore())
publishedRuntime(project(":kotlin-compiler"))
publishedRuntime(project(":kotlin-scripting-compiler"))
publishedRuntime(project(":kotlin-reflect"))
@@ -28,7 +28,7 @@ dependencies {
testImplementation(project(":native:kotlin-klib-commonizer-api"))
testImplementation(project(":kotlin-compiler-embeddable"))
testImplementation(intellijCoreDep()) { includeJars("jdom") }
testImplementation(commonDependency("org.jetbrains.intellij.deps:jdom"))
// testCompileOnly dependency on non-shaded artifacts is needed for IDE support
// testRuntimeOnly on shaded artifact is needed for running tests with shaded compiler
testCompileOnly(project(":kotlin-gradle-plugin-test-utils-embeddable"))
@@ -43,7 +43,7 @@ dependencies {
testImplementation(gradleApi())
testImplementation(gradleTestKit())
testImplementation("com.google.code.gson:gson:${rootProject.extra["versions.jar.gson"]}")
testImplementation(commonDependency("com.google.code.gson:gson"))
testApiJUnit5(vintageEngine = true, jupiterParams = true)
testRuntimeOnly(project(":kotlin-android-extensions"))
@@ -52,7 +52,7 @@ dependencies {
// Workaround for missing transitive import of the common(project `kotlin-test-common`
// for `kotlin-test-jvm` into the IDE:
testCompileOnly(project(":kotlin-test:kotlin-test-common")) { isTransitive = false }
testCompileOnly(intellijDep()) { includeJars("asm-all", rootProject = rootProject) }
testCompileOnly(commonDependency("org.jetbrains.intellij.deps:asm-all"))
}
// Aapt2 from Android Gradle Plugin 3.2 and below does not handle long paths on Windows.
@@ -4,7 +4,7 @@ plugins {
dependencies {
implementation("io.ktor:ktor-client-cio:1.4.0")
implementation("com.google.code.gson:gson:${rootProject.extra["versions.jar.gson"]}")
implementation(commonDependency("com.google.code.gson:gson"))
implementation("org.apache.velocity:velocity:1.7")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.0.0-RC")
}
@@ -21,8 +21,6 @@ dependencies {
api(projectTests(projectName)) { isTransitive = false }
embedded(projectTests(projectName)) { isTransitive = false }
}
embedded(intellijDep()) { includeJars("idea_rt") }
}
runtimeJar(rewriteDefaultJarDepsToShadedCompiler())
@@ -55,8 +55,9 @@ dependencies {
compileOnly(project(":kotlin-gradle-build-metrics"))
embedded(project(":kotlin-gradle-build-metrics"))
implementation("com.google.code.gson:gson:${rootProject.extra["versions.jar.gson"]}")
implementation("com.google.guava:guava:${rootProject.extra["versions.jar.guava"]}")
implementation(commonDependency("com.google.code.gson:gson"))
implementation(commonDependency("com.google.guava:guava"))
implementation("de.undercouch:gradle-download-task:4.1.1")
implementation("com.github.gundy:semver4j:0.16.4:nodeps") {
exclude(group = "*")
@@ -68,7 +69,7 @@ dependencies {
compileOnly("com.android.tools.build:builder-model:3.4.0")
compileOnly("org.codehaus.groovy:groovy-all:2.4.12")
compileOnly(project(":kotlin-reflect"))
compileOnly(intellijCoreDep()) { includeJars("intellij-core") }
compileOnly(intellijCore())
runtimeOnly(project(":kotlin-compiler-embeddable"))
runtimeOnly(project(":kotlin-annotation-processing-gradle"))
@@ -77,9 +78,12 @@ dependencies {
runtimeOnly(project(":kotlin-scripting-compiler-embeddable"))
runtimeOnly(project(":kotlin-scripting-compiler-impl-embeddable"))
embedded(compileOnly(intellijDep()) {
includeJars("asm-all", "gson", "guava", "serviceMessages", rootProject = rootProject)
})
compileOnly(commonDependency("org.jetbrains.teamcity:serviceMessages"))
embedded(commonDependency("org.jetbrains.intellij.deps:asm-all")) { isTransitive = false }
embedded(commonDependency("com.google.code.gson:gson")) { isTransitive = false }
embedded(commonDependency("com.google.guava:guava")) { isTransitive = false }
embedded(commonDependency("org.jetbrains.teamcity:serviceMessages")) { isTransitive = false }
// com.android.tools.build:gradle has ~50 unneeded transitive dependencies
compileOnly("com.android.tools.build:gradle:3.0.0") { isTransitive = false }
@@ -93,7 +97,7 @@ dependencies {
"functionalTestImplementation"(gradleKotlinDsl())
}
testImplementation(intellijDep()) { includeJars("junit", "serviceMessages", rootProject = rootProject) }
testImplementation(commonDependency("org.jetbrains.teamcity:serviceMessages"))
testCompileOnly(project(":compiler"))
testImplementation(projectTests(":kotlin-build-common"))
@@ -27,9 +27,7 @@ dependencies {
testImplementation("org.jetbrains.kotlin:jcabi-aether:1.0-dev-3")
testImplementation("org.sonatype.aether:aether-api:1.13.1")
testImplementation("org.apache.maven:maven-core:3.0.3")
compileOnly(intellijDep()) { includeJars("util") }
testApi(intellijDep()) { includeJars("platform-api", "util") }
testApi(intellijCoreDep()) { includeJars("intellij-core") }
testApi(intellijCore())
}
configurations.all {
@@ -10,6 +10,6 @@ javadocJar()
dependencies {
implementation(kotlinStdlib())
implementation("com.google.code.gson:gson:${rootProject.extra["versions.jar.gson"]}")
implementation(commonDependency("com.google.code.gson:gson"))
testImplementation(project(":kotlin-test:kotlin-test-junit"))
}
+4 -9
View File
@@ -8,30 +8,25 @@ plugins {
}
val kotlinpAsmVersion = "9.0"
val shadows by configurations.creating
repositories {
maven("https://packages.jetbrains.team/maven/p/ij/intellij-dependencies/")
}
dependencies {
compileOnly(project(":kotlinx-metadata"))
compileOnly(project(":kotlinx-metadata-jvm"))
implementation("org.jetbrains.intellij.deps:asm-all:$kotlinpAsmVersion")
testApi(intellijCore())
testCompileOnly(project(":kotlinx-metadata"))
testCompileOnly(project(":kotlinx-metadata-jvm"))
testImplementation(commonDependency("junit:junit"))
testImplementation(projectTests(":compiler:tests-common"))
testImplementation(projectTests(":generators:test-generator"))
testRuntimeOnly(project(":kotlinx-metadata-jvm"))
testApi(intellijCoreDep()) { includeJars("intellij-core") }
testRuntimeOnly(intellijDep()) { includeJars("platform-concurrency", "platform-objectSerializer", "idea_rt") }
shadows(project(":kotlinx-metadata-jvm"))
shadows("org.jetbrains.intellij.deps:asm-all:$kotlinpAsmVersion")
}