Compare commits

...

4 Commits

Author SHA1 Message Date
Andrey Uskov
1686d968d4 fixup 2020-04-13 01:08:31 +03:00
Andrey Uskov
325314823d Fix import for 201 in master 2020-04-12 23:50:40 +03:00
Andrey Uskov
c3ee81493b unmute all MPP tests 2020-04-12 20:35:03 +03:00
Andrey Uskov
9704d19521 Support running import tests on bootstrap version of gradle plugin 2020-04-12 20:34:58 +03:00
35 changed files with 190 additions and 195 deletions

View File

@@ -31,6 +31,48 @@ import java.lang.Character.isUpperCase
import java.nio.file.Files
import java.nio.file.Path
fun Task.dependsOnKotlinPluginInstall() {
dependsOn(
":kotlin-allopen:install",
":kotlin-allopen:plugin-marker:install",
":kotlin-noarg:install",
":kotlin-allopen:plugin-marker:install",
":kotlin-sam-with-receiver:install",
":kotlin-android-extensions:install",
":kotlin-build-common:install",
":kotlin-compiler-embeddable:install",
":native:kotlin-native-utils:install",
":kotlin-util-klib:install",
":kotlin-util-io:install",
":kotlin-compiler-runner:install",
":kotlin-daemon-embeddable:install",
":kotlin-daemon-client:install",
":kotlin-gradle-plugin-api:install",
":kotlin-gradle-plugin:install",
":kotlin-gradle-plugin-model:install",
":kotlin-gradle-plugin:plugin-marker:install",
":kotlin-reflect:install",
":kotlin-annotation-processing-gradle:install",
":kotlin-test:kotlin-test-common:install",
":kotlin-test:kotlin-test-annotations-common:install",
":kotlin-test:kotlin-test-jvm:install",
":kotlin-test:kotlin-test-js:install",
":kotlin-gradle-subplugin-example:install",
":kotlin-stdlib-common:install",
":kotlin-stdlib:install",
":kotlin-stdlib-jdk8:install",
":kotlin-stdlib-js:install",
":examples:annotation-processor-example:install",
":kotlin-script-runtime:install",
":kotlin-scripting-common:install",
":kotlin-scripting-jvm:install",
":kotlin-scripting-compiler-embeddable:install",
":kotlin-scripting-compiler-impl-embeddable:install",
":kotlin-test-js-runner:install",
":kotlin-source-map-loader:install"
)
}
fun Project.projectTest(
taskName: String = "test",
parallel: Boolean = false,

View File

@@ -104,6 +104,7 @@ sourceSets {
testsJar()
projectTest(parallel = false) {
dependsOnKotlinPluginInstall()
workingDir = rootDir
useAndroidSdk()

View File

@@ -142,59 +142,15 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtensionComp
}
}
private fun ExternalDependency.getDependencyArtifacts(): Collection<File> =
when (this) {
is ExternalProjectDependency -> this.projectDependencyArtifacts
is FileCollectionDependency -> this.files
else -> emptyList()
}
private fun ExternalDependency.addDependencyArtifactInternal(file: File) {
when (this) {
is ExternalProjectDependency -> this.projectDependencyArtifacts.add(file)
is FileCollectionDependency -> this.files.add(file)
}
}
override fun populateModuleDependencies(gradleModule: IdeaModule, ideModule: DataNode<ModuleData>, ideProject: DataNode<ProjectData>) {
if (resolverCtx.getExtraProject(gradleModule, KotlinMPPGradleModel::class.java) == null) {
// Add mpp-artifacts into map used for dependency substitution
val mppArtifacts = ideProject.getUserData(MPP_CONFIGURATION_ARTIFACTS)
val configArtifacts = ideProject.getUserData(CONFIGURATION_ARTIFACTS)
if (mppArtifacts != null && configArtifacts != null) {
// processing case when one artifact could be produced by several (actualized!)source sets
if (mppArtifacts.isNotEmpty() && resolverCtx.isResolveModulePerSourceSet) {
val externalProject = resolverCtx.getExtraProject(gradleModule, ExternalProject::class.java)
//Note! Should not use MultiValuesMap as it contains Set of values, but we need comparision === instead of ==
val artifactToDependency = HashMap<String, MutableCollection<ExternalDependency>>()
externalProject?.sourceSets?.values?.forEach { sourceSet ->
sourceSet.dependencies.forEach { dependency ->
dependency.getDependencyArtifacts().map { toCanonicalPath(it.absolutePath) }
.filter { mppArtifacts.keys.contains(it) }.forEach { filePath ->
(artifactToDependency[filePath] ?: ArrayList<ExternalDependency>().also { newCollection ->
artifactToDependency[filePath] = newCollection
}).add(dependency)
}
}
}
// create 'fake' dependency artifact files and put them into dependency substitution map
mppArtifacts.forEach { (filePath, moduleIds) ->
moduleIds.firstOrNull()?.also { configArtifacts[filePath] = it }
artifactToDependency[filePath]?.forEach { externalDependency ->
for ((index, module) in moduleIds.withIndex()) {
if (index != 0) {
val fakeArtifact = "$filePath-MPP-$index"
configArtifacts[fakeArtifact] = module
externalDependency.addDependencyArtifactInternal(File(fakeArtifact))
}
}
}
}
}
val mppModel = resolverCtx.getExtraProject(gradleModule, KotlinMPPGradleModel::class.java)
if (mppModel == null) {
resolverCtx.getExtraProject(gradleModule, ExternalProject::class.java)?.sourceSets?.values?.forEach { sourceSet ->
sourceSet.dependencies.modifyDependenciesOnMppModules(ideProject, resolverCtx)
}
super.populateModuleDependencies(gradleModule, ideModule, ideProject)//TODO add dependencies on mpp module
} else {
mppModel.dependencyMap.values.modifyDependenciesOnMppModules(ideProject, resolverCtx)
}
populateModuleDependencies(gradleModule, ideProject, ideModule, resolverCtx)
}
@@ -236,6 +192,72 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtensionComp
private var nativeDebugAdvertised = false
private val androidPluginPresent = PluginManager.getPlugin(PluginId.findId("org.jetbrains.android"))?.isEnabled ?: false
private fun ExternalDependency.getDependencyArtifacts(): Collection<File> =
when (this) {
is ExternalProjectDependency -> this.projectDependencyArtifacts
is FileCollectionDependency -> this.files
else -> emptyList()
}
private fun Collection<ExternalDependency>.modifyDependenciesOnMppModules(
ideProject: DataNode<ProjectData>,
resolverCtx: ProjectResolverContext
) {
// Add mpp-artifacts into map used for dependency substitution
val mppArtifacts = ideProject.getUserData(MPP_CONFIGURATION_ARTIFACTS)
val configArtifacts = ideProject.getUserData(CONFIGURATION_ARTIFACTS)
if (mppArtifacts != null && configArtifacts != null) {
val reverseConfigArtifacts = HashMap(configArtifacts.map { it.value to it.key }.toMap())
// processing case when one artifact could be produced by several (actualized!)source sets
if (mppArtifacts.isNotEmpty() && resolverCtx.isResolveModulePerSourceSet) {
//Note! Should not use MultiValuesMap as it contains Set of values, but we need comparision === instead of ==
val artifactToDependency = HashMap<String, MutableCollection<ExternalDependency>>()
this.forEach { dependency ->
dependency.getDependencyArtifacts().map { toCanonicalPath(it.absolutePath) }
.filter { mppArtifacts.keys.contains(it) }.forEach { filePath ->
(artifactToDependency[filePath] ?: ArrayList<ExternalDependency>().also { newCollection ->
artifactToDependency[filePath] = newCollection
}).add(dependency)
}
}
// create 'fake' dependency artifact files and put them into dependency substitution map
mppArtifacts.forEach { (filePath, moduleIds) ->
moduleIds.firstOrNull()?.also { configArtifacts[filePath] = it }
artifactToDependency[filePath]?.forEach { externalDependency ->
for ((index, module) in moduleIds.withIndex()) {
if (index != 0) {
val fakeArtifact = if (reverseConfigArtifacts.containsKey(module)) {
reverseConfigArtifacts[module]
} else {
val result = "$filePath-MPP-$index"
configArtifacts[result] = module
reverseConfigArtifacts[module] = result
result
}
externalDependency.addDependencyArtifactInternal(File(fakeArtifact))
}
}
}
}
}
}
}
private fun ExternalDependency.addDependencyArtifactInternal(file: File) {
when (this) {
is DefaultExternalProjectDependency -> this.projectDependencyArtifacts =
ArrayList<File>(this.projectDependencyArtifacts).also {
it.add(file)
}
is ExternalProjectDependency -> try {
this.projectDependencyArtifacts.add(file)
} catch (_: Exception) {
// ignore
}
is FileCollectionDependency -> this.files.add(file)
}
}
fun initializeModuleData(
gradleModule: IdeaModule,
mainModuleNode: DataNode<ModuleData>,
@@ -358,6 +380,10 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtensionComp
targetData.moduleIds = compilationIds
}
sourceSetMap.values.forEach {
it.getSecond().dependencies?.modifyDependenciesOnMppModules(projectDataNode, resolverCtx)
}
val ignoreCommonSourceSets by lazy { externalProject.notImportedCommonSourceSets() }
for (sourceSet in mppModel.sourceSets.values) {
if (delegateToAndroidPlugin(sourceSet)) continue
@@ -532,7 +558,8 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtensionComp
val processedModuleIds = HashSet<String>()
processCompilations(gradleModule, mppModel, ideModule, resolverCtx) { dataNode, compilation ->
if (processedModuleIds.add(getKotlinModuleId(gradleModule, compilation, resolverCtx))) {
val substitutedDependencies = substitutor.substituteDependencies(compilation)
val substitutedDependencies =
substitutor.substituteDependencies(compilation.dependencies.mapNotNull { mppModel.dependencyMap[it] })
buildDependencies(
resolverCtx,
sourceSetMap,
@@ -722,8 +749,17 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtensionComp
}
private fun addDependency(fromModule: DataNode<*>, toModule: DataNode<*>, dependOnTestModule: Boolean) {
if (fromModule.data == toModule.data) return
val fromData = fromModule.data as? ModuleData ?: return
val toData = toModule.data as? ModuleData ?: return
val existing = fromModule.children.mapNotNull { it.data as? ModuleDependencyData }.filter { it.target.id == (toModule.data as? ModuleData)?.id }
val nodeToModify =
existing.singleOrNull() ?: existing.firstOrNull { it.scope == DependencyScope.COMPILE } ?: existing.firstOrNull()
if (nodeToModify != null) {
nodeToModify.scope = DependencyScope.COMPILE
nodeToModify.isProductionOnTestDependency = nodeToModify.isProductionOnTestDependency || dependOnTestModule
return
}
val moduleDependencyData = ModuleDependencyData(fromData, toData).also {
it.scope = DependencyScope.COMPILE
it.isExported = false

View File

@@ -201,7 +201,15 @@ class ModuleInfo(
}
fun moduleDependency(moduleName: String, scope: DependencyScope, productionOnTest: Boolean? = null) {
val moduleEntry = rootModel.orderEntries.filterIsInstance<ModuleOrderEntry>().singleOrNull { it.moduleName == moduleName }
val moduleEntries = rootModel.orderEntries.filterIsInstance<ModuleOrderEntry>().filter { it.moduleName == moduleName }
if (moduleEntries.size > 1) {
projectInfo.messageCollector.report(
"Found multiple order entries for module $moduleName: ${rootModel.orderEntries.filterIsInstance<ModuleOrderEntry>()}"
)
return
}
val moduleEntry = moduleEntries.singleOrNull()
if (moduleEntry == null) {
val allModules = rootModel.orderEntries.filterIsInstance<ModuleOrderEntry>().map { it.moduleName }.joinToString(", ")
projectInfo.messageCollector.report("Module '${module.name}': No module dependency found: '$moduleName'. All module names: $allModules")

View File

@@ -45,7 +45,7 @@ abstract class MultiplePluginVersionGradleImportingTestCase : GradleImportingTes
const val LATEST_SUPPORTED_VERSION = "master"// gradle plugin from current build
//should be extended with LATEST_SUPPORTED_VERSION
private val KOTLIN_GRADLE_PLUGIN_VERSIONS = listOf(MINIMAL_SUPPORTED_VERSION, LATEST_STABLE_VERSUON)
private val KOTLIN_GRADLE_PLUGIN_VERSIONS = listOf(MINIMAL_SUPPORTED_VERSION, LATEST_STABLE_VERSUON, LATEST_SUPPORTED_VERSION)
private val KOTLIN_GRADLE_PLUGIN_VERSION_DESCRIPTION_TO_VERSION = mapOf(
MINIMAL_SUPPORTED_VERSION to MINIMAL_SUPPORTED_GRADLE_PLUGIN_VERSION,
LATEST_STABLE_VERSUON to LATEST_STABLE_GRADLE_PLUGIN_VERSION,
@@ -72,35 +72,14 @@ abstract class MultiplePluginVersionGradleImportingTestCase : GradleImportingTes
}
}
fun repositories(useKts: Boolean, useMaster: Boolean): String {
val flatDirs = arrayOf(
"libraries/tools/kotlin-gradle-plugin/build/libs",
"libraries/tools/kotlin-gradle-plugin/build/libs",
"prepare/compiler-client-embeddable/build/libs",
"prepare/compiler-embeddable/build/libs",
"libraries/tools/kotlin-gradle-plugin-api/build/libs",
"compiler/compiler-runner/build/libs",
"libraries/tools/kotlin-gradle-plugin-model/build/libs",
"plugins/scripting/scripting-compiler-embeddable/build/libs",
"konan/utils/build/libs"
)
fun repositories(useKts: Boolean): String {
val customRepositories = arrayOf("https://dl.bintray.com/kotlin/kotlin-dev", "http://dl.bintray.com/kotlin/kotlin-eap")
val customMavenRepositories = customRepositories.map { if (useKts) "maven(\"$it\")" else "maven { url '$it' } " }.joinToString("\n")
val baseFolder = File(".").absolutePath.replace("\\", "/")
val quote = if (useKts) '"' else '\''
val flatDirRepositories = if (useMaster)
flatDirs.map { "$quote$baseFolder/$it$quote" }.joinToString(
",\n",
if (useKts) "flatDir { dirs(" else "flatDir { dirs ",
if (useKts) ")}" else "}"
)
else
""
return """
google()
jcenter()
mavenLocal()
$customMavenRepositories
$flatDirRepositories
""".trimIndent()
}
@@ -108,31 +87,8 @@ abstract class MultiplePluginVersionGradleImportingTestCase : GradleImportingTes
val unitedProperties = HashMap(properties ?: emptyMap())
unitedProperties["kotlin_plugin_version"] = gradleKotlinPluginVersion
unitedProperties["kotlin_plugin_repositories"] = repositories(false, gradleKotlinPluginVersionType == LATEST_SUPPORTED_VERSION)
unitedProperties["kts_kotlin_plugin_repositories"] = repositories(true, gradleKotlinPluginVersionType == LATEST_SUPPORTED_VERSION)
unitedProperties["extraPluginDependencies"] = if (gradleKotlinPluginVersionType == LATEST_SUPPORTED_VERSION)
"""
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$gradleKotlinPluginVersion")
classpath("org.jetbrains.kotlin:kotlin-compiler-embeddable:$gradleKotlinPluginVersion")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin-api:$gradleKotlinPluginVersion")
classpath("org.jetbrains.kotlin:kotlin-native-utils:$gradleKotlinPluginVersion")
classpath("org.jetbrains.kotlin:kotlin-compiler-runner:$gradleKotlinPluginVersion")
classpath("org.jetbrains.kotlin:kotlin-compiler-client-embeddable:$gradleKotlinPluginVersion")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin-model:$gradleKotlinPluginVersion")
""".trimIndent()
else
""
unitedProperties["kts_resolution_strategy"] = if (gradleKotlinPluginVersionType == LATEST_SUPPORTED_VERSION)
"""resolutionStrategy {
eachPlugin {
if(requested.id.id == "org.jetbrains.kotlin.multiplatform") {
useModule("org.jetbrains.kotlin:kotlin-gradle-plugin:$gradleKotlinPluginVersion")
}
}
}""".trimIndent()
else ""
unitedProperties["kotlin_plugin_repositories"] = repositories(false)
unitedProperties["kts_kotlin_plugin_repositories"] = repositories(true)
return super.configureByFiles(unitedProperties)
}
}

View File

@@ -565,6 +565,20 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService {
)
}
/**
* Returns only those dependencies with RUNTIME scope which are not present with compile scope
*/
private fun Collection<KotlinDependency>.onlyNewDependencies(compileDependencies: Collection<KotlinDependency>): List<KotlinDependency> {
val compileDependencyArtefacts = compileDependencies.flatMap { (it as? ExternalProjectDependency)?.projectDependencyArtifacts ?: emptyList() }
return this.filter {
if (it is ExternalProjectDependency)
!(compileDependencyArtefacts.containsAll(it.projectDependencyArtifacts))
else
true
}
}
private fun buildCompilationDependencies(
gradleCompilation: Named,
classifier: String?,
@@ -580,11 +594,14 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService {
)
this += buildDependencies(
gradleCompilation, dependencyResolver, "getRuntimeDependencyConfigurationName", "RUNTIME", project, transformationBuilder
)
).onlyNewDependencies(this)
this += sourceSetMap[compilationFullName(
gradleCompilation.name,
classifier
)]?.dependencies?.map { dependencyMapper.getDependency(it) }?.filterNotNull() ?: emptySet()
makeConfigurationNamesDefault(dependencyMapper)
}
}
@@ -658,7 +675,8 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService {
)
this += buildDependencies(
gradleSourceSet, dependencyResolver, "getRuntimeOnlyMetadataConfigurationName", "RUNTIME", project, transformationBuilder
)
).onlyNewDependencies(this)
this += buildAndroidSourceSetDependencies(androidDeps, gradleSourceSet)
}
}
@@ -793,7 +811,6 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService {
private val projectDependencyTransformation =
transformations.filter { it.projectPath != null }.associateBy { it.projectPath }
//TODO
val dependenciesByProjectPath by lazy {
configuration

View File

@@ -0,0 +1,10 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.gradle
//BUNCH: 193
fun makeConfigurationNamesDefault(dependencyMapper: KotlinDependencyMapper) {
}

View File

@@ -0,0 +1,15 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.gradle
import org.jetbrains.plugins.gradle.model.DefaultExternalProjectDependency
//BUNCH: 193
fun makeConfigurationNamesDefault(dependencyMapper: KotlinDependencyMapper) {
dependencyMapper.toDependencyMap().values.forEach {
(it as? DefaultExternalProjectDependency)?.configurationName = "default"
}
}

View File

@@ -2,9 +2,6 @@ buildscript {
repositories {
{{kts_kotlin_plugin_repositories}}
}
dependencies {
{{extraPluginDependencies}}
}
}
repositories {

View File

@@ -2,7 +2,6 @@ pluginManagement {
repositories {
{{kts_kotlin_plugin_repositories}}
}
{{kts_resolution_strategy}}
}
rootProject.name = "my-app"

View File

@@ -2,9 +2,6 @@ buildscript {
repositories {
{{kts_kotlin_plugin_repositories}}
}
dependencies {
{{extraPluginDependencies}}
}
}
repositories {

View File

@@ -2,7 +2,6 @@ pluginManagement {
repositories {
{{kts_kotlin_plugin_repositories}}
}
{{kts_resolution_strategy}}
}
rootProject.name = "my-app"

View File

@@ -5,7 +5,6 @@ buildscript {
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}"
{{extraPluginDependencies}}
}
}

View File

@@ -3,9 +3,6 @@ version '1.0.0'
apply plugin: 'kotlin-multiplatform'
buildscript {
dependencies {
{{extraPluginDependencies}}
}
repositories {
{{kotlin_plugin_repositories}}
}

View File

@@ -6,7 +6,6 @@ buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
{{extraPluginDependencies}}
}
}

View File

@@ -4,7 +4,6 @@ buildscript {
}
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}")
{{extraPluginDependencies}}
}
}
apply plugin: 'kotlin-multiplatform'

