[MPP, tests] Rearrange functional tests

Split tests into groups: unit tests, regression tests and
ide importing tests. Create additional run configurations for them.

KT-55530
This commit is contained in:
Pavel Kirpichenkov
2022-12-27 18:31:37 +02:00
committed by Space Team
parent 43eea47032
commit cee5d568a5
92 changed files with 362 additions and 237 deletions
@@ -0,0 +1,25 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Test: Kotlin Gradle Plugin / functionalTest / dependency resolution tests" type="GradleRunConfiguration" factoryName="Gradle" folderName="Tests">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value=":kotlin-gradle-plugin:functionalTest" />
<option value="--tests" />
<option value="&quot;org.jetbrains.kotlin.gradle.ide.*&quot;" />
</list>
</option>
<option name="vmOptions" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<method v="2" />
</configuration>
</component>
@@ -0,0 +1,25 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Test: Kotlin Gradle Plugin / functionalTest / regression" type="GradleRunConfiguration" factoryName="Gradle" folderName="Tests">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value=":kotlin-gradle-plugin:functionalTest" />
<option value="--tests" />
<option value="&quot;org.jetbrains.kotlin.gradle.regression.*&quot;" />
</list>
</option>
<option name="vmOptions" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<method v="2" />
</configuration>
</component>
@@ -0,0 +1,25 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Test: Kotlin Gradle Plugin / functionalTest / unit" type="GradleRunConfiguration" factoryName="Gradle" folderName="Tests">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value=":kotlin-gradle-plugin:functionalTest" />
<option value="--tests" />
<option value="&quot;org.jetbrains.kotlin.gradle.unit.*&quot;" />
</list>
</option>
<option name="vmOptions" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<method v="2" />
</configuration>
</component>
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@@ -8,23 +8,17 @@
package org.jetbrains.kotlin.gradle
import org.gradle.api.Project
import org.gradle.api.artifacts.verification.DependencyVerificationMode
import org.gradle.api.internal.project.ProjectInternal
import org.gradle.api.plugins.ExtraPropertiesExtension
import org.gradle.testfixtures.ProjectBuilder
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.PropertyNames.KOTLIN_MPP_ANDROID_SOURCE_SET_LAYOUT_VERSION
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.PropertyNames.KOTLIN_MPP_ENABLE_CINTEROP_COMMONIZATION
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.PropertyNames.KOTLIN_MPP_HIERARCHICAL_STRUCTURE_BY_DEFAULT
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.PropertyNames.KOTLIN_STDLIB_DEFAULT_DEPENDENCY
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinSharedNativeCompilation
import org.jetbrains.kotlin.gradle.targets.native.internal.CInteropCommonizerDependent
import org.jetbrains.kotlin.gradle.targets.native.internal.CInteropIdentifier
import org.jetbrains.kotlin.gradle.targets.native.internal.from
import org.jetbrains.kotlin.gradle.util.*
import kotlin.test.BeforeTest
import kotlin.test.assertNotNull
@@ -83,38 +77,3 @@ abstract class MultiplatformExtensionTest {
return CInteropIdentifier(CInteropIdentifier.Scope.create(this), name)
}
}
fun Project.applyMultiplatformPlugin(): KotlinMultiplatformExtension {
addBuildEventsListenerRegistryMock(this)
disableLegacyWarning(project)
plugins.apply("kotlin-multiplatform")
return extensions.getByName("kotlin") as KotlinMultiplatformExtension
}
val Project.propertiesExtension: ExtraPropertiesExtension
get() = extensions.getByType(ExtraPropertiesExtension::class.java)
fun Project.enableGranularSourceSetsMetadata() {
propertiesExtension.set("kotlin.mpp.enableGranularSourceSetsMetadata", "true")
}
fun Project.enableCInteropCommonization(enabled: Boolean = true) {
propertiesExtension.set(KOTLIN_MPP_ENABLE_CINTEROP_COMMONIZATION, enabled.toString())
}
fun Project.enableHierarchicalStructureByDefault(enabled: Boolean = true) {
propertiesExtension.set(KOTLIN_MPP_HIERARCHICAL_STRUCTURE_BY_DEFAULT, enabled.toString())
}
fun Project.enableDefaultStdlibDependency(enabled: Boolean = true) {
project.propertiesExtension.set(KOTLIN_STDLIB_DEFAULT_DEPENDENCY, enabled.toString())
}
fun Project.setMultiplatformAndroidSourceSetLayoutVersion(version: Int) {
project.propertiesExtension.set(KOTLIN_MPP_ANDROID_SOURCE_SET_LAYOUT_VERSION, version.toString())
}
fun Project.enableDependencyVerification(enabled: Boolean = true) {
gradle.startParameter.dependencyVerificationMode = if (enabled) DependencyVerificationMode.STRICT
else DependencyVerificationMode.OFF
}
@@ -5,7 +5,7 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.kpm.idea
package org.jetbrains.kotlin.gradle.ide.kpm
import org.gradle.api.Project
import org.gradle.api.artifacts.dsl.RepositoryHandler
@@ -15,10 +15,10 @@ import org.gradle.testfixtures.ProjectBuilder
import org.jetbrains.kotlin.commonizer.KonanDistribution
import org.jetbrains.kotlin.commonizer.platformLibsDir
import org.jetbrains.kotlin.compilerRunner.konanHome
import org.jetbrains.kotlin.gradle.enableDefaultStdlibDependency
import org.jetbrains.kotlin.gradle.enableDependencyVerification
import org.jetbrains.kotlin.gradle.idea.testFixtures.kpm.TestIdeaKpmBinaryDependencyMatcher
import org.jetbrains.kotlin.gradle.plugin.mpp.enabledOnCurrentHost
import org.jetbrains.kotlin.gradle.util.enableDefaultStdlibDependency
import org.jetbrains.kotlin.gradle.util.enableDependencyVerification
import org.jetbrains.kotlin.konan.target.KonanTarget
/**
@@ -5,12 +5,12 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.kpm.idea
package org.jetbrains.kotlin.gradle.ide.kpm
import org.gradle.kotlin.dsl.create
import org.jetbrains.kotlin.gradle.idea.kpm.IdeaKpmProject
import org.jetbrains.kotlin.gradle.kpm.AbstractKpmExtensionTest
import org.jetbrains.kotlin.gradle.kpm.buildIdeaKpmProjectModel
import org.jetbrains.kotlin.gradle.unit.kpm.AbstractKpmExtensionTest
import org.jetbrains.kotlin.gradle.unit.kpm.buildIdeaKpmProjectModel
import org.jetbrains.kotlin.gradle.idea.testFixtures.utils.deserialize
import org.jetbrains.kotlin.gradle.idea.testFixtures.utils.serialize
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmIosX64Variant
@@ -5,22 +5,22 @@
@file:Suppress("FunctionName", "DuplicatedCode")
package org.jetbrains.kotlin.gradle.kpm.idea
package org.jetbrains.kotlin.gradle.ide.kpm
import com.android.build.gradle.LibraryExtension
import com.android.build.gradle.LibraryPlugin
import org.jetbrains.kotlin.commonizer.stdlib
import org.jetbrains.kotlin.gradle.addBuildEventsListenerRegistryMock
import org.jetbrains.kotlin.gradle.android.androidPrototype
import org.jetbrains.kotlin.gradle.assumeAndroidSdkAvailable
import org.jetbrains.kotlin.gradle.idea.kpm.IdeaKpmDependency.Companion.CLASSPATH_BINARY_TYPE
import org.jetbrains.kotlin.gradle.idea.testFixtures.kpm.assertContainsFragment
import org.jetbrains.kotlin.gradle.idea.testFixtures.kpm.assertContainsModule
import org.jetbrains.kotlin.gradle.idea.testFixtures.kpm.assertIsNotEmpty
import org.jetbrains.kotlin.gradle.idea.testFixtures.kpm.assertResolvedBinaryDependencies
import org.jetbrains.kotlin.gradle.kpm.applyKpmPlugin
import org.jetbrains.kotlin.gradle.kpm.buildIdeaKpmProjectModel
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.*
import org.jetbrains.kotlin.gradle.unit.kpm.applyKpmPlugin
import org.jetbrains.kotlin.gradle.unit.kpm.buildIdeaKpmProjectModel
import org.jetbrains.kotlin.gradle.util.addBuildEventsListenerRegistryMock
import org.jetbrains.kotlin.gradle.util.assumeAndroidSdkAvailable
import org.jetbrains.kotlin.konan.target.KonanTarget.*
import org.junit.Test
@@ -5,11 +5,11 @@
@file:Suppress("FunctionName", "DuplicatedCode")
package org.jetbrains.kotlin.gradle.kpm.idea
package org.jetbrains.kotlin.gradle.ide.kpm
import org.jetbrains.kotlin.gradle.idea.kpm.name
import org.jetbrains.kotlin.gradle.kpm.applyKpmPlugin
import org.jetbrains.kotlin.gradle.kpm.buildIdeaKpmProjectModel
import org.jetbrains.kotlin.gradle.unit.kpm.applyKpmPlugin
import org.jetbrains.kotlin.gradle.unit.kpm.buildIdeaKpmProjectModel
import org.jetbrains.kotlin.gradle.idea.testFixtures.kpm.assertContainsFragment
import org.jetbrains.kotlin.gradle.idea.testFixtures.kpm.assertIsNotEmpty
import org.jetbrains.kotlin.gradle.idea.testFixtures.kpm.assertFragmentDependencies
@@ -5,11 +5,8 @@
@file:Suppress("FunctionName", "DuplicatedCode")
package org.jetbrains.kotlin.gradle.kpm.idea
package org.jetbrains.kotlin.gradle.ide.kpm
import org.jetbrains.kotlin.gradle.enableDefaultStdlibDependency
import org.jetbrains.kotlin.gradle.kpm.applyKpmPlugin
import org.jetbrains.kotlin.gradle.kpm.buildIdeaKpmProjectModel
import org.jetbrains.kotlin.gradle.idea.kpm.IdeaKpmDependency.Companion.CLASSPATH_BINARY_TYPE
import org.jetbrains.kotlin.gradle.idea.testFixtures.kpm.TestIdeaKpmBinaryDependencyMatcher
import org.jetbrains.kotlin.gradle.idea.testFixtures.kpm.assertContainsFragment
@@ -19,6 +16,9 @@ import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmIosArm64Variant
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmIosX64Variant
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmJvmVariant
import org.jetbrains.kotlin.gradle.unit.kpm.applyKpmPlugin
import org.jetbrains.kotlin.gradle.unit.kpm.buildIdeaKpmProjectModel
import org.jetbrains.kotlin.gradle.util.enableDefaultStdlibDependency
import org.junit.Test
class StdlibKotlinIdeaDependencyResolutionTest : AbstractLightweightIdeaDependencyResolutionTest() {
@@ -5,13 +5,13 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.ide
package org.jetbrains.kotlin.gradle.ide.tcs
import org.jetbrains.kotlin.gradle.buildProjectWithMPP
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinSourceDependency
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.assertMatches
import org.jetbrains.kotlin.gradle.plugin.ide.dependencyResolvers.IdeDependsOnDependencyResolver
import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP
import kotlin.test.Test
class IdeDependsOnDependencyResolverTest {
@@ -5,15 +5,16 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.ide
package org.jetbrains.kotlin.gradle.ide.tcs
import org.gradle.api.Project
import org.jetbrains.kotlin.gradle.*
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.*
import org.jetbrains.kotlin.gradle.kpm.idea.mavenCentralCacheRedirector
import org.jetbrains.kotlin.gradle.ide.kpm.mavenCentralCacheRedirector
import org.jetbrains.kotlin.gradle.plugin.ide.dependencyResolvers.IdeJvmAndAndroidPlatformBinaryDependencyResolver
import org.jetbrains.kotlin.gradle.plugin.ide.kotlinIdeMultiplatformImport
import org.jetbrains.kotlin.gradle.util.*
import org.jetbrains.kotlin.gradle.utils.androidExtension
import kotlin.test.BeforeTest
import kotlin.test.Test
@@ -5,14 +5,14 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.ide
package org.jetbrains.kotlin.gradle.ide.tcs
import org.jetbrains.kotlin.compilerRunner.konanVersion
import org.jetbrains.kotlin.gradle.buildProjectWithMPP
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.assertMatches
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.binaryCoordinates
import org.jetbrains.kotlin.gradle.plugin.ide.dependencyResolvers.IdeNativePlatformDependencyResolver
import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP
import org.jetbrains.kotlin.konan.target.HostManager
import org.jetbrains.kotlin.konan.target.KonanTarget.LINUX_X64
import org.jetbrains.kotlin.konan.target.KonanTarget.MACOS_ARM64
@@ -5,14 +5,14 @@
@file:Suppress("FunctionName", "DuplicatedCode")
package org.jetbrains.kotlin.gradle.ide
package org.jetbrains.kotlin.gradle.ide.tcs
import org.jetbrains.kotlin.compilerRunner.konanVersion
import org.jetbrains.kotlin.gradle.buildProjectWithMPP
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.assertMatches
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.binaryCoordinates
import org.jetbrains.kotlin.gradle.plugin.ide.dependencyResolvers.IdeNativeStdlibDependencyResolver
import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP
import org.junit.Test
class IdeNativeStdlibResolverTest {
@@ -5,17 +5,17 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.ide
package org.jetbrains.kotlin.gradle.ide.tcs
import org.jetbrains.kotlin.gradle.applyMultiplatformPlugin
import org.jetbrains.kotlin.gradle.buildProject
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.enableDefaultStdlibDependency
import org.jetbrains.kotlin.gradle.enableDependencyVerification
import org.jetbrains.kotlin.gradle.ide.kpm.mavenCentralCacheRedirector
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.assertMatches
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.binaryCoordinates
import org.jetbrains.kotlin.gradle.kpm.idea.mavenCentralCacheRedirector
import org.jetbrains.kotlin.gradle.plugin.ide.dependencyResolvers.IdeOriginalMetadataDependencyResolver
import org.jetbrains.kotlin.gradle.util.applyMultiplatformPlugin
import org.jetbrains.kotlin.gradle.util.buildProject
import org.jetbrains.kotlin.gradle.util.enableDefaultStdlibDependency
import org.jetbrains.kotlin.gradle.util.enableDependencyVerification
import org.junit.Test
class IdeOriginalMetadataDependencyResolverTest {
@@ -5,17 +5,17 @@
@file:Suppress("FunctionName", "DuplicatedCode")
package org.jetbrains.kotlin.gradle.ide
package org.jetbrains.kotlin.gradle.ide.tcs
import org.jetbrains.kotlin.gradle.applyMultiplatformPlugin
import org.jetbrains.kotlin.gradle.buildProject
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.enableDefaultStdlibDependency
import org.jetbrains.kotlin.gradle.enableDependencyVerification
import org.jetbrains.kotlin.gradle.ide.kpm.mavenCentralCacheRedirector
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.assertMatches
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.binaryCoordinates
import org.jetbrains.kotlin.gradle.kpm.idea.mavenCentralCacheRedirector
import org.jetbrains.kotlin.gradle.plugin.ide.dependencyResolvers.IdeBinaryDependencyResolver
import org.jetbrains.kotlin.gradle.util.applyMultiplatformPlugin
import org.jetbrains.kotlin.gradle.util.buildProject
import org.jetbrains.kotlin.gradle.util.enableDefaultStdlibDependency
import org.jetbrains.kotlin.gradle.util.enableDependencyVerification
import kotlin.test.Test
class IdeBinaryDependencyResolverTest {
@@ -5,7 +5,7 @@
@file:Suppress("FunctionName", "DuplicatedCode")
package org.jetbrains.kotlin.gradle.ide
package org.jetbrains.kotlin.gradle.ide.tcs
import org.gradle.api.Project
import org.jetbrains.kotlin.gradle.*
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinDependency
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinSourceDependency.Type.Regular
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.*
import org.jetbrains.kotlin.gradle.plugin.ide.kotlinIdeMultiplatformImport
import org.jetbrains.kotlin.gradle.util.*
import kotlin.test.Test
class IdeSourceDependencyResolutionTest {
@@ -5,13 +5,13 @@
@file:Suppress("FunctionName", "DuplicatedCode")
package org.jetbrains.kotlin.gradle.ide
package org.jetbrains.kotlin.gradle.ide.tcs
import org.jetbrains.kotlin.gradle.applyMultiplatformPlugin
import org.jetbrains.kotlin.gradle.buildProject
import org.jetbrains.kotlin.gradle.util.applyMultiplatformPlugin
import org.jetbrains.kotlin.gradle.util.buildProject
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.enableDependencyVerification
import org.jetbrains.kotlin.gradle.kpm.idea.mavenCentralCacheRedirector
import org.jetbrains.kotlin.gradle.util.enableDependencyVerification
import org.jetbrains.kotlin.gradle.ide.kpm.mavenCentralCacheRedirector
import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.ide.IdeMultiplatformImport
@@ -5,23 +5,23 @@
@file:Suppress("FunctionName", "DuplicatedCode")
package org.jetbrains.kotlin.gradle.ide
package org.jetbrains.kotlin.gradle.ide.tcs
import org.jetbrains.kotlin.gradle.applyMultiplatformPlugin
import org.jetbrains.kotlin.gradle.buildProject
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.enableDefaultStdlibDependency
import org.jetbrains.kotlin.gradle.enableDependencyVerification
import org.jetbrains.kotlin.gradle.ide.kpm.mavenCentralCacheRedirector
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinResolvedBinaryDependency
import org.jetbrains.kotlin.gradle.idea.tcs.extras.documentationClasspathKey
import org.jetbrains.kotlin.gradle.idea.tcs.extras.sourcesClasspath
import org.jetbrains.kotlin.gradle.idea.tcs.extras.sourcesClasspathKey
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.assertMatches
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.binaryCoordinates
import org.jetbrains.kotlin.gradle.kpm.idea.mavenCentralCacheRedirector
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.ide.dependencyResolvers.IdeNativeStdlibDependencyResolver
import org.jetbrains.kotlin.gradle.plugin.ide.kotlinIdeMultiplatformImport
import org.jetbrains.kotlin.gradle.util.applyMultiplatformPlugin
import org.jetbrains.kotlin.gradle.util.buildProject
import org.jetbrains.kotlin.gradle.util.enableDefaultStdlibDependency
import org.jetbrains.kotlin.gradle.util.enableDependencyVerification
import kotlin.test.Test
import kotlin.test.fail
import kotlin.text.Regex.Companion.escape
@@ -5,20 +5,23 @@
@file:Suppress("FunctionName", "DuplicatedCode")
package org.jetbrains.kotlin.gradle.ide
package org.jetbrains.kotlin.gradle.ide.tcs
import org.gradle.api.Project
import org.jetbrains.kotlin.compilerRunner.konanVersion
import org.jetbrains.kotlin.gradle.*
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.ide.kpm.mavenCentralCacheRedirector
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinResolvedBinaryDependency
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.assertMatches
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.binaryCoordinates
import org.jetbrains.kotlin.gradle.kpm.idea.mavenCentralCacheRedirector
import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.ide.kotlinIdeMultiplatformImport
import org.jetbrains.kotlin.gradle.util.applyMultiplatformPlugin
import org.jetbrains.kotlin.gradle.util.buildProject
import org.jetbrains.kotlin.gradle.util.enableDefaultStdlibDependency
import org.jetbrains.kotlin.gradle.util.enableDependencyVerification
import org.jetbrains.kotlin.gradle.utils.androidExtension
import org.junit.Test
@@ -5,14 +5,18 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.ide
package org.jetbrains.kotlin.gradle.ide.tcs
import org.jetbrains.kotlin.gradle.*
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.assertMatches
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.binaryCoordinates
import org.jetbrains.kotlin.gradle.kpm.idea.mavenCentralCacheRedirector
import org.jetbrains.kotlin.gradle.ide.kpm.mavenCentralCacheRedirector
import org.jetbrains.kotlin.gradle.plugin.ide.dependencyResolvers.IdeTransformedMetadataDependencyResolver
import org.jetbrains.kotlin.gradle.util.buildProject
import org.jetbrains.kotlin.gradle.util.enableDefaultStdlibDependency
import org.jetbrains.kotlin.gradle.util.enableDependencyVerification
import org.jetbrains.kotlin.gradle.util.applyMultiplatformPlugin
import org.junit.Test
class IdeTransformedMetadataDependencyResolverTest {
@@ -6,17 +6,17 @@
@file:Suppress("FunctionName")
@file:OptIn(Idea222Api::class)
package org.jetbrains.kotlin.gradle.ide
package org.jetbrains.kotlin.gradle.ide.tcs
import org.gradle.api.internal.project.ProjectInternal
import org.gradle.testfixtures.ProjectBuilder
import org.jetbrains.kotlin.gradle.applyMultiplatformPlugin
import org.jetbrains.kotlin.gradle.assertDependsOn
import org.jetbrains.kotlin.gradle.assertTaskDependenciesEquals
import org.jetbrains.kotlin.gradle.enableCInteropCommonization
import org.jetbrains.kotlin.gradle.plugin.ide.Idea222Api
import org.jetbrains.kotlin.gradle.plugin.ide.ideaImportDependsOn
import org.jetbrains.kotlin.gradle.plugin.ide.prepareKotlinIdeaImportTask
import org.jetbrains.kotlin.gradle.util.applyMultiplatformPlugin
import org.jetbrains.kotlin.gradle.util.assertDependsOn
import org.jetbrains.kotlin.gradle.util.assertTaskDependenciesEquals
import org.jetbrains.kotlin.gradle.util.enableCInteropCommonization
import org.jetbrains.kotlin.tooling.core.UnsafeApi
import kotlin.test.Test
import kotlin.test.assertNotNull
@@ -5,7 +5,7 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.externalTargetApi
package org.jetbrains.kotlin.gradle.ide.tcs.externalTargetApi
import org.gradle.api.publish.PublishingExtension
import org.gradle.api.publish.maven.MavenPublication
@@ -16,8 +16,9 @@ import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.anyDependency
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.assertMatches
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.binaryCoordinates
import org.jetbrains.kotlin.gradle.kpm.idea.mavenCentralCacheRedirector
import org.jetbrains.kotlin.gradle.ide.kpm.mavenCentralCacheRedirector
import org.jetbrains.kotlin.gradle.plugin.ide.kotlinIdeMultiplatformImport
import org.jetbrains.kotlin.gradle.util.*
import org.jetbrains.kotlin.gradle.utils.getByType
import org.junit.Test
import kotlin.test.BeforeTest
@@ -3,7 +3,7 @@
* 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.ide
package org.jetbrains.kotlin.gradle.ide.tcs
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.sources.internal
@@ -5,10 +5,12 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.regression
import org.gradle.api.Project
import org.gradle.api.tasks.bundling.AbstractArchiveTask
import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP
import org.jetbrains.kotlin.gradle.util.kotlin
import org.junit.Test
import kotlin.test.assertFalse
import kotlin.test.assertTrue
@@ -3,11 +3,11 @@
* 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
package org.jetbrains.kotlin.gradle.regression
import org.jetbrains.kotlin.gradle.MultiplatformExtensionTest
import org.jetbrains.kotlin.gradle.plugin.mpp.DefaultCInteropSettings
import org.jetbrains.kotlin.gradle.tasks.CInteropProcess
import kotlin.test.BeforeTest
import kotlin.test.Test
import kotlin.test.assertEquals
@@ -5,11 +5,13 @@
@file:Suppress("FunctionName", "DuplicatedCode")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.regression
import org.gradle.api.internal.project.ProjectInternal
import org.gradle.testfixtures.ProjectBuilder
import org.jetbrains.kotlin.gradle.*
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation
import org.jetbrains.kotlin.gradle.util.*
import kotlin.test.Test
import kotlin.test.assertNotNull
import kotlin.test.assertNull
@@ -1,16 +1,17 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.regression
import org.gradle.api.attributes.AttributeContainer
import org.gradle.api.attributes.Category
import org.gradle.api.attributes.Usage
import org.gradle.kotlin.dsl.withType
import org.jetbrains.kotlin.gradle.*
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
@@ -20,6 +21,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.targets
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsCompilerAttribute
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
import org.jetbrains.kotlin.gradle.util.*
import java.util.*
import kotlin.test.Test
import kotlin.test.assertEquals
@@ -1,16 +1,18 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
/* Associate compilations are not yet supported by the IDE. KT-34102 */
@file:Suppress("invisible_reference", "invisible_member", "FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.regression
import org.gradle.api.Project
import org.gradle.testfixtures.ProjectBuilder
import org.jetbrains.kotlin.gradle.targets.metadata.isKotlinGranularMetadataEnabled
import org.jetbrains.kotlin.gradle.targets.native.internal.isNativeDependencyPropagationEnabled
import org.jetbrains.kotlin.gradle.util.applyMultiplatformPlugin
import org.jetbrains.kotlin.gradle.util.enableHierarchicalStructureByDefault
import kotlin.test.Test
import kotlin.test.assertEquals
@@ -1,11 +1,11 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.regression
import com.android.build.gradle.LibraryExtension
import org.gradle.api.internal.project.ProjectInternal
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMetadataCompilation
import org.jetbrains.kotlin.gradle.plugin.mpp.kotlinProjectStructureMetadata
import org.jetbrains.kotlin.gradle.util.addBuildEventsListenerRegistryMock
import org.jetbrains.kotlin.util.capitalizeDecapitalize.toLowerCaseAsciiOnly
import kotlin.test.*
@@ -3,16 +3,18 @@
* 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
package org.jetbrains.kotlin.gradle.regression
import org.gradle.api.Project
import org.gradle.api.Task
import org.gradle.api.file.FileCollection
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
import org.jetbrains.kotlin.gradle.util.assertNoCircularTaskDependencies
import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP
import org.jetbrains.kotlin.gradle.util.kotlin
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.fail
class KT31459JvmMainClassesTest {
@@ -1,15 +1,17 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.regression
import com.android.build.gradle.LibraryExtension
import org.jetbrains.kotlin.gradle.MultiplatformExtensionTest
import org.jetbrains.kotlin.gradle.plugin.runMissingAndroidTargetProjectConfigurationHealthCheck
import org.jetbrains.kotlin.gradle.targets.android.findAndroidTarget
import org.jetbrains.kotlin.gradle.util.propertiesExtension
import org.junit.Test
import kotlin.test.*
@@ -1,14 +1,14 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.regression
import org.jetbrains.kotlin.gradle.MultiplatformExtensionTest
import org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.sources.KotlinDependencyScope
import kotlin.test.Test
class KT46273JvmTargetAndOrphanTestSourceSetTest : MultiplatformExtensionTest() {
@@ -5,11 +5,12 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.regression
import org.gradle.kotlin.dsl.getByType
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinWithJavaCompilation
import org.jetbrains.kotlin.gradle.util.buildProjectWithJvm
import kotlin.test.Test
import kotlin.test.assertSame
@@ -5,10 +5,12 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.regression
import org.jetbrains.kotlin.gradle.dsl.kotlinJvmExtension
import org.jetbrains.kotlin.gradle.plugin.mpp.javaSourceSets
import org.jetbrains.kotlin.gradle.util.buildProjectWithJvm
import org.jetbrains.kotlin.gradle.util.enableDefaultStdlibDependency
import org.junit.Test
import kotlin.test.assertEquals
import kotlin.test.assertSame
@@ -3,13 +3,15 @@
* 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
package org.jetbrains.kotlin.gradle.regression
import org.jetbrains.kotlin.gradle.dsl.KotlinJsProjectExtension
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType
import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType.*
import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType.BOTH
import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType.IR
import org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSet
import org.jetbrains.kotlin.gradle.util.buildProject
import org.junit.Test
import kotlin.test.assertTrue
@@ -5,7 +5,7 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.regression
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinCommonCompilation
@@ -13,6 +13,8 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinSharedNativeCompilation
import org.jetbrains.kotlin.gradle.tasks.KotlinCompileCommon
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
import org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile
import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP
import org.jetbrains.kotlin.gradle.util.relativeTo
import kotlin.test.Test
import kotlin.test.assertEquals
@@ -5,10 +5,11 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.regression
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.targets
import org.jetbrains.kotlin.gradle.util.buildProjectWithJvm
import kotlin.test.Test
class KotlinJvmFunctionalTest {
@@ -5,11 +5,14 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.regression
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinSharedNativeCompilation
import org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile
import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP
import org.jetbrains.kotlin.gradle.util.main
import org.jetbrains.kotlin.gradle.util.relativeTo
import kotlin.test.Test
import kotlin.test.assertEquals
@@ -5,7 +5,7 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import org.jetbrains.kotlin.gradle.plugin.AndroidGradlePluginVersion
import org.jetbrains.kotlin.gradle.plugin.AndroidGradlePluginVersionOrNull
@@ -1,12 +1,12 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
/* Associate compilations are not yet supported by the IDE. KT-34102 */
@file:Suppress("invisible_reference", "invisible_member", "FunctionName", "DuplicatedCode")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import com.android.build.gradle.BaseExtension
import org.gradle.api.JavaVersion
@@ -30,6 +30,8 @@ import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
import org.jetbrains.kotlin.gradle.tooling.BuildKotlinToolingMetadataTask
import org.jetbrains.kotlin.gradle.tooling.buildKotlinToolingMetadataTask
import org.jetbrains.kotlin.gradle.util.addBuildEventsListenerRegistryMock
import org.jetbrains.kotlin.gradle.util.disableLegacyWarning
import org.jetbrains.kotlin.konan.target.KonanTarget
import org.jetbrains.kotlin.library.KotlinAbiVersion
import org.jetbrains.kotlin.tooling.KotlinToolingMetadata
@@ -1,15 +1,16 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
/* Associate compilations are not yet supported by the IDE. KT-34102 */
@file:Suppress("invisible_reference", "invisible_member", "FunctionName", "DuplicatedCode")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import org.jetbrains.kotlin.commonizer.CommonizerTarget
import org.jetbrains.kotlin.commonizer.SharedCommonizerTarget
import org.jetbrains.kotlin.gradle.MultiplatformExtensionTest
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.targets.native.internal.CInteropCommonizerTask
@@ -1,13 +1,15 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@file:Suppress("FunctionName", "DuplicatedCode")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import org.gradle.api.internal.TaskInternal
import org.jetbrains.kotlin.gradle.MultiplatformExtensionTest
import org.jetbrains.kotlin.gradle.util.enableCInteropCommonization
import org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSet
import org.jetbrains.kotlin.gradle.targets.native.internal.locateOrRegisterCInteropMetadataDependencyTransformationTask
import org.jetbrains.kotlin.gradle.targets.native.internal.locateOrRegisterCInteropMetadataDependencyTransformationTaskForIde
@@ -1,22 +1,20 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@file:Suppress("invisible_reference", "invisible_member", "FunctionName")
package org.jetbrains.kotlin.gradle.mpp
package org.jetbrains.kotlin.gradle.unit
import org.gradle.api.Project
import org.gradle.api.artifacts.Configuration
import org.gradle.api.plugins.ExtraPropertiesExtension
import org.gradle.api.provider.Provider
import org.jetbrains.kotlin.gradle.buildProject
import org.jetbrains.kotlin.gradle.buildProjectWithMPP
import org.jetbrains.kotlin.gradle.kotlin
import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinNativeCompile
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.jetbrains.kotlin.gradle.util.*
import kotlin.test.*
internal class CompilationSpecificPluginPath {
@@ -1,17 +1,13 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import org.gradle.kotlin.dsl.support.unzipTo
import org.gradle.kotlin.dsl.support.zipTo
import org.jetbrains.kotlin.gradle.plugin.mpp.*
import org.jetbrains.kotlin.gradle.plugin.mpp.SourceSetMetadataLayout.KLIB
import org.jetbrains.kotlin.gradle.plugin.mpp.SourceSetMetadataLayout.METADATA
import org.junit.Rule
import org.junit.rules.TemporaryFolder
import java.io.File
@@ -34,7 +30,7 @@ class CompositeMetadataArtifactTest {
moduleDependencyVersion = "1.0.0",
kotlinProjectStructureMetadata = createProjectStructureMetadata(
sourceSetNames = mutableSetOf("testSourceSetName"),
sourceSetBinaryLayout = mapOf("testSourceSetName" to KLIB),
sourceSetBinaryLayout = mapOf("testSourceSetName" to SourceSetMetadataLayout.KLIB),
sourceSetCInteropMetadataDirectory = mapOf("testSourceSetName" to "cinterop/testSourceSetName")
),
primaryArtifactFile = primaryArtifactFile,
@@ -73,7 +69,7 @@ class CompositeMetadataArtifactTest {
moduleDependencyIdentifier = ModuleDependencyIdentifier("test-group", "test-module"),
moduleDependencyVersion = "1.0.0",
kotlinProjectStructureMetadata = createProjectStructureMetadata(
sourceSetBinaryLayout = mapOf(testSourceSetName to KLIB),
sourceSetBinaryLayout = mapOf(testSourceSetName to SourceSetMetadataLayout.KLIB),
sourceSetCInteropMetadataDirectory = emptyMap(),
),
primaryArtifactFile = primaryArtifactFile,
@@ -154,7 +150,10 @@ class CompositeMetadataArtifactTest {
moduleDependencyIdentifier = ModuleDependencyIdentifier("test-group", "test-module"),
moduleDependencyVersion = "1.0.0",
kotlinProjectStructureMetadata = createProjectStructureMetadata(
sourceSetBinaryLayout = mapOf("sourceSetA" to KLIB, "sourceSetB" to METADATA)
sourceSetBinaryLayout = mapOf(
"sourceSetA" to SourceSetMetadataLayout.KLIB,
"sourceSetB" to SourceSetMetadataLayout.METADATA
)
),
primaryArtifactFile = primaryArtifactFile,
hostSpecificArtifactFilesBySourceSetName = emptyMap()
@@ -169,7 +168,7 @@ class CompositeMetadataArtifactTest {
assertNotNull(sourceSetA.metadataBinary).copyTo(sourceSetAMetadataFile)
assertTrue(sourceSetAMetadataFile.isFile, "Expected sourceSetAMetadataFile.isFile")
assertEquals(
KLIB.archiveExtension, sourceSetAMetadataFile.extension,
SourceSetMetadataLayout.KLIB.archiveExtension, sourceSetAMetadataFile.extension,
"Expected correct archiveExtension for extracted sourceSetA"
)
assertZipContentEquals(
@@ -185,7 +184,7 @@ class CompositeMetadataArtifactTest {
assertNotNull(sourceSetB.metadataBinary).copyTo(sourceSetBMetadataFile)
assertTrue(sourceSetBMetadataFile.isFile, "Expected sourceSetBMetadataFile.isFile")
assertEquals(
METADATA.archiveExtension, sourceSetBMetadataFile.extension,
SourceSetMetadataLayout.METADATA.archiveExtension, sourceSetBMetadataFile.extension,
"Expected correct archiveExtension for extracted sourceSetB"
)
assertZipContentEquals(
@@ -317,4 +316,4 @@ private fun createProjectStructureMetadata(
)
}
private fun File.withParentDirectoriesCreated(): File = apply { parentFile.mkdirs() }
private fun File.withParentDirectoriesCreated(): File = apply { parentFile.mkdirs() }
@@ -5,7 +5,7 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import org.gradle.api.Project
import org.gradle.api.internal.project.ProjectInternal
@@ -13,6 +13,10 @@ import org.gradle.testfixtures.ProjectBuilder
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.PropertyNames.KOTLIN_MPP_ENABLE_CINTEROP_COMMONIZATION
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
import org.jetbrains.kotlin.gradle.plugin.runDisabledCInteropCommonizationOnHmppProjectConfigurationHealthCheck
import org.jetbrains.kotlin.gradle.util.applyMultiplatformPlugin
import org.jetbrains.kotlin.gradle.util.enableCInteropCommonization
import org.jetbrains.kotlin.gradle.util.enableHierarchicalStructureByDefault
import org.jetbrains.kotlin.gradle.util.propertiesExtension
import kotlin.test.Test
import kotlin.test.assertNotNull
import kotlin.test.assertNull
@@ -5,11 +5,11 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.mpp
package org.jetbrains.kotlin.gradle.unit
import org.jetbrains.kotlin.gradle.assertAllImplementationsAlsoImplement
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.mpp.InternalKotlinCompilation
import org.jetbrains.kotlin.gradle.util.assertAllImplementationsAlsoImplement
import org.junit.Test
class InternalKotlinSourceSetTest {
@@ -5,10 +5,11 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
import org.jetbrains.kotlin.gradle.plugin.mpp.InternalKotlinTarget
import org.jetbrains.kotlin.gradle.util.assertAllImplementationsAlsoImplement
import kotlin.test.Test
class InternalKotlinTargetTest {
@@ -5,11 +5,12 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import org.gradle.api.Named
import org.gradle.api.UnknownDomainObjectException
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
import org.jetbrains.kotlin.gradle.util.buildProjectWithJvm
import org.jetbrains.kotlin.tooling.core.withLinearClosure
import org.junit.Test
import kotlin.test.assertEquals
@@ -3,7 +3,7 @@
* 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
package org.jetbrains.kotlin.gradle.unit
import org.gradle.api.internal.project.ProjectInternal
import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask
import org.jetbrains.kotlin.gradle.plugin.KotlinBaseApiPlugin
import org.jetbrains.kotlin.gradle.plugin.KotlinJvmFactory
import org.jetbrains.kotlin.gradle.tasks.Kapt
import org.jetbrains.kotlin.gradle.util.buildProject
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -1,11 +1,11 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
/* Associate compilations are not yet supported by the IDE. KT-34102 */
@file:Suppress("invisible_reference", "invisible_member", "FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import com.android.build.gradle.LibraryExtension
import org.gradle.api.internal.project.ProjectInternal
@@ -13,6 +13,7 @@ import org.gradle.testfixtures.ProjectBuilder
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.util.addBuildEventsListenerRegistryMock
import kotlin.test.Test
import kotlin.test.assertEquals
@@ -3,7 +3,7 @@
* 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
package org.jetbrains.kotlin.gradle.unit
import org.gradle.api.internal.project.ProjectInternal
import org.jetbrains.kotlin.gradle.dsl.ExplicitApiMode
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinBaseApiPlugin
import org.jetbrains.kotlin.gradle.plugin.KotlinJvmFactory
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
import org.jetbrains.kotlin.gradle.util.buildProject
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -5,7 +5,7 @@
@file:Suppress("FunctionName", "DuplicatedCode")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import com.android.build.gradle.LibraryPlugin
import org.gradle.testfixtures.ProjectBuilder
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformAndroidGradlePlugin
import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformAndroidGradlePluginCompatibilityHealthCheck.runMultiplatformAndroidGradlePluginCompatibilityHealthCheck
import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformAndroidGradlePluginCompatibilityHealthCheck.runMultiplatformAndroidGradlePluginCompatibilityHealthCheckWhenAndroidIsApplied
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider
import org.jetbrains.kotlin.gradle.util.*
import org.jetbrains.kotlin.gradle.utils.getOrPutRootProjectProperty
import org.junit.Test
import kotlin.test.assertEquals
@@ -5,7 +5,7 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import org.jetbrains.kotlin.gradle.plugin.mpp.*
import org.jetbrains.kotlin.gradle.plugin.mpp.SourceSetMetadataLayout.KLIB
@@ -5,7 +5,7 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetHierarchyBuilder
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsTargetPreset
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmWithJavaTargetPreset
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTargetPreset
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinWasmTargetPreset
import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP
import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly
import org.junit.Test
import kotlin.test.fail
@@ -5,7 +5,7 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetHierarchyDescriptor
@@ -13,6 +13,8 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.targetHierarchy.CyclicKotlinTarget
import org.jetbrains.kotlin.gradle.plugin.mpp.targetHierarchy.KotlinTargetHierarchy
import org.jetbrains.kotlin.gradle.plugin.mpp.targetHierarchy.KotlinTargetHierarchy.Node
import org.jetbrains.kotlin.gradle.plugin.mpp.targetHierarchy.buildKotlinTargetHierarchy
import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP
import org.jetbrains.kotlin.gradle.util.main
import org.junit.Test
import kotlin.test.*
@@ -5,14 +5,16 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import org.jetbrains.kotlin.gradle.*
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetHierarchyDescriptor
import org.jetbrains.kotlin.gradle.plugin.mpp.targetHierarchy.buildKotlinTargetHierarchy
import org.jetbrains.kotlin.gradle.plugin.mpp.targetHierarchy.naturalKotlinTargetHierarchy
import org.jetbrains.kotlin.gradle.util.*
import kotlin.test.*
class KotlinTargetHierarchyDslTest {
@@ -5,7 +5,7 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import org.gradle.testfixtures.ProjectBuilder
import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion
@@ -1,11 +1,11 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import org.gradle.api.attributes.Attribute
import org.gradle.api.attributes.AttributeContainer
@@ -18,6 +18,8 @@ import org.gradle.api.publish.PublishingExtension
import org.gradle.api.publish.maven.MavenPublication
import org.gradle.testfixtures.ProjectBuilder
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.util.addBuildEventsListenerRegistryMock
import org.jetbrains.kotlin.gradle.util.disableLegacyWarning
import kotlin.test.*
class MppPublicationTest {
@@ -5,7 +5,7 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import org.jetbrains.kotlin.gradle.utils.MutableObservableSetImpl
import org.junit.Test
@@ -1,18 +1,19 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
/* Associate compilations are not yet supported by the IDE. KT-34102 */
@file:Suppress("invisible_reference", "invisible_member", "FunctionName", "DuplicatedCode")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import org.gradle.api.Project
import org.gradle.testfixtures.ProjectBuilder
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.sources.findSourceSetsDependingOn
import org.jetbrains.kotlin.gradle.plugin.sources.internal
import org.jetbrains.kotlin.gradle.util.addBuildEventsListenerRegistryMock
import org.junit.Test
import kotlin.test.BeforeTest
import kotlin.test.assertEquals
@@ -1,12 +1,12 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
/* Associate compilations are not yet supported by the IDE. KT-34102 */
@file:Suppress("invisible_reference", "invisible_member", "FunctionName", "DuplicatedCode")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import org.gradle.api.Project
import org.gradle.api.plugins.ExtraPropertiesExtension
@@ -16,6 +16,7 @@ import org.jetbrains.kotlin.commonizer.LeafCommonizerTarget
import org.jetbrains.kotlin.commonizer.SharedCommonizerTarget
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.targets.native.internal.getCommonizerTarget
import org.jetbrains.kotlin.gradle.util.addBuildEventsListenerRegistryMock
import org.jetbrains.kotlin.konan.target.KonanTarget.*
import kotlin.test.BeforeTest
import kotlin.test.Test
@@ -5,13 +5,14 @@
@file:Suppress("DuplicatedCode")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import com.android.build.gradle.LibraryExtension
import org.gradle.api.Project
import org.gradle.api.internal.project.ProjectInternal
import org.gradle.testfixtures.ProjectBuilder
import org.jetbrains.kotlin.gradle.plugin.whenEvaluated
import org.jetbrains.kotlin.gradle.util.applyMultiplatformPlugin
import org.junit.Test
import kotlin.test.BeforeTest
import kotlin.test.assertFalse
@@ -5,7 +5,7 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.unit
import com.intellij.util.io.Compressor
import org.gradle.kotlin.dsl.support.unzipTo
@@ -1,17 +1,17 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.kpm
package org.jetbrains.kotlin.gradle.unit.kpm
import org.gradle.api.Project
import org.gradle.api.artifacts.verification.DependencyVerificationMode
import org.gradle.api.internal.project.ProjectInternal
import org.gradle.testfixtures.ProjectBuilder
import org.jetbrains.kotlin.gradle.addBuildEventsListenerRegistryMock
import org.jetbrains.kotlin.gradle.idea.kpm.IdeaKpmProject
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinPm20ProjectExtension
import org.jetbrains.kotlin.gradle.util.addBuildEventsListenerRegistryMock
abstract class AbstractKpmExtensionTest {
protected val project: ProjectInternal = (ProjectBuilder.builder().build() as ProjectInternal).also { project ->
@@ -1,9 +1,9 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.kpm
package org.jetbrains.kotlin.gradle.unit.kpm
import org.gradle.api.Project
import org.gradle.kotlin.dsl.create
@@ -1,11 +1,11 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.kpm
package org.jetbrains.kotlin.gradle.unit.kpm
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmCommonFragmentFactory
import kotlin.test.Test
@@ -5,7 +5,7 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.kpm
package org.jetbrains.kotlin.gradle.unit.kpm
import org.gradle.api.attributes.Attribute
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.*
@@ -1,11 +1,11 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.kpm
package org.jetbrains.kotlin.gradle.unit.kpm
import org.gradle.api.attributes.Attribute
import org.gradle.api.tasks.bundling.Zip
@@ -1,11 +1,11 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.kpm
package org.jetbrains.kotlin.gradle.unit.kpm
import org.gradle.api.tasks.bundling.Zip
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
@@ -1,21 +1,21 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@file:Suppress("invisible_reference", "invisible_member", "FunctionName")
package org.jetbrains.kotlin.gradle.mpp
package org.jetbrains.kotlin.gradle.unit.kpm
import org.gradle.api.Project
import org.gradle.api.artifacts.Configuration
import org.jetbrains.kotlin.gradle.buildProjectWithKPM
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmCompilerPlugin
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmLinuxX64Variant
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.jvm
import org.jetbrains.kotlin.gradle.projectModel
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinNativeCompile
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilerPluginData
import org.jetbrains.kotlin.gradle.util.buildProjectWithKPM
import org.jetbrains.kotlin.gradle.util.projectModel
import org.jetbrains.kotlin.project.model.*
import kotlin.test.Test
import kotlin.test.assertEquals
@@ -100,7 +100,7 @@ class KpmCompilerPluginTest {
}
}
with(TestPluginWithListeners.Companion) {
with(TestPluginWithListeners) {
onGetKpmCompilerPlugin = { throw AssertionError("KPM Compiler Plugin should not be obtained on project evaluate") }
onPluginDataGet = { throw AssertionError("Plugin data should not be requested on project evaluate") }
}
@@ -111,7 +111,7 @@ class KpmCompilerPluginTest {
var pluginInitialized = false
var pluginDataObtainCount = 0
with(TestPluginWithListeners.Companion) {
with(TestPluginWithListeners) {
onGetKpmCompilerPlugin = { pluginInitialized = true }
onPluginDataGet = { pluginDataObtainCount++ }
}
@@ -1,11 +1,11 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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.
*/
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.kpm
package org.jetbrains.kotlin.gradle.unit.kpm
import org.gradle.kotlin.dsl.create
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.*
@@ -3,7 +3,7 @@
* 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.kpm
package org.jetbrains.kotlin.gradle.unit.kpm
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmFragment
import kotlin.reflect.KClass
@@ -5,7 +5,7 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.kpm
package org.jetbrains.kotlin.gradle.unit.kpm
import org.gradle.kotlin.dsl.creating
import org.gradle.kotlin.dsl.provideDelegate
@@ -5,23 +5,19 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.sources
package org.jetbrains.kotlin.gradle.unit.sources
import org.jetbrains.kotlin.gradle.assertAllImplementationsAlsoImplement
import org.jetbrains.kotlin.gradle.buildProjectWithMPP
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.kotlin
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.mpp.getHostSpecificMainSharedSourceSets
import org.jetbrains.kotlin.gradle.plugin.sources.InternalKotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.sources.internal
import org.jetbrains.kotlin.gradle.plugin.mpp.getHostSpecificMainSharedSourceSets
import org.jetbrains.kotlin.gradle.reflections
import org.junit.jupiter.api.assertAll
import kotlin.reflect.full.isSubclassOf
import org.jetbrains.kotlin.gradle.util.assertAllImplementationsAlsoImplement
import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP
import org.jetbrains.kotlin.gradle.util.kotlin
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.fail
class InternalKotlinSourceSetTest {
@Test
@@ -5,15 +5,15 @@
@file:Suppress("DuplicatedCode")
package org.jetbrains.kotlin.gradle.sources
package org.jetbrains.kotlin.gradle.unit.sources
import org.jetbrains.kotlin.gradle.buildProjectWithMPP
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.sources.UnsatisfiedSourceSetVisibilityException
import org.jetbrains.kotlin.gradle.plugin.sources.checkSourceSetVisibilityRequirements
import org.jetbrains.kotlin.gradle.plugin.sources.getVisibleSourceSetsFromAssociateCompilations
import org.jetbrains.kotlin.gradle.plugin.sources.internal
import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP
import org.jetbrains.kotlin.util.capitalizeDecapitalize.decapitalizeAsciiOnly
import kotlin.test.Test
import kotlin.test.assertEquals
@@ -5,16 +5,16 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.sources.android
package org.jetbrains.kotlin.gradle.unit.sources.android
import org.gradle.testfixtures.ProjectBuilder
import org.jetbrains.kotlin.gradle.buildProjectWithMPP
import org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPluginWrapper
import org.jetbrains.kotlin.gradle.plugin.sources.android.kotlinAndroidSourceSetLayout
import org.jetbrains.kotlin.gradle.plugin.sources.android.multiplatformAndroidSourceSetLayoutV1
import org.jetbrains.kotlin.gradle.plugin.sources.android.multiplatformAndroidSourceSetLayoutV2
import org.jetbrains.kotlin.gradle.plugin.sources.android.singleTargetAndroidSourceSetLayout
import org.jetbrains.kotlin.gradle.setMultiplatformAndroidSourceSetLayoutVersion
import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP
import org.jetbrains.kotlin.gradle.util.setMultiplatformAndroidSourceSetLayoutVersion
import org.junit.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
@@ -5,7 +5,7 @@
@file:Suppress("DEPRECATION", "DuplicatedCode", "FunctionName")
package org.jetbrains.kotlin.gradle.sources.android
package org.jetbrains.kotlin.gradle.unit.sources.android
import com.android.build.gradle.LibraryExtension
import com.android.build.gradle.api.AndroidSourceSet
@@ -13,12 +13,12 @@ import org.gradle.api.Action
import org.gradle.api.internal.HasConvention
import org.gradle.api.internal.project.ProjectInternal
import org.gradle.testfixtures.ProjectBuilder
import org.jetbrains.kotlin.gradle.addBuildEventsListenerRegistryMock
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.sources.android.findKotlinSourceSet
import org.jetbrains.kotlin.gradle.setMultiplatformAndroidSourceSetLayoutVersion
import org.jetbrains.kotlin.gradle.util.addBuildEventsListenerRegistryMock
import org.jetbrains.kotlin.gradle.util.setMultiplatformAndroidSourceSetLayoutVersion
import kotlin.test.*
class MultiplatformAndroidSourceSetLayoutV1Test {
@@ -5,7 +5,7 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.sources.android
package org.jetbrains.kotlin.gradle.unit.sources.android
import com.android.build.gradle.LibraryPlugin
import org.gradle.api.Project
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.gradle.plugin.sources.android.checker.MultiplatformL
import org.jetbrains.kotlin.gradle.plugin.sources.android.checker.MultiplatformLayoutV2MultiplatformLayoutV1StyleSourceDirUsageChecker.V1StyleSourceDirUsageDiagnostic
import org.jetbrains.kotlin.gradle.plugin.sources.android.findAndroidSourceSet
import org.jetbrains.kotlin.gradle.plugin.sources.android.multiplatformAndroidSourceSetLayoutV2
import org.jetbrains.kotlin.gradle.util.*
import org.junit.Test
import kotlin.test.assertEquals
import kotlin.test.fail
@@ -5,16 +5,16 @@
@file:Suppress("FunctionName", "DuplicatedCode")
package org.jetbrains.kotlin.gradle.sources.android
package org.jetbrains.kotlin.gradle.unit.sources.android
import com.android.build.gradle.LibraryExtension
import com.android.build.gradle.LibraryPlugin
import com.android.builder.model.SourceProvider
import org.gradle.api.internal.project.ProjectInternal
import org.gradle.testfixtures.ProjectBuilder
import org.jetbrains.kotlin.gradle.applyMultiplatformPlugin
import org.jetbrains.kotlin.gradle.plugin.sources.android.*
import org.jetbrains.kotlin.gradle.setMultiplatformAndroidSourceSetLayoutVersion
import org.jetbrains.kotlin.gradle.util.applyMultiplatformPlugin
import org.jetbrains.kotlin.gradle.util.setMultiplatformAndroidSourceSetLayoutVersion
import org.jetbrains.kotlin.gradle.utils.androidExtension
import org.jetbrains.kotlin.gradle.utils.forAllAndroidVariants
import org.junit.Test
@@ -5,15 +5,15 @@
@file:Suppress("FunctionName")
package org.jetbrains.kotlin.gradle.sources.android
package org.jetbrains.kotlin.gradle.unit.sources.android
import com.android.build.gradle.LibraryExtension
import com.android.build.gradle.LibraryPlugin
import org.gradle.api.internal.project.ProjectInternal
import org.gradle.testfixtures.ProjectBuilder
import org.jetbrains.kotlin.gradle.addBuildEventsListenerRegistryMock
import org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPluginWrapper
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.util.addBuildEventsListenerRegistryMock
import org.junit.Test
import kotlin.test.BeforeTest
import kotlin.test.assertEquals
@@ -3,7 +3,7 @@
* 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.sources.android
package org.jetbrains.kotlin.gradle.unit.sources.android
import org.jetbrains.kotlin.gradle.plugin.sources.android.checker.KotlinAndroidSourceSetLayoutChecker
import kotlin.test.fail
@@ -3,7 +3,7 @@
* 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.sources.android
package org.jetbrains.kotlin.gradle.unit.sources.android
fun <T> Set<T>.generatePairs(): Sequence<Pair<T, T>> {
val values = this.toList()
@@ -5,7 +5,7 @@
@file:Suppress("DEPRECATION")
package org.jetbrains.kotlin.gradle.sources.android
package org.jetbrains.kotlin.gradle.unit.sources.android
import com.android.build.gradle.api.AndroidSourceSet
import com.android.builder.model.SourceProvider
@@ -3,7 +3,7 @@
* 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
package org.jetbrains.kotlin.gradle.util
import org.junit.Assume
import java.io.File
@@ -3,7 +3,7 @@
* 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
package org.jetbrains.kotlin.gradle.util
import org.gradle.api.Project
import org.gradle.api.Task
@@ -3,7 +3,7 @@
* 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
package org.jetbrains.kotlin.gradle.util
import org.gradle.api.Project
import org.gradle.api.internal.project.DefaultProject
@@ -1,19 +1,22 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2022 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
package org.jetbrains.kotlin.gradle.util
import com.android.build.api.dsl.ApplicationExtension
import com.android.build.gradle.LibraryExtension
import org.gradle.api.Project
import org.gradle.api.artifacts.verification.DependencyVerificationMode
import org.gradle.api.internal.project.ProjectInternal
import org.gradle.api.plugins.ExtraPropertiesExtension
import org.gradle.testfixtures.ProjectBuilder
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
import org.jetbrains.kotlin.gradle.kpm.applyKpmPlugin
import org.jetbrains.kotlin.gradle.unit.kpm.applyKpmPlugin
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformJvmPlugin
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinPm20ProjectExtension
fun buildProject(
@@ -68,4 +71,39 @@ fun Project.androidApplication(code: ApplicationExtension.() -> Unit) {
fun Project.projectModel(code: KotlinPm20ProjectExtension.() -> Unit) {
val extension = project.extensions.getByType(KotlinPm20ProjectExtension::class.java)
extension.code()
}
fun Project.applyMultiplatformPlugin(): KotlinMultiplatformExtension {
addBuildEventsListenerRegistryMock(this)
disableLegacyWarning(project)
plugins.apply("kotlin-multiplatform")
return extensions.getByName("kotlin") as KotlinMultiplatformExtension
}
val Project.propertiesExtension: ExtraPropertiesExtension
get() = extensions.getByType(ExtraPropertiesExtension::class.java)
fun Project.enableGranularSourceSetsMetadata() {
propertiesExtension.set("kotlin.mpp.enableGranularSourceSetsMetadata", "true")
}
fun Project.enableCInteropCommonization(enabled: Boolean = true) {
propertiesExtension.set(PropertiesProvider.PropertyNames.KOTLIN_MPP_ENABLE_CINTEROP_COMMONIZATION, enabled.toString())
}
fun Project.enableHierarchicalStructureByDefault(enabled: Boolean = true) {
propertiesExtension.set(PropertiesProvider.PropertyNames.KOTLIN_MPP_HIERARCHICAL_STRUCTURE_BY_DEFAULT, enabled.toString())
}
fun Project.enableDefaultStdlibDependency(enabled: Boolean = true) {
project.propertiesExtension.set(PropertiesProvider.PropertyNames.KOTLIN_STDLIB_DEFAULT_DEPENDENCY, enabled.toString())
}
fun Project.setMultiplatformAndroidSourceSetLayoutVersion(version: Int) {
project.propertiesExtension.set(PropertiesProvider.PropertyNames.KOTLIN_MPP_ANDROID_SOURCE_SET_LAYOUT_VERSION, version.toString())
}
fun Project.enableDependencyVerification(enabled: Boolean = true) {
gradle.startParameter.dependencyVerificationMode = if (enabled) DependencyVerificationMode.STRICT
else DependencyVerificationMode.OFF
}
@@ -3,7 +3,7 @@
* 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
package org.jetbrains.kotlin.gradle.util
import org.gradle.api.NamedDomainObjectCollection
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
@@ -3,7 +3,7 @@
* 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
package org.jetbrains.kotlin.gradle.util
import org.gradle.api.Project
import java.io.File
@@ -1,4 +1,4 @@
package org.jetbrains.kotlin.gradle
package org.jetbrains.kotlin.gradle.util
import org.gradle.api.Project
import org.jetbrains.kotlin.gradle.plugin.extraProperties
@@ -3,7 +3,7 @@
* 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
package org.jetbrains.kotlin.gradle.util
import org.reflections.Reflections
import kotlin.reflect.KClass
@@ -3,7 +3,7 @@
* 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
package org.jetbrains.kotlin.gradle.util
import org.gradle.api.invocation.Gradle
import org.jetbrains.kotlin.gradle.plugin.VariantImplementationFactories