From 2d434768114d57fcc73c4b6de8e88cd52ae07b80 Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Thu, 6 Jul 2023 10:17:19 +0200 Subject: [PATCH] [Gradle] Implement test to ensure `withJava` creates java source sets eagerly ^KT-60158 In Progress --- ...158WithJavaCreatesJavaSourceSetsEagerly.kt | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/KT60158WithJavaCreatesJavaSourceSetsEagerly.kt diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/KT60158WithJavaCreatesJavaSourceSetsEagerly.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/KT60158WithJavaCreatesJavaSourceSetsEagerly.kt new file mode 100644 index 00000000000..9ba4c95a714 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/KT60158WithJavaCreatesJavaSourceSetsEagerly.kt @@ -0,0 +1,45 @@ +/* + * Copyright 2010-2023 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.regressionTests + +import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension +import org.jetbrains.kotlin.gradle.plugin.mpp.javaSourceSets +import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP +import org.jetbrains.kotlin.gradle.util.runLifecycleAwareTest +import kotlin.test.Test +import kotlin.test.assertNotNull +import kotlin.test.assertNull + +class KT60158WithJavaCreatesJavaSourceSetsEagerly { + @Test + fun `test jvm withJava creates corresponding java source sets eagerly`() = buildProjectWithMPP().runLifecycleAwareTest { + assertNull(javaSourceSets.findByName("main")) + + multiplatformExtension.jvm() + assertNull( + javaSourceSets.findByName("main"), + "Expected no java source set 'main' to be created without 'withJava()'" + ) + + multiplatformExtension.jvm().withJava() + assertNotNull( + javaSourceSets.findByName("main"), + "Expected java source set 'main' to be created eagerly" + ) + assertNotNull( + javaSourceSets.findByName("test"), + "Expected java source set 'test' to be created eagerly" + ) + + multiplatformExtension.jvm().compilations.create("custom") + assertNotNull( + javaSourceSets.findByName("custom"), + "Expected java source set 'custom' to be created eagerly" + ) + } +}