View File

@@ -4,7 +4,6 @@ buildscript {
}
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}")
{{extraPluginDependencies}}
}
}

View File

@@ -10,7 +10,6 @@ buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
{{extraPluginDependencies}}
}
}

View File

@@ -4,7 +4,6 @@ buildscript {
}
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}")
{{extraPluginDependencies}}
}
}

View File

@@ -4,7 +4,6 @@ buildscript {
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}"
{{extraPluginDependencies}}
}
}

View File

@@ -4,7 +4,6 @@ buildscript {
}
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}")
{{extraPluginDependencies}}
}
}

View File

@@ -6,7 +6,6 @@ buildscript {
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
{{extraPluginDependencies}}
}
}

View File

@@ -5,7 +5,6 @@ buildscript {
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
{{extraPluginDependencies}}
}
}

View File

@@ -4,7 +4,6 @@ buildscript {
}
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}")
{{extraPluginDependencies}}
}
}

View File

@@ -5,7 +5,6 @@ buildscript {
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}")
{{extraPluginDependencies}}
}
}

View File

@@ -5,7 +5,6 @@ buildscript {
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}")
{{extraPluginDependencies}}
}
}

View File

@@ -5,7 +5,6 @@ subprojects {
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}"
{{extraPluginDependencies}}
}
}

