Merge remote-tracking branch 'origin/master' into ank/studio-430
authorAndrei Kuznetsov <andrei.kuznetsov@jetbrains.com>
Thu, 2 Sep 2021 21:02:39 +0000 (00:02 +0300)
committerintellij-monorepo-bot <intellij-monorepo-bot-no-reply@jetbrains.com>
Thu, 2 Sep 2021 21:25:34 +0000 (21:25 +0000)
GitOrigin-RevId: 67f281ccb7f526cdc3edec168ab9ac5861e75eca

1  2 
.idea/modules.xml
platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityLibraryLicenses.groovy
platform/testFramework/testSrc/tests/testGroups.properties
plugins/kotlin/gradle/gradle-idea/src/org/jetbrains/kotlin/idea/gradle/configuration/KotlinDataNodes.kt

Simple merge
index 0000000000000000000000000000000000000000,f623daefdbee309515126020d695a1e7c844711c..e62d16801e8fd2e6d0885cc2f5d6c0ba3401a02c
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,62 +1,63 @@@
+ // Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+ package org.jetbrains.kotlin.idea.gradle.configuration
+ import com.intellij.openapi.externalSystem.model.DataNode
+ import com.intellij.openapi.externalSystem.model.Key
+ import com.intellij.openapi.externalSystem.model.ProjectKeys
+ import com.intellij.openapi.externalSystem.model.project.AbstractExternalEntityData
+ import com.intellij.openapi.externalSystem.model.project.AbstractNamedData
+ import com.intellij.openapi.externalSystem.model.project.ModuleData
+ import com.intellij.openapi.externalSystem.model.project.ProjectData
+ import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
+ import com.intellij.openapi.util.IntellijInternalApi
+ import com.intellij.serialization.PropertyMapping
+ import org.jetbrains.kotlin.gradle.ArgsInfo
+ import org.jetbrains.plugins.gradle.model.data.GradleSourceSetData
+ import org.jetbrains.plugins.gradle.util.GradleConstants
+ import java.io.Serializable
+ interface ImplementedModulesAware : Serializable {
+     var implementedModuleNames: List<String>
+ }
+ class KotlinGradleProjectData : AbstractExternalEntityData(GradleConstants.SYSTEM_ID), ImplementedModulesAware {
+     var isResolved: Boolean = false
+     var kotlinTarget: String? = null
+     var hasKotlinPlugin: Boolean = false
+     var coroutines: String? = null
+     var isHmpp: Boolean = false
+     var platformPluginId: String? = null
+     lateinit var kotlinNativeHome: String
+     override var implementedModuleNames: List<String> = emptyList()
+     @Transient
+     val dependenciesCache: MutableMap<DataNode<ProjectData>, Collection<DataNode<out ModuleData>>> = mutableMapOf()
+     val pureKotlinSourceFolders: MutableCollection<String> = hashSetOf()
+     companion object {
+         val KEY = Key.create(KotlinGradleProjectData::class.java, ProjectKeys.MODULE.processingWeight + 1)
+     }
+ }
+ @IntellijInternalApi
+ val DataNode<GradleSourceSetData>.kotlinGradleSourceSetDataOrFail: KotlinGradleSourceSetData
+     get() = kotlinGradleSourceSetDataOrNull ?: error("Failed to determine KotlinGradleSourceSetData for $this")
+ internal val DataNode<GradleSourceSetData>.kotlinGradleSourceSetDataOrNull: KotlinGradleSourceSetData?
+     get() = ExternalSystemApiUtil.getChildren(this, KotlinGradleSourceSetData.KEY).singleOrNull()?.data
+ class KotlinGradleSourceSetData @PropertyMapping("externalName") constructor(externalName: String) :
+     AbstractNamedData(GradleConstants.SYSTEM_ID, externalName), ImplementedModulesAware {
++
+     val sourceSetName: String
+         get() = externalName.substringAfterLast(":")
+     lateinit var compilerArguments: ArgsInfo
+     lateinit var additionalVisibleSourceSets: Set<String>
+     override var implementedModuleNames: List<String> = emptyList()
+     companion object {
+         val KEY = Key.create(KotlinGradleSourceSetData::class.java, KotlinGradleProjectData.KEY.processingWeight + 1)
+     }
+ }