View File

@@ -4,7 +4,6 @@ buildscript {
}
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}")
{{extraPluginDependencies}}
}
}

View File

@@ -5,7 +5,6 @@ buildscript {
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}")
{{extraPluginDependencies}}
}
}

View File

@@ -5,7 +5,6 @@ buildscript {
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}")
{{extraPluginDependencies}}
}
}

View File

@@ -5,7 +5,6 @@ buildscript {
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}")
{{extraPluginDependencies}}
}
}

View File

@@ -4,7 +4,6 @@ buildscript {
}
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}")
{{extraPluginDependencies}}
}
}

View File

@@ -92,45 +92,7 @@ tasks.withType<Test> {
onlyIf { !project.hasProperty("noTest") }
dependsOn(":kotlin-gradle-plugin:validateTaskProperties")
dependsOn(
":kotlin-allopen:install",
":kotlin-allopen:plugin-marker:install",
":kotlin-noarg:install",
":kotlin-allopen:plugin-marker:install",
":kotlin-sam-with-receiver:install",
":kotlin-android-extensions:install",
":kotlin-build-common:install",
":kotlin-compiler-embeddable:install",
":native:kotlin-native-utils:install",
":kotlin-util-klib:install",
":kotlin-util-io:install",
":kotlin-compiler-runner:install",
":kotlin-daemon-embeddable:install",
":kotlin-daemon-client:install",
":kotlin-gradle-plugin-api:install",
":kotlin-gradle-plugin:install",
":kotlin-gradle-plugin-model:install",
":kotlin-gradle-plugin:plugin-marker:install",
":kotlin-reflect:install",
":kotlin-annotation-processing-gradle:install",
":kotlin-test:kotlin-test-common:install",
":kotlin-test:kotlin-test-annotations-common:install",
":kotlin-test:kotlin-test-jvm:install",
":kotlin-test:kotlin-test-js:install",
":kotlin-gradle-subplugin-example:install",
":kotlin-stdlib-common:install",
":kotlin-stdlib:install",
":kotlin-stdlib-jdk8:install",
":kotlin-stdlib-js:install",
":examples:annotation-processor-example:install",
":kotlin-script-runtime:install",
":kotlin-scripting-common:install",
":kotlin-scripting-jvm:install",
":kotlin-scripting-compiler-embeddable:install",
":kotlin-scripting-compiler-impl-embeddable:install",
":kotlin-test-js-runner:install",
":kotlin-source-map-loader:install"
)
dependsOnKotlinPluginInstall()
executable = "${rootProject.extra["JDK_18"]!!}/bin/java"

View File

@@ -6,8 +6,6 @@ org.jetbrains.kotlin.checkers.JavaAgainstKotlinSourceCheckerWithoutUltraLightTes
org.jetbrains.kotlin.checkers.JavaAgainstKotlinSourceCheckerWithoutUltraLightTestGenerated.JavaAgainstKotlin.testUsingMutableInterfaces, FLAKY
org.jetbrains.kotlin.checkers.JavaAgainstKotlinSourceCheckerWithoutUltraLightTestGenerated.JavaAgainstKotlin.testUsingReadOnlyInterfaces, FLAKY
org.jetbrains.kotlin.gradle.GradleMultiplatformWizardTest.testWeb, KT-35095
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testSingleAndroidTarget[1: Gradle-4.9, KotlinGradlePlugin-latest stable], Stable on windows
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testSingleAndroidTarget[3: Gradle-5.6.4, KotlinGradlePlugin-latest stable], Stable on windows
org.jetbrains.kotlin.idea.caches.resolve.MultiPlatformHighlightingTestGenerated.testJvmKotlinReferencesCommonKotlinThroughJavaDifferentJvmImpls, Always red
org.jetbrains.kotlin.idea.codeInsight.gradle.GradleBuildFileHighlightingTest.testKtsInJsProject, "Diagnostic's list should be empty" error
org.jetbrains.kotlin.idea.codeInsight.gradle.GradleConfiguratorTest.testAddLibraryGSK[1: with Gradle-5.6.4], unresolved kotlinModule
Can't render this file because it contains an unexpected character in line 10 and column 132.

View File

@@ -31,26 +31,6 @@ org.jetbrains.kotlin.gradle.MultiplatformProjectImportingTest.testTransitiveImpl
org.jetbrains.kotlin.gradle.MultiplatformProjectImportingTest.testTransitiveImplement[1: Gradle-4.9, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.MultiplatformProjectImportingTest.testTransitiveImplement[2: Gradle-5.6.4, KotlinGradlePlugin-minimal], Gradle Tests in 201
org.jetbrains.kotlin.gradle.MultiplatformProjectImportingTest.testTransitiveImplement[3: Gradle-5.6.4, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testAndroidDependencyOnMPP[1: Gradle-4.9, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testAndroidDependencyOnMPP[1: Gradle-4.9, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testAndroidDependencyOnMPP[3: Gradle-5.6.4, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testAndroidDependencyOnMPP[3: Gradle-5.6.4, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testDependencyOnRoot[1: Gradle-4.9, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testDependencyOnRoot[3: Gradle-5.6.4, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testDetectAndroidSources[1: Gradle-4.9, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testDetectAndroidSources[1: Gradle-4.9, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testDetectAndroidSources[3: Gradle-5.6.4, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testDetectAndroidSources[3: Gradle-5.6.4, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testImportBeforeBuild[1: Gradle-4.9, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testImportBeforeBuild[3: Gradle-5.6.4, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testJavaTransitiveOnMPP[1: Gradle-4.9, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testJavaTransitiveOnMPP[3: Gradle-5.6.4, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testJvmWithJava[1: Gradle-4.9, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testJvmWithJava[3: Gradle-5.6.4, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testNestedDependencies[1: Gradle-4.9, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testNestedDependencies[3: Gradle-5.6.4, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testProjectDependency[1: Gradle-4.9, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testProjectDependency[3: Gradle-5.6.4, KotlinGradlePlugin-latest stable], Gradle Tests in 201
org.jetbrains.kotlin.idea.caches.resolve.MultiModuleLineMarkerTestGenerated.testKotlinTestAnnotations, No line markers for test run
org.jetbrains.kotlin.idea.caches.resolve.MultiPlatformHighlightingTestGenerated.testMultifileFacade, KT-34689 invalid light class
org.jetbrains.kotlin.idea.codeInsight.InspectionTestGenerated.Inspections.testAndroidIllegalIdentifiers_inspectionData_Inspections_test, Unprocessed