diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt index cc75842cd77..b25a1c78d1d 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt @@ -274,7 +274,6 @@ abstract class BaseGradleIT { val showDiagnosticsStacktrace: Boolean? = false, // false by default to not clutter the testdata + stacktraces change often val stacktraceMode: String? = StacktraceOption.FULL_STACKTRACE_LONG_OPTION, val konanDataDir: Path = konanDir, - // TODO(Dmitrii Krasnov): we can remove this, when downloading konan from maven local will be possible KT-63198 val distributionDownloadFromMaven: Boolean? = false, ) { val safeAndroidGradlePluginVersion: AGPVersion diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildCacheRelocationIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildCacheRelocationIT.kt index 6f020b16a97..b6907e04cb1 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildCacheRelocationIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildCacheRelocationIT.kt @@ -121,7 +121,7 @@ class BuildCacheRelocationIT : KGPBaseTest() { fun testRelocationAndroidProject( gradleVersion: GradleVersion, agpVersion: String, - jdkProvider: JdkVersions.ProvidedJdk + jdkProvider: JdkVersions.ProvidedJdk, ) { val (firstProject, secondProject) = prepareTestProjects( "AndroidProject", @@ -150,7 +150,7 @@ class BuildCacheRelocationIT : KGPBaseTest() { fun testRelocationAndroidDagger( gradleVersion: GradleVersion, agpVersion: String, - jdkProvider: JdkVersions.ProvidedJdk + jdkProvider: JdkVersions.ProvidedJdk, ) { val (firstProject, secondProject) = prepareTestProjects( "kapt2/android-dagger", @@ -179,7 +179,7 @@ class BuildCacheRelocationIT : KGPBaseTest() { fun kaptIgnoreEmptyAndroidVariant( gradleVersion: GradleVersion, agpVersion: String, - jdkProvider: JdkVersions.ProvidedJdk + jdkProvider: JdkVersions.ProvidedJdk, ) { val (firstProject, secondProject) = prepareTestProjects( "kapt2/android-dagger", @@ -209,6 +209,7 @@ class BuildCacheRelocationIT : KGPBaseTest() { @DisplayName("with native project") @GradleTest fun testRelocationNative(gradleVersion: GradleVersion) { + val localRepoDir = defaultLocalRepo(gradleVersion) val buildOptionsBeforeCaching = defaultBuildOptions.copy( nativeOptions = super.defaultBuildOptions.nativeOptions.copy( version = TestVersions.Kotlin.STABLE_RELEASE, @@ -218,15 +219,15 @@ class BuildCacheRelocationIT : KGPBaseTest() { val (firstProject, secondProject) = prepareTestProjects( "native-build-cache", gradleVersion, - buildOptions = buildOptionsBeforeCaching + buildOptions = buildOptionsBeforeCaching, + localRepoDir = localRepoDir ) { - val localRepoUri = it.projectPath.resolve("repo").toUri() it.subProject("build-cache-app").buildGradleKts.append( """ repositories { maven { - setUrl("$localRepoUri") + setUrl("$localRepoDir") } } """.trimIndent() @@ -286,14 +287,15 @@ class BuildCacheRelocationIT : KGPBaseTest() { gradleVersion: GradleVersion, buildOptions: BuildOptions = defaultBuildOptions, buildJdk: File? = null, - additionalConfiguration: (TestProject) -> Unit = {} + localRepoDir: Path? = null, + additionalConfiguration: (TestProject) -> Unit = {}, ): Pair { - val firstProject = project(projectName, gradleVersion, buildOptions, buildJdk = buildJdk, forceOutput = true) { + val firstProject = project(projectName, gradleVersion, buildOptions, buildJdk = buildJdk, localRepoDir = localRepoDir) { enableLocalBuildCache(localBuildCacheDir) additionalConfiguration(this) } - val secondProject = project(projectName, gradleVersion, buildOptions, buildJdk = buildJdk, forceOutput = true) { + val secondProject = project(projectName, gradleVersion, buildOptions, buildJdk = buildJdk, localRepoDir = localRepoDir) { enableLocalBuildCache(localBuildCacheDir) additionalConfiguration(this) } @@ -323,7 +325,7 @@ class BuildCacheRelocationIT : KGPBaseTest() { private fun checkKaptCachingIncrementalBuild( firstProject: TestProject, - secondProject: TestProject + secondProject: TestProject, ) { val options = defaultBuildOptions.copy( kaptOptions = BuildOptions.KaptOptions( @@ -408,7 +410,9 @@ class BuildCacheRelocationIT : KGPBaseTest() { configureProject: (TestProject) -> Unit = {}, ) { val (firstProject, secondProject) = - prepareTestProjects("buildCacheSimple", gradleVersion, buildOptions, buildJdk = null, configureProject) + prepareTestProjects("buildCacheSimple", gradleVersion, buildOptions, buildJdk = null) { + configureProject(it) + } // Build the first project -- It should be a cache miss firstProject.build(":compileKotlin") { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildToolsApiJvmCompilationIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildToolsApiJvmCompilationIT.kt index 3d3a0aaf8b2..c76c5d32277 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildToolsApiJvmCompilationIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildToolsApiJvmCompilationIT.kt @@ -28,6 +28,9 @@ class BuildToolsApiJvmCompilationIT : KGPBaseTest() { "simpleProject", gradleVersion, buildOptions = defaultBuildOptions.copy( runViaBuildToolsApi = false, incremental = false, + ), + dependencyManagement = DependencyManagement.DefaultDependencyManagement( + setOf("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap") ) ) { build("assemble") { @@ -48,6 +51,9 @@ class BuildToolsApiJvmCompilationIT : KGPBaseTest() { project( "simpleProject", gradleVersion, buildOptions = defaultBuildOptions.copy( incremental = false, + ), + dependencyManagement = DependencyManagement.DefaultDependencyManagement( + setOf("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap") ) ) { enableOtherVersionBuildToolsImpl() @@ -152,9 +158,6 @@ private const val OTHER_KOTLIN_VERSION = "1.9.30-dev-460" private fun TestProject.enableOtherVersionBuildToolsImpl() { buildGradle.append( """ - repositories { - maven { setUrl("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap") } - } kotlin { useCompilerVersion("$OTHER_KOTLIN_VERSION") } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CommonizerIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CommonizerIT.kt index 3f277899570..22ab3e27cab 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CommonizerIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CommonizerIT.kt @@ -535,7 +535,11 @@ open class CommonizerIT : KGPBaseTest() { @DisplayName("KT-57796 commonization with two cinterop commonizer groups`") @GradleTest fun testCommonizationWithLibraryContainingTwoRoots(gradleVersion: GradleVersion) { - project("commonize-kt-56729-consume-library-with-two-roots", gradleVersion) { + project( + "commonize-kt-56729-consume-library-with-two-roots", + gradleVersion, + localRepoDir = defaultLocalRepo(gradleVersion) + ) { build("publish") build(":consumer:assemble") { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/HierarchicalMppIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/HierarchicalMppIT.kt index 261a2cd0b4b..ba3d105c3df 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/HierarchicalMppIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/HierarchicalMppIT.kt @@ -17,14 +17,16 @@ import org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSet import org.jetbrains.kotlin.gradle.testbase.* import org.jetbrains.kotlin.gradle.util.checkedReplace import org.jetbrains.kotlin.gradle.util.modify -import org.junit.jupiter.api.Disabled import org.junit.jupiter.api.DisplayName import org.junit.jupiter.api.condition.OS import org.junit.jupiter.api.io.TempDir import java.io.File import java.nio.file.Path import java.util.zip.ZipFile -import kotlin.io.path.* +import kotlin.io.path.appendText +import kotlin.io.path.exists +import kotlin.io.path.readText +import kotlin.io.path.writeText import kotlin.test.assertEquals import kotlin.test.assertNotNull import kotlin.test.assertTrue @@ -737,22 +739,23 @@ open class HierarchicalMppIT : KGPBaseTest() { build(":my-lib-foo:compileJvmAndJsMainKotlinMetadata") } + @GradleTestVersions(minVersion = TestVersions.Gradle.G_7_0) @GradleTest @DisplayName("HMPP dependencies in js tests") fun testHmppDependenciesInJsTests(gradleVersion: GradleVersion, @TempDir tempDir: Path) { - // For some reason Gradle 6.* fails with message about using deprecated API which will fail in 7.0 - // But for Gradle 7.* everything works, so seems false positive - if (gradleVersion.baseVersion.version.substringBefore(".").toInt() < 7) { - return - } + publishThirdPartyLib( withGranularMetadata = true, gradleVersion = gradleVersion, localRepoDir = tempDir ) - with(project("hierarchical-mpp-js-test", gradleVersion)) { + project( + "hierarchical-mpp-js-test", + gradleVersion, + localRepoDir = tempDir + ) { val taskToExecute = ":jsNodeTest" - build(taskToExecute, "-PthirdPartyRepo=${tempDir.absolutePathString()}") { + build(taskToExecute) { assertTasksExecuted(taskToExecute) } } @@ -1068,7 +1071,11 @@ open class HierarchicalMppIT : KGPBaseTest() { @GradleTest @DisplayName("KT-52216: [TYPE_MISMATCH] Caused by unexpected metadata dependencies of leaf source sets") fun `test default platform compilation source set has no metadata dependencies`(gradleVersion: GradleVersion) { - with(project("kt-52216", gradleVersion = gradleVersion)) { + project( + "kt-52216", + gradleVersion = gradleVersion, + localRepoDir = defaultLocalRepo(gradleVersion) + ) { build(":lib:publish") testDependencyTransformations("p1") { reports -> for (leafSourceSetName in listOf("jvmMain", "jsMain", "linuxX64Main")) { @@ -1138,7 +1145,11 @@ open class HierarchicalMppIT : KGPBaseTest() { @GradleTest @DisplayName("KT-55071: Shared Native Compilations: Use default parameters declared in dependsOn source set") fun `test shared native compilation with default parameters declared in dependsOn source set`(gradleVersion: GradleVersion) { - with(project("kt-55071-compileSharedNative-withDefaultParameters", gradleVersion = gradleVersion)) { + project( + "kt-55071-compileSharedNative-withDefaultParameters", + gradleVersion = gradleVersion, + localRepoDir = defaultLocalRepo(gradleVersion) + ) { build(":producer:publish") { assertTasksExecuted(":producer:compileCommonMainKotlinMetadata") assertTasksExecuted(":producer:compileSecondCommonMainKotlinMetadata") diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt index dfa0c76a1df..99253fc35e8 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt @@ -81,6 +81,7 @@ abstract class Kapt3BaseIT : KGPBaseTest() { buildJdk: File? = null, localRepoDir: Path? = null, environmentVariables: EnvironmentalVariables = EnvironmentalVariables(), + dependencyManagement: DependencyManagement = DependencyManagement.DefaultDependencyManagement(), test: TestProject.() -> Unit = {}, ): TestProject = testBaseProject( projectName = projectName, @@ -88,6 +89,7 @@ abstract class Kapt3BaseIT : KGPBaseTest() { buildOptions = buildOptions, forceOutput = forceOutput, enableBuildScan = enableBuildScan, + dependencyManagement = dependencyManagement, addHeapDumpOptions = addHeapDumpOptions, enableGradleDebug = enableGradleDebug, enableKotlinDaemonMemoryLimitInMb = enableKotlinDaemonMemoryLimitInMb, @@ -225,7 +227,7 @@ open class Kapt3IT : Kapt3BaseIT() { @GradleWithJdkTest fun doTestSimpleWithCustomJdk( gradleVersion: GradleVersion, - jdk: JdkVersions.ProvidedJdk + jdk: JdkVersions.ProvidedJdk, ) { project( "simple".withPrefix, @@ -254,7 +256,7 @@ open class Kapt3IT : Kapt3BaseIT() { @GradleWithJdkTest fun kaptClasspathJreToolchain( gradleVersion: GradleVersion, - jdk: JdkVersions.ProvidedJdk + jdk: JdkVersions.ProvidedJdk, ) { project( "simple".withPrefix, @@ -382,7 +384,7 @@ open class Kapt3IT : Kapt3BaseIT() { @DisplayName("Kapt is working with incremental compilation") @GradleTest - open fun testSimpleWithIC(gradleVersion: GradleVersion) { + open fun testSimpleWithIC(gradleVersion: GradleVersion) { doTestSimpleWithIC(gradleVersion) } @@ -567,7 +569,7 @@ open class Kapt3IT : Kapt3BaseIT() { // tests all output directories are cleared when IC rebuilds private fun testICRebuild( gradleVersion: GradleVersion, - performChange: (TestProject) -> Unit + performChange: (TestProject) -> Unit, ) { project( "incrementalRebuild".withPrefix, @@ -735,7 +737,11 @@ open class Kapt3IT : Kapt3BaseIT() { @DisplayName("Should re-run kapt on changes in local annotation processor") @GradleTest open fun testChangesInLocalAnnotationProcessor(gradleVersion: GradleVersion) { - project("localAnnotationProcessor".withPrefix, gradleVersion) { + project( + "localAnnotationProcessor".withPrefix, + gradleVersion, + dependencyManagement = DependencyManagement.DefaultDependencyManagement(setOf("https://jitpack.io")) + ) { build("build") val testAnnotationProcessor = subProject("annotation-processor").javaSourcesDir().resolve("TestAnnotationProcessor.kt") @@ -973,7 +979,15 @@ open class Kapt3IT : Kapt3BaseIT() { @DisplayName("Dependency on kapt module should not resolve all configurations") @GradleTest fun testDependencyOnKaptModule(gradleVersion: GradleVersion) { - project("simpleProject", gradleVersion) { + project( + "simpleProject", + gradleVersion, + buildOptions = defaultBuildOptions.copy( + nativeOptions = defaultBuildOptions.nativeOptions.copy( + distributionDownloadFromMaven = false // TODO(Dmitrii Krasnov): this flag is off, because we try to find configuration which is not in maven yet. Could be set to true after KTI-1569 is done + ) + ) + ) { includeOtherProjectAsSubmodule("simple", "kapt2") buildGradle.append("\ndependencies { implementation project(':simple') }") @@ -1076,7 +1090,7 @@ open class Kapt3IT : Kapt3BaseIT() { @DisplayName("Works with JPMS on JDK 9+") @GradleTest - fun testJpmsModule(gradleVersion: GradleVersion, ) { + fun testJpmsModule(gradleVersion: GradleVersion) { project( "jpms-module".withPrefix, gradleVersion, @@ -1128,7 +1142,11 @@ open class Kapt3IT : Kapt3BaseIT() { @DisplayName("KT-47347: kapt processors should not be an input files for stub generation") @GradleTest open fun testChangesToKaptConfigurationDoNotTriggerStubGeneration(gradleVersion: GradleVersion) { - project("localAnnotationProcessor".withPrefix, gradleVersion) { + project( + "localAnnotationProcessor".withPrefix, + gradleVersion, + dependencyManagement = DependencyManagement.DefaultDependencyManagement(setOf("https://jitpack.io")) + ) { build("assemble") ZipOutputStream(projectPath.resolve("fake_processor.jar").outputStream()).close() @@ -1337,9 +1355,11 @@ open class Kapt3IT : Kapt3BaseIT() { fun testSerializationPlugin(gradleVersion: GradleVersion) { project("serialization".withPrefix, gradleVersion) { build(":kaptGenerateStubsKotlin") { - assertFileInProjectContains("build/tmp/kapt3/stubs/main/foo/Data.java", + assertFileInProjectContains( + "build/tmp/kapt3/stubs/main/foo/Data.java", "public static final class Companion", - "public static final class \$serializer implements kotlinx.serialization.internal.GeneratedSerializer") + "public static final class \$serializer implements kotlinx.serialization.internal.GeneratedSerializer" + ) } } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinWasmGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinWasmGradlePluginIT.kt index 31102a7e47b..481023b64d0 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinWasmGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinWasmGradlePluginIT.kt @@ -19,7 +19,11 @@ class KotlinWasmGradlePluginIT : KGPBaseTest() { @DisplayName("Check wasi target") @GradleTest fun wasiTarget(gradleVersion: GradleVersion) { - project("new-mpp-wasm-wasi-test", gradleVersion) { + project( + "new-mpp-wasm-wasi-test", + gradleVersion, + dependencyManagement = DependencyManagement.DisabledDependencyManagement // requires custom d8 repository during build + ) { buildGradleKts.modify(::transformBuildScriptWithPluginsDsl) build(":wasmWasiTest") { @@ -53,7 +57,11 @@ class KotlinWasmGradlePluginIT : KGPBaseTest() { @DisplayName("Check js target") @GradleTest fun jsTarget(gradleVersion: GradleVersion) { - project("new-mpp-wasm-test", gradleVersion) { + project( + "new-mpp-wasm-test", + gradleVersion, + dependencyManagement = DependencyManagement.DisabledDependencyManagement // requires custom repository for :kotlinNodeJsSetup during build + ) { buildGradleKts.modify { transformBuildScriptWithPluginsDsl(it) .replace("", "nodejs") @@ -93,7 +101,10 @@ class KotlinWasmGradlePluginIT : KGPBaseTest() { @DisplayName("Check wasi target run") @GradleTest fun wasiRun(gradleVersion: GradleVersion) { - project("new-mpp-wasm-wasi-test", gradleVersion) { + project( + "new-mpp-wasm-wasi-test", gradleVersion, + dependencyManagement = DependencyManagement.DisabledDependencyManagement // requires d8 custom repository during build + ) { buildGradleKts.modify(::transformBuildScriptWithPluginsDsl) build(":wasmWasiNodeRun") { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/MppIdeDependencyResolutionIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/MppIdeDependencyResolutionIT.kt index d7c50aa884d..7e52093faea 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/MppIdeDependencyResolutionIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/MppIdeDependencyResolutionIT.kt @@ -90,7 +90,11 @@ class MppIdeDependencyResolutionIT : KGPBaseTest() { @GradleTest fun testCinterops(gradleVersion: GradleVersion) { - project(projectName = "cinteropImport", gradleVersion = gradleVersion) { + project( + projectName = "cinteropImport", + gradleVersion = gradleVersion, + localRepoDir = defaultLocalRepo(gradleVersion) + ) { build(":dep-with-cinterop:publishAllPublicationsToBuildRepository") resolveIdeDependencies("dep-with-cinterop") { dependencies -> @@ -328,7 +332,11 @@ class MppIdeDependencyResolutionIT : KGPBaseTest() { @GradleTestVersions(minVersion = TestVersions.Gradle.G_7_6) @GradleTest fun `test dependency on java testFixtures and feature source sets`(gradleVersion: GradleVersion) { - project("kt-60053-dependencyOn-testFixtures", gradleVersion) { + project( + "kt-60053-dependencyOn-testFixtures", + gradleVersion, + localRepoDir = defaultLocalRepo(gradleVersion) + ) { build("publish") resolveIdeDependencies(":consumer") { dependencies -> @@ -395,7 +403,11 @@ class MppIdeDependencyResolutionIT : KGPBaseTest() { @GradleTestVersions(minVersion = TestVersions.Gradle.G_7_2) @GradleTest fun `test resolve sources for dependency with multiple capabilities`(gradleVersion: GradleVersion) { - project("kt-63226-multiple-capabilities", gradleVersion) { + project( + "kt-63226-multiple-capabilities", + gradleVersion, + localRepoDir = workingDir.resolve(gradleVersion.version), + ) { build(":producer:publish") resolveIdeDependencies(":consumer") { dependencies -> diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ResourcesIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ResourcesIT.kt index 3d5efdbf66c..5d6f54c71e5 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ResourcesIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ResourcesIT.kt @@ -149,7 +149,7 @@ class ResourcesIT : KGPBaseTest() { xResFile.parentFile.mkdirs() xResFile.writeText("some resource") - build("processXResources", enableGradleDebug = true) { + build("processXResources") { assertTasksExecuted(":customResGenerator1") assertFileInProjectExists("build/custom-res-1/myres.txt") } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/WasmConfigurationCacheIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/WasmConfigurationCacheIT.kt index 2f29c043246..85c544733e5 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/WasmConfigurationCacheIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/WasmConfigurationCacheIT.kt @@ -32,7 +32,11 @@ class WasmConfigurationCacheIT : KGPBaseTest() { @GradleTest @GradleTestVersions(minVersion = TestVersions.Gradle.G_7_6) fun testD8Run(gradleVersion: GradleVersion) { - project("wasm-d8-simple-project", gradleVersion) { + project( + "wasm-d8-simple-project", + gradleVersion, + dependencyManagement = DependencyManagement.DisabledDependencyManagement // :d8Download adds custom ivy repository during build + ) { build("wasmJsD8Run", buildOptions = buildOptions) { assertTasksExecuted(":wasmJsD8Run") assertOutputContains( diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/Kapt3AndroidExternalIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/Kapt3AndroidExternalIT.kt index 152236e11f7..0c3163aa033 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/Kapt3AndroidExternalIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/Kapt3AndroidExternalIT.kt @@ -90,7 +90,10 @@ open class Kapt3AndroidExternalIT : Kapt3BaseIT() { "android-dbflow".withPrefix, gradleVersion, buildOptions = defaultBuildOptions.copy(androidVersion = agpVersion), - buildJdk = jdkVersion.location + buildJdk = jdkVersion.location, + dependencyManagement = DependencyManagement.DefaultDependencyManagement( + setOf("https://jitpack.io") + ) ) { build("assembleDebug") { assertKaptSuccessful() diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidIT.kt index de4ca081456..121e94b307d 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidIT.kt @@ -95,7 +95,10 @@ class KotlinAndroidIT : KGPBaseTest() { "AndroidIcepickProject", gradleVersion, buildOptions = defaultBuildOptions.copy(androidVersion = agpVersion), - buildJdk = jdkVersion.location + buildJdk = jdkVersion.location, + dependencyManagement = DependencyManagement.DefaultDependencyManagement( + setOf("https://clojars.org/repo/") + ) ) { build("assembleDebug") } @@ -274,7 +277,8 @@ class KotlinAndroidIT : KGPBaseTest() { build(":Lib:assembleFlavor1Debug", ":Lib:publish") { assertTasksExecuted(":Lib:compileFlavor1DebugKotlin", ":Lib:publishFlavorDebugPublicationToMavenRepository") - val pomLines = subProject("Lib").projectPath.resolve("build/repo/com/example/flavor1Debug/1.0/flavor1Debug-1.0.pom").readLines() + val pomLines = + subProject("Lib").projectPath.resolve("build/repo/com/example/flavor1Debug/1.0/flavor1Debug-1.0.pom").readLines() val stdlibVersionLineNumber = pomLines.indexOfFirst { "kotlin-stdlib" in it } + 1 val versionLine = pomLines[stdlibVersionLineNumber] assertContains(versionLine, "${buildOptions.kotlinVersion}") diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppCompositeBuildIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppCompositeBuildIT.kt index 2c2e6e4df33..1af799de2e2 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppCompositeBuildIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppCompositeBuildIT.kt @@ -141,7 +141,7 @@ class MppCompositeBuildIT : KGPBaseTest() { @GradleTest fun `test - sample1 - ide dependencies`(gradleVersion: GradleVersion) { project("mpp-composite-build/sample1", gradleVersion) { - projectPath.resolve("included-build").addDefaultBuildFiles() + projectPath.resolve("included-build").addDefaultSettingsToSettingsGradle() buildGradleKts.replaceText("", KOTLIN_VERSION) projectPath.resolve("included-build/build.gradle.kts").replaceText("", KOTLIN_VERSION) @@ -167,8 +167,11 @@ class MppCompositeBuildIT : KGPBaseTest() { @GradleTest fun `test - sample1 - assemble and execute`(gradleVersion: GradleVersion) { - project("mpp-composite-build/sample1", gradleVersion) { - projectPath.resolve("included-build").addDefaultBuildFiles() + project( + "mpp-composite-build/sample1", + gradleVersion, + ) { + projectPath.resolve("included-build").addDefaultSettingsToSettingsGradle() buildGradleKts.replaceText("", KOTLIN_VERSION) projectPath.resolve("included-build/build.gradle.kts").replaceText("", KOTLIN_VERSION) @@ -200,7 +203,7 @@ class MppCompositeBuildIT : KGPBaseTest() { reason = "KGP 1.7.21 produces deprecation warnings with Gradle 8.4" ) { gradleVersion >= GradleVersion.version(TestVersions.Gradle.G_8_4) } ) { - projectPath.resolve("included-build").addDefaultBuildFiles() + projectPath.resolve("included-build").addDefaultSettingsToSettingsGradle() buildGradleKts.replaceText("", KOTLIN_VERSION) projectPath.resolve("included-build/build.gradle.kts").replaceText("", "1.7.21") diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/PreHmppDependenciesDeprecationIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/PreHmppDependenciesDeprecationIT.kt index 39b66df4778..99417207955 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/PreHmppDependenciesDeprecationIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/PreHmppDependenciesDeprecationIT.kt @@ -82,9 +82,17 @@ class PreHmppDependenciesDeprecationIT : KGPBaseTest() { tempDir: Path? = null, projectPathToCheck: String = "", // empty means rootProject expectReportForDependency: String? = null, - preBuildAction: TestProject.() -> Unit = {} + preBuildAction: TestProject.() -> Unit = {}, ) { - project("preHmppDependenciesDeprecation/$projectName", gradleVersion, localRepoDir = tempDir?.resolve("repo")) { + project( + "preHmppDependenciesDeprecation/$projectName", gradleVersion, + localRepoDir = tempDir?.resolve("repo"), + buildOptions = defaultBuildOptions.copy( + nativeOptions = defaultBuildOptions.nativeOptions.copy( + distributionDownloadFromMaven = false // TODO(Dmitrii Krasnov): this flag is off, because we try to find configuration which is not in maven yet. Could be set to true after KTI-1569 is done + ) + ) + ) { preBuildAction() suppressDependencySourcesConfigurations() build("$projectPathToCheck:dependencies") { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/GeneralNativeIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/GeneralNativeIT.kt index 74d8bf95089..6fd291df3aa 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/GeneralNativeIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/GeneralNativeIT.kt @@ -407,7 +407,11 @@ class GeneralNativeIT : KGPBaseTest() { @DisplayName("Transitive export is not required for exporting variant") @GradleTest fun testTransitiveExportIsNotRequiredForExportingVariant(gradleVersion: GradleVersion) { - project("native-binaries/export-published-lib", gradleVersion) { + project( + "native-binaries/export-published-lib", + gradleVersion, + localRepoDir = defaultLocalRepo(gradleVersion) + ) { val headerPath = "shared/build/bin/linuxX64/debugStatic/libshared_api.h" build(":lib:publish") @@ -802,7 +806,11 @@ class GeneralNativeIT : KGPBaseTest() { @DisplayName("Checks builds with cinterop tool") @GradleTest fun testCinterop(gradleVersion: GradleVersion) { - nativeProject("native-cinterop", gradleVersion, configureSubProjects = true) { + nativeProject( + "native-cinterop", + gradleVersion, configureSubProjects = true, + localRepoDir = defaultLocalRepo(gradleVersion) + ) { fun libraryFiles(projectName: String, cinteropName: String) = listOf( projectPath.resolve("$projectName/build/classes/kotlin/host/main/cinterop/${projectName}-cinterop-$cinteropName.klib"), projectPath.resolve("$projectName/build/classes/kotlin/host/main/klib/${projectName}.klib"), @@ -969,7 +977,11 @@ class GeneralNativeIT : KGPBaseTest() { @DisplayName("Checks citerop configuration variant aware resolution") @GradleTest fun testCinteropConfigurationsVariantAwareResolution(gradleVersion: GradleVersion) { - nativeProject("native-cinterop", gradleVersion, configureSubProjects = true) { + nativeProject( + "native-cinterop", + gradleVersion, configureSubProjects = true, + localRepoDir = defaultLocalRepo(gradleVersion) + ) { build(":publishedLibrary:publish") build(":dependencyInsight", "--configuration", "hostTestCInterop", "--dependency", "org.example:publishedLibrary") { @@ -998,7 +1010,10 @@ class GeneralNativeIT : KGPBaseTest() { @GradleTestVersions(minVersion = TestVersions.Gradle.G_7_0) @GradleTest fun shouldAllowToOverrideDownloadUrl(gradleVersion: GradleVersion, @TempDir customKonanDir: Path) { - nativeProject("native-parallel", gradleVersion) { + nativeProject( + "native-parallel", gradleVersion, + dependencyManagement = DependencyManagement.DisabledDependencyManagement + ) { gradleProperties.appendText( """ @@ -1011,6 +1026,9 @@ class GeneralNativeIT : KGPBaseTest() { buildAndFail( "build", buildOptions = defaultBuildOptions.copy( + nativeOptions = defaultBuildOptions.nativeOptions.copy( + distributionDownloadFromMaven = false // please remove this test, when this flag will be removed + ), konanDataDir = customKonanDir.toAbsolutePath() ) ) { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/NativeDownloadAndPlatformLibsNonParallelIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/NativeDownloadAndPlatformLibsNonParallelIT.kt index 9dfcc47c8f5..ec22433d3c6 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/NativeDownloadAndPlatformLibsNonParallelIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/NativeDownloadAndPlatformLibsNonParallelIT.kt @@ -38,8 +38,11 @@ class NativeDownloadAndPlatformLibsNonParallelIT : KGPDaemonsBaseTest() { val userHomeDir = System.getProperty("user.home") platformLibrariesProject("linuxX64", gradleVersion = gradleVersion) { - build("assemble", buildOptions = defaultBuildOptions.copy(konanDataDir = null)) { - assertOutputContains("Kotlin/Native distribution: .*kotlin-native-prebuilt-$platformName".toRegex()) + build( + "assemble", + buildOptions = defaultBuildOptions.copy(konanDataDir = null) // we need to download konan bundle to default dir + ) { + assertOutputContains("Moved Kotlin/Native bundle from .* to $userHomeDir/.konan/kotlin-native-prebuilt-$platformName-$currentCompilerVersion".toRegex()) assertOutputDoesNotContain("Generate platform libraries for ") // checking that konan was downloaded and native dependencies were not downloaded into ~/.konan dir diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/NativeWithСonfigurationCacheIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/NativeWithСonfigurationCacheIT.kt index 42030b48ce3..7cc40e10afd 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/NativeWithСonfigurationCacheIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/NativeWithСonfigurationCacheIT.kt @@ -23,10 +23,17 @@ class NativeWithConfigurationCacheIT : KGPBaseTest() { @GradleTest fun testConfigurationCacheReusedSecondTime(gradleVersion: GradleVersion) { nativeProject( - "native-with-configuration-cache", gradleVersion, buildOptions = defaultBuildOptions.withBundledKotlinNative().copy( + "native-with-configuration-cache", + gradleVersion, + dependencyManagement = DependencyManagement.DisabledDependencyManagement, + buildOptions = defaultBuildOptions.copy( // We need to download compiler on the first build, that is why we are setting custom konan home dir without any compiler inside konanDataDir = workingDir.resolve(".konan"), - ) + nativeOptions = defaultBuildOptions.nativeOptions.copy( + version = null, + distributionDownloadFromMaven = false, // please, remove the whole test, when this flag will be removed + ), + ), ) { build( "help" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/BuildOptions.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/BuildOptions.kt index 7322426ad86..908bdad2dfe 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/BuildOptions.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/BuildOptions.kt @@ -55,7 +55,7 @@ data class BuildOptions( val runViaBuildToolsApi: Boolean? = null, val konanDataDir: Path? = konanDir, // null can be used only if you are using custom 'kotlin.native.home' or 'org.jetbrains.kotlin.native.home' property instead of konanDir val kotlinUserHome: Path? = testKitDir.resolve(".kotlin"), - val compilerArgumentsLogLevel: String? = "info" + val compilerArgumentsLogLevel: String? = "info", ) { val isK2ByDefault get() = KotlinVersion.DEFAULT >= KotlinVersion.KOTLIN_2_0 @@ -90,8 +90,7 @@ data class BuildOptions( val cocoapodsConfiguration: String? = null, val cocoapodsArchs: String? = null, val distributionType: String? = null, - // TODO(Dmitrii Krasnov): we can change false on null, when downloading konan from maven local will be possible KT-63198 - val distributionDownloadFromMaven: Boolean? = false, + val distributionDownloadFromMaven: Boolean? = true, val reinstall: Boolean? = null, val restrictedDistribution: Boolean? = null, val useXcodeMessageStyle: Boolean? = null, @@ -286,7 +285,6 @@ data class BuildOptions( nativeOptions.incremental?.let { arguments.add("-Pkotlin.incremental.native=${it}") } - } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/projectSetupDefaults.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/projectSetupDefaults.kt index f6eb71f2a35..f148e018474 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/projectSetupDefaults.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/projectSetupDefaults.kt @@ -5,7 +5,10 @@ package org.jetbrains.kotlin.gradle.testbase +import org.gradle.api.initialization.resolve.RepositoriesMode import org.intellij.lang.annotations.Language +import java.nio.file.Path +import kotlin.io.path.absolutePathString @Language("Groovy") internal val DEFAULT_GROOVY_SETTINGS_FILE = @@ -64,6 +67,64 @@ internal val DEFAULT_GROOVY_SETTINGS_FILE = } """.trimIndent() + +internal fun getGroovyDependencyManagementBlock( + gradleRepositoriesMode: RepositoriesMode, + additionalDependencyRepositories: Set, + localRepo: Path? = null, +): String = + //language=Groovy + """ + dependencyResolutionManagement { + repositories { + mavenLocal() + mavenCentral() + google() + ivy { + url = "https://download.jetbrains.com/kotlin/native/builds/dev" + patternLayout { + artifact("[revision]/[classifier]/[artifact]-[classifier]-[revision].[ext]") + } + metadataSources { + artifact() + } + } + maven { + url "https://packages.jetbrains.team/maven/p/ij/intellij-dependencies/" + } + ivy { + url = "https://github.com/yarnpkg/yarn/releases/download" + + patternLayout { + artifact("v[revision]/[artifact](-v[revision]).[ext]") + } + metadataSources { + artifact() + } + content { + includeModule("com.yarnpkg", "yarn") + } + } + ivy { + url = "https://nodejs.org/dist" + + patternLayout { + artifact("v[revision]/[artifact](-v[revision]-[classifier]).[ext]") + } + metadataSources { + artifact() + } + content { + includeModule("org.nodejs", "node") + } + } + ${additionalDependencyRepositories.map { repo -> "maven{ url = \"$repo\" }" }.joinToString("\n")} + ${localRepo?.absolutePathString()?.let { repo -> "maven{ url = \"${repo.replace("\\", "\\\\")}\" }" } ?: ""} + } + repositoriesMode.set(${mapRepositoryModeToString(gradleRepositoriesMode)}) + } + """.trimIndent() + @Language("kts") internal val DEFAULT_KOTLIN_SETTINGS_FILE = """ @@ -123,3 +184,69 @@ internal val DEFAULT_KOTLIN_SETTINGS_FILE = id("org.jetbrains.kotlin.test.gradle-warnings-detector") } """.trimIndent() + +internal fun getKotlinDependencyManagementBlock( + gradleRepositoriesMode: RepositoriesMode, + additionalDependencyRepositories: Set, + localRepo: Path? = null, +): String = + //language=kotlin + """ + dependencyResolutionManagement { + repositories { + mavenLocal() + mavenCentral() + google() + ivy { + url = uri("https://download.jetbrains.com/kotlin/native/builds/dev") + patternLayout { + artifact("[revision]/[classifier]/[artifact]-[classifier]-[revision].[ext]") + } + metadataSources { + artifact() + } + } + ivy { + url = uri("https://github.com/yarnpkg/yarn/releases/download") + + patternLayout { + artifact("v[revision]/[artifact](-v[revision]).[ext]") + } + metadataSources { + artifact() + } + content { + includeModule("com.yarnpkg", "yarn") + } + } + ivy { + url = uri("https://nodejs.org/dist") + + patternLayout { + artifact("v[revision]/[artifact](-v[revision]-[classifier]).[ext]") + } + metadataSources { + artifact() + } + content { + includeModule("org.nodejs", "node") + } + } + maven { + url = uri("https://packages.jetbrains.team/maven/p/ij/intellij-dependencies/") + } + ${additionalDependencyRepositories.map { repo -> "maven{ url = uri(\"$repo\") }" }.joinToString("\n")} + ${localRepo?.absolutePathString()?.let { repo -> "maven{ url = uri(\"${repo.replace("\\", "\\\\")}\") }" } ?: ""} + } + repositoriesMode.set(${mapRepositoryModeToString(gradleRepositoriesMode)}) + } + """.trimIndent() + + +private fun mapRepositoryModeToString(gradleRepositoriesMode: RepositoriesMode): String { + return when (gradleRepositoriesMode) { + RepositoriesMode.PREFER_PROJECT -> "RepositoriesMode.PREFER_PROJECT" + RepositoriesMode.PREFER_SETTINGS -> "RepositoriesMode.PREFER_SETTINGS" + RepositoriesMode.FAIL_ON_PROJECT_REPOS -> "RepositoriesMode.FAIL_ON_PROJECT_REPOS" + } +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt index 32cc1d0c21b..0e73c7d6e3d 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.gradle.testbase +import org.gradle.api.initialization.resolve.RepositoriesMode import org.gradle.api.logging.configuration.WarningMode import org.gradle.testkit.runner.BuildResult import org.gradle.testkit.runner.GradleRunner @@ -50,6 +51,7 @@ fun KGPBaseTest.project( buildJdk: File? = null, localRepoDir: Path? = null, environmentVariables: EnvironmentalVariables = EnvironmentalVariables(), + dependencyManagement: DependencyManagement = DependencyManagement.DefaultDependencyManagement(), test: TestProject.() -> Unit = {}, ): TestProject { val projectPath = setupProjectFromTestResources( @@ -58,7 +60,7 @@ fun KGPBaseTest.project( workingDir, projectPathAdditionalSuffix, ) - projectPath.addDefaultBuildFiles() + projectPath.addDefaultSettingsToSettingsGradle(dependencyManagement, localRepoDir) projectPath.enableCacheRedirector() projectPath.enableAndroidSdk() if (buildOptions.languageVersion != null || buildOptions.languageApiVersion != null) { @@ -121,6 +123,7 @@ fun KGPBaseTest.nativeProject( localRepoDir: Path? = null, environmentVariables: EnvironmentalVariables = EnvironmentalVariables(), configureSubProjects: Boolean = false, + dependencyManagement: DependencyManagement = DependencyManagement.DefaultDependencyManagement(), test: TestProject.() -> Unit = {}, ): TestProject { val project = project( @@ -129,6 +132,7 @@ fun KGPBaseTest.nativeProject( buildOptions = buildOptions, forceOutput = forceOutput, enableBuildScan = enableBuildScan, + dependencyManagement = dependencyManagement, addHeapDumpOptions = addHeapDumpOptions, enableGradleDebug = enableGradleDebug, enableKotlinDaemonMemoryLimitInMb = enableKotlinDaemonMemoryLimitInMb, @@ -323,12 +327,12 @@ open class GradleProject( fun classesDir( sourceSet: String = "main", targetName: String? = null, - language: String = "kotlin" + language: String = "kotlin", ): Path = projectPath.resolve("build/classes/$language/${targetName.orEmpty()}/$sourceSet/") fun kotlinClassesDir( sourceSet: String = "main", - targetName: String? = null + targetName: String? = null, ): Path = classesDir(sourceSet, targetName, language = "kotlin") fun javaClassesDir( @@ -353,7 +357,8 @@ open class GradleProject( */ @JvmInline value class EnvironmentalVariables @EnvironmentalVariablesOverride constructor(val environmentalVariables: Map = emptyMap()) { - @EnvironmentalVariablesOverride constructor(vararg environmentVariables: Pair) : this(mapOf(*environmentVariables)) + @EnvironmentalVariablesOverride + constructor(vararg environmentVariables: Pair) : this(mapOf(*environmentVariables)) } @RequiresOptIn("Environmental variables override may lead to interference of parallel builds and breaks Gradle tests debugging") @@ -416,7 +421,7 @@ class TestProject( val otherProjectPath = "$pathPrefix/$otherProjectName".testProjectPath otherProjectPath.copyRecursively(projectPath.resolve(otherProjectName)) - projectPath.resolve(otherProjectName).addDefaultBuildFiles() + projectPath.resolve(otherProjectName).addDefaultSettingsToSettingsGradle() settingsGradle.append( """ @@ -523,12 +528,29 @@ private fun setupProjectFromTestResources( private val String.testProjectPath: Path get() = Paths.get("src", "test", "resources", "testProject", this) -internal fun Path.addDefaultBuildFiles() { +internal fun Path.addDefaultSettingsToSettingsGradle( + dependencyManagement: DependencyManagement = DependencyManagement.DefaultDependencyManagement(), + localRepo: Path? = null, +) { addPluginManagementToSettings() + when (dependencyManagement) { + is DependencyManagement.DefaultDependencyManagement -> addDependencyManagementToSettings( + additionalDependencyRepositories = dependencyManagement.additionalRepos, + localRepo = localRepo + ) + is DependencyManagement.DisabledDependencyManagement -> {} + } val buildSrc = resolve("buildSrc") if (Files.exists(buildSrc)) { buildSrc.addPluginManagementToSettings() + when (dependencyManagement) { + is DependencyManagement.DefaultDependencyManagement -> buildSrc.addDependencyManagementToSettings( + additionalDependencyRepositories = dependencyManagement.additionalRepos, + localRepo = localRepo + ) + is DependencyManagement.DisabledDependencyManagement -> {} + } } } @@ -542,7 +564,7 @@ internal fun Path.addPluginManagementToSettings() { if (!it.contains("pluginManagement {")) { """ |$DEFAULT_GROOVY_SETTINGS_FILE - | + | |$it |""".trimMargin() } else { @@ -574,6 +596,79 @@ internal fun Path.addPluginManagementToSettings() { } } + +internal fun Path.addDependencyManagementToSettings( + gradleRepositoriesMode: RepositoriesMode = RepositoriesMode.PREFER_SETTINGS, + additionalDependencyRepositories: Set, + localRepo: Path? = null, +) { + val buildGradle = resolve("build.gradle") + val buildGradleKts = resolve("build.gradle.kts") + val settingsGradle = resolve("settings.gradle") + val settingsGradleKts = resolve("settings.gradle.kts") + when { + Files.exists(settingsGradle) -> settingsGradle.modify { + if (!it.contains("dependencyManagement {")) { + """ + |$it + | + |${ + getGroovyDependencyManagementBlock( + gradleRepositoriesMode, + additionalDependencyRepositories, + localRepo + ) + } + |""".trimMargin() + } else { + it + } + } + + Files.exists(settingsGradleKts) -> settingsGradleKts.modify { + if (!it.contains("dependencyManagement {")) { + """ + |$it + | + |${ + getKotlinDependencyManagementBlock( + gradleRepositoriesMode, + additionalDependencyRepositories, + localRepo + ) + } + """.trimMargin() + } else { + it + } + } + + Files.exists(buildGradle) -> settingsGradle.toFile() + .writeText( + getGroovyDependencyManagementBlock( + gradleRepositoriesMode, + additionalDependencyRepositories, + localRepo + ) + ) + + Files.exists(buildGradleKts) -> settingsGradleKts.toFile() + .writeText( + getKotlinDependencyManagementBlock( + gradleRepositoriesMode, + additionalDependencyRepositories, + localRepo + ) + ) + + else -> error("No build-file or settings file found") + } + + if (Files.exists(resolve("buildSrc"))) { + resolve("buildSrc").addDependencyManagementToSettings(gradleRepositoriesMode, additionalDependencyRepositories, localRepo) + } +} + private fun TestProject.agreeToBuildScanService() { val settingsFile = if (Files.exists(settingsGradle)) settingsGradle else settingsGradleKts settingsFile.append( @@ -773,4 +868,17 @@ internal fun TestProject.suppressDependencySourcesConfigurations() { } """.trimIndent() } -} \ No newline at end of file +} + +/** + * Represents different types of dependency management provided to tests. + */ +sealed interface DependencyManagement { + class DefaultDependencyManagement(val additionalRepos: Set = emptySet()) : DependencyManagement + data object DisabledDependencyManagement : DependencyManagement +} + +/** + * Resolves the temporary local repository path for the test with specified Gradle version. + */ +fun KGPBaseTest.defaultLocalRepo(gradleVersion: GradleVersion) = workingDir.resolve(gradleVersion.version).resolve("repo") \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/AndroidIcepickProject/app/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/AndroidIcepickProject/app/build.gradle index dc8746762d9..c020044554f 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/AndroidIcepickProject/app/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/AndroidIcepickProject/app/build.gradle @@ -35,11 +35,4 @@ android { sourceSets { main.java.srcDirs += 'src/main/kotlin' } -} - -repositories { - mavenLocal() - maven { url 'https://maven.google.com' } - mavenCentral() - maven { url "https://clojars.org/repo/" } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/cinteropImport/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/cinteropImport/build.gradle.kts index a6c075963e7..231410d7b80 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/cinteropImport/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/cinteropImport/build.gradle.kts @@ -1,13 +1,4 @@ allprojects { group = "a" version = "1.0" - - repositories { - mavenLocal() - mavenCentral() - maven { - name = "build" - url = rootProject.buildDir.resolve("repo").toURI() - } - } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/cinteropImport/dep-with-cinterop/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/cinteropImport/dep-with-cinterop/build.gradle.kts index 5abf18a8a2c..ead9a9b8494 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/cinteropImport/dep-with-cinterop/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/cinteropImport/dep-with-cinterop/build.gradle.kts @@ -12,7 +12,7 @@ publishing { repositories { maven { name = "build" - url = rootProject.buildDir.resolve("repo").toURI() + url = uri("") } } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonize-kt-56729-consume-library-with-two-roots/consumer/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonize-kt-56729-consume-library-with-two-roots/consumer/build.gradle.kts index b5623619ccb..c1e52799732 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonize-kt-56729-consume-library-with-two-roots/consumer/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonize-kt-56729-consume-library-with-two-roots/consumer/build.gradle.kts @@ -6,12 +6,6 @@ plugins { kotlin("multiplatform") } -repositories { - maven(project(":producer").layout.buildDirectory.dir("repo")) - mavenLocal() - mavenCentral() -} - kotlin { linuxArm64() linuxX64() diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonize-kt-56729-consume-library-with-two-roots/producer/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonize-kt-56729-consume-library-with-two-roots/producer/build.gradle.kts index 648353a8a4b..ee12b8ffc64 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonize-kt-56729-consume-library-with-two-roots/producer/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonize-kt-56729-consume-library-with-two-roots/producer/build.gradle.kts @@ -12,7 +12,7 @@ group = "org.jetbrains.sample" publishing { repositories { - maven(buildDir.resolve("repo")) + maven("") } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-js-test/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-js-test/build.gradle.kts index 7bd9da76e70..f36427cf29a 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-js-test/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-js-test/build.gradle.kts @@ -5,13 +5,6 @@ plugins { kotlin("multiplatform") } -repositories { - val thirdPartyRepo: String by project - maven(thirdPartyRepo) - mavenLocal() - mavenCentral() -} - kotlin { sourceSets { val commonMain by getting { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/build.gradle.kts index a9d53179b0d..466f70b1602 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/build.gradle.kts @@ -1,11 +1,3 @@ plugins { kotlin("multiplatform").apply(false) -} - -allprojects { - repositories { - mavenLocal() - maven("") - mavenCentral() - } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-app/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-app/build.gradle.kts index a6d64867238..f3878884b30 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-app/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-app/build.gradle.kts @@ -2,11 +2,6 @@ plugins { kotlin("multiplatform") } -repositories { - mavenLocal() - mavenCentral() -} - group = "com.example.app" version = "1.0" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-lib-bar/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-lib-bar/build.gradle.kts index 7699f681d86..2fd7ce23464 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-lib-bar/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-lib-bar/build.gradle.kts @@ -3,11 +3,6 @@ plugins { `maven-publish` } -repositories { - mavenLocal() - mavenCentral() -} - group = "com.example.bar" version = "1.0" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-lib-foo/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-lib-foo/build.gradle.kts index e8953c55a75..93c21e58c02 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-lib-foo/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/my-lib-foo/build.gradle.kts @@ -3,11 +3,6 @@ plugins { `maven-publish` } -repositories { - mavenLocal() - mavenCentral() -} - group = "com.example.foo" version = "1.0" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/third-party-lib/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/third-party-lib/build.gradle.kts index b9c5da055c7..5fc0836aeeb 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/third-party-lib/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-project-dependency/third-party-lib/build.gradle.kts @@ -3,11 +3,6 @@ plugins { `maven-publish` } -repositories { - mavenLocal() - mavenCentral() -} - group = "com.example.thirdparty" version = "1.0" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-app/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-app/build.gradle.kts index 5d0bc145f99..474034b1b83 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-app/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-app/build.gradle.kts @@ -2,12 +2,6 @@ plugins { kotlin("multiplatform") } -repositories { - mavenLocal() - maven("") - mavenCentral() -} - group = "com.example.app" version = "1.0" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-lib-bar/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-lib-bar/build.gradle.kts index 21d57d9b809..ac00082e593 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-lib-bar/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-lib-bar/build.gradle.kts @@ -3,12 +3,6 @@ plugins { `maven-publish` } -repositories { - mavenLocal() - maven("") - mavenCentral() -} - group = "com.example.bar" version = "1.0" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-lib-foo/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-lib-foo/build.gradle.kts index 88c3cecfadc..a2650f759e3 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-lib-foo/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-published-modules/my-lib-foo/build.gradle.kts @@ -3,12 +3,6 @@ plugins { `maven-publish` } -repositories { - mavenLocal() - maven("") - mavenCentral() -} - group = "com.example.foo" version = "1.0" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-with-js-published-modules/my-lib-foo/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-with-js-published-modules/my-lib-foo/build.gradle.kts index ba353e0c943..04de891cefb 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-with-js-published-modules/my-lib-foo/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-with-js-published-modules/my-lib-foo/build.gradle.kts @@ -3,12 +3,6 @@ plugins { `maven-publish` } -repositories { - mavenLocal() - maven("") - mavenCentral() -} - group = "com.example.foo" version = "1.0" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/android-dbflow/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/android-dbflow/build.gradle index 7c0067b3d4a..b3ce507d5c4 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/android-dbflow/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/android-dbflow/build.gradle @@ -8,13 +8,4 @@ buildscript { classpath "com.android.tools.build:gradle:$android_tools_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } -} - -allprojects { - repositories { - mavenLocal() - google() - mavenCentral() - maven { url "https://jitpack.io" } - } -} +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/localAnnotationProcessor/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/localAnnotationProcessor/build.gradle index 92c3a75d342..8b137891791 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/localAnnotationProcessor/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/localAnnotationProcessor/build.gradle @@ -1,7 +1 @@ -allprojects { - repositories { - mavenLocal() - mavenCentral() - maven { url 'https://jitpack.io' } - } -} + diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlinxSerializationK2AgainstK1Lib/app/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlinxSerializationK2AgainstK1Lib/app/build.gradle.kts index cbc7393f94d..29971299553 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlinxSerializationK2AgainstK1Lib/app/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlinxSerializationK2AgainstK1Lib/app/build.gradle.kts @@ -8,12 +8,6 @@ plugins { application } -repositories { - mavenLocal() - maven("") - mavenCentral() -} - group = "com.example.serialization_app" version = "1.0" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-52216/lib/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-52216/lib/build.gradle.kts index ce56085ea69..3c224a32419 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-52216/lib/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-52216/lib/build.gradle.kts @@ -20,6 +20,6 @@ kotlin { publishing { repositories { - maven("$rootDir/../repo") + maven("") } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-52216/p1/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-52216/p1/build.gradle.kts index a0438832bf6..764a0d508e7 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-52216/p1/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-52216/p1/build.gradle.kts @@ -5,12 +5,6 @@ plugins { group = "me.user" version = "1.0" -repositories { - maven("$rootDir/../repo") - mavenLocal() - mavenCentral() -} - kotlin { val targets = listOf( jvm(), diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-52216/p2/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-52216/p2/build.gradle.kts index 66331a0b121..89845075b8d 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-52216/p2/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-52216/p2/build.gradle.kts @@ -5,12 +5,6 @@ plugins { group = "me.user" version = "1.0" -repositories { - maven("$rootDir/../repo") - mavenLocal() - mavenCentral() -} - kotlin { val targets = listOf( jvm(), diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-55071-compileSharedNative-withDefaultParameters/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-55071-compileSharedNative-withDefaultParameters/build.gradle.kts index 5948671485a..e69de29bb2d 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-55071-compileSharedNative-withDefaultParameters/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-55071-compileSharedNative-withDefaultParameters/build.gradle.kts @@ -1,6 +0,0 @@ -allprojects { - repositories { - mavenLocal() - mavenCentral() - } -} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-55071-compileSharedNative-withDefaultParameters/consumer/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-55071-compileSharedNative-withDefaultParameters/consumer/build.gradle.kts index b0a770d1a44..a90414988f8 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-55071-compileSharedNative-withDefaultParameters/consumer/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-55071-compileSharedNative-withDefaultParameters/consumer/build.gradle.kts @@ -4,12 +4,6 @@ plugins { kotlin("multiplatform") } -repositories { - mavenLocal() - maven(project(":producer").buildDir.resolve("repository")) - mavenCentral() -} - kotlin { jvm() js().browser() diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-55071-compileSharedNative-withDefaultParameters/producer/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-55071-compileSharedNative-withDefaultParameters/producer/build.gradle.kts index f71339dcd47..dd8078ab257 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-55071-compileSharedNative-withDefaultParameters/producer/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-55071-compileSharedNative-withDefaultParameters/producer/build.gradle.kts @@ -5,11 +5,6 @@ plugins { `maven-publish` } -repositories { - mavenLocal() - mavenCentral() -} - kotlin { jvm() js().browser() @@ -52,8 +47,6 @@ version = "1.0.0" publishing { repositories { - maven(buildDir.resolve("repository")) { - name = "build" - } + maven("") } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-60053-dependencyOn-testFixtures/producer/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-60053-dependencyOn-testFixtures/producer/build.gradle.kts index f40f94173f8..322d16fbea4 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-60053-dependencyOn-testFixtures/producer/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-60053-dependencyOn-testFixtures/producer/build.gradle.kts @@ -15,7 +15,7 @@ publishing { } repositories { - maven(rootDir.resolve("repo")) + maven("") } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-63226-multiple-capabilities/consumer/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-63226-multiple-capabilities/consumer/build.gradle.kts index e6f08e1a005..5576c022906 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-63226-multiple-capabilities/consumer/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-63226-multiple-capabilities/consumer/build.gradle.kts @@ -2,12 +2,6 @@ plugins { kotlin("multiplatform") } -repositories { - maven(rootDir.resolve("repo")) - mavenLocal() - mavenCentral() -} - kotlin { jvm() diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-63226-multiple-capabilities/producer/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-63226-multiple-capabilities/producer/build.gradle.kts index 96ffbb5d99f..b664706f89b 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-63226-multiple-capabilities/producer/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-63226-multiple-capabilities/producer/build.gradle.kts @@ -14,7 +14,7 @@ publishing { } repositories { - maven(rootDir.resolve("repo")) + maven("") } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample1/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample1/build.gradle.kts index 4dabb3a0cfd..41e68cdc024 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample1/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample1/build.gradle.kts @@ -1,10 +1,5 @@ plugins { - id("org.jetbrains.kotlin.multiplatform").version("") -} - -repositories { - mavenLocal() - mavenCentral() + id("org.jetbrains.kotlin.multiplatform") } repositories { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-sources-publication/consumer/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-sources-publication/consumer/build.gradle.kts index 25fc4e84fed..de17c3dc433 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-sources-publication/consumer/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-sources-publication/consumer/build.gradle.kts @@ -6,11 +6,6 @@ plugins { `maven-publish` } -repositories { - mavenLocal() - maven("") -} - val disambiguationAttribute = Attribute.of("disambiguationAttribute", String::class.java) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-sources-publication/producer/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-sources-publication/producer/build.gradle.kts index 51d6e8575b0..021f85cd233 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-sources-publication/producer/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-sources-publication/producer/build.gradle.kts @@ -3,11 +3,6 @@ plugins { `maven-publish` } -repositories { - mavenLocal() - mavenCentral() -} - group = "test" version = "1.0" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mppCustomPublicationLayout/app/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mppCustomPublicationLayout/app/build.gradle.kts index e7c15fdb03e..21fc4ddb45d 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mppCustomPublicationLayout/app/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mppCustomPublicationLayout/app/build.gradle.kts @@ -2,11 +2,6 @@ plugins { kotlin("multiplatform") } -repositories { - maven("") -} - - kotlin { applyDefaultHierarchyTemplate() diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mppCustomPublicationLayout/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mppCustomPublicationLayout/build.gradle.kts index edb5d3e9a30..95805026bdb 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mppCustomPublicationLayout/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mppCustomPublicationLayout/build.gradle.kts @@ -1,10 +1,3 @@ plugins { kotlin("multiplatform") apply false -} - -allprojects { - repositories { - mavenLocal() - mavenCentral() - } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mppCustomPublicationLayout/libWithDefaultLayout/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mppCustomPublicationLayout/libWithDefaultLayout/build.gradle.kts index 6f5dff1bfcd..80f44dd9260 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mppCustomPublicationLayout/libWithDefaultLayout/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mppCustomPublicationLayout/libWithDefaultLayout/build.gradle.kts @@ -6,10 +6,6 @@ plugins { group = "test" version = "1.0" -repositories { - maven("") -} - kotlin { applyDefaultHierarchyTemplate() diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-binaries/export-published-lib/lib/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-binaries/export-published-lib/lib/build.gradle.kts index 17144544d3c..c0a82d1f56a 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-binaries/export-published-lib/lib/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-binaries/export-published-lib/lib/build.gradle.kts @@ -3,12 +3,6 @@ plugins { `maven-publish` } -repositories { - mavenLocal() - maven("../repo") - mavenCentral() -} - group = "com.example" version = "1.0" @@ -19,6 +13,6 @@ kotlin { publishing { repositories { - maven("../repo") + maven("") } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-binaries/export-published-lib/shared/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-binaries/export-published-lib/shared/build.gradle.kts index aaa78123c67..a379c359e9c 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-binaries/export-published-lib/shared/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-binaries/export-published-lib/shared/build.gradle.kts @@ -2,12 +2,6 @@ plugins { kotlin("multiplatform") } -repositories { - mavenLocal() - maven("../repo") - mavenCentral() -} - kotlin { jvm() linuxX64 { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-build-cache/build-cache-lib/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-build-cache/build-cache-lib/build.gradle.kts index 90b10e2a768..20bef0d2ce1 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-build-cache/build-cache-lib/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-build-cache/build-cache-lib/build.gradle.kts @@ -17,6 +17,6 @@ kotlin { publishing { repositories { - maven(url = "file://${projectDir.absolutePath.replace('\\', '/')}/../repo") + maven("") } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-cinterop/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-cinterop/build.gradle index 91f6bb6cf3a..580e9333bbf 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-cinterop/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-cinterop/build.gradle @@ -2,12 +2,6 @@ plugins { id("org.jetbrains.kotlin.multiplatform") } -repositories { - mavenLocal() - mavenCentral() - maven { url 'repo' } -} - kotlin { sourceSets { hostMain { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-cinterop/projectLibrary/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-cinterop/projectLibrary/build.gradle index e1c7e0cd363..0112b0a9dcb 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-cinterop/projectLibrary/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-cinterop/projectLibrary/build.gradle @@ -3,11 +3,6 @@ plugins { id("maven-publish") } -repositories { - mavenLocal() - mavenCentral() -} - kotlin { ("host") { compilations.main.cinterops { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-cinterop/publishedLibrary/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-cinterop/publishedLibrary/build.gradle index 099be58e127..cc2b470fa97 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-cinterop/publishedLibrary/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-cinterop/publishedLibrary/build.gradle @@ -26,7 +26,7 @@ kotlin { publishing { repositories { maven { - url = '../repo' + url = "" } } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-gone-declaration/app/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-gone-declaration/app/build.gradle.kts index 8883cd8d29a..cb2304349d7 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-gone-declaration/app/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-gone-declaration/app/build.gradle.kts @@ -2,12 +2,6 @@ plugins { id("org.jetbrains.kotlin.multiplatform") } -repositories { - mavenCentral() - mavenLocal() - maven("") -} - kotlin { ("native") { binaries { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-gone-declaration/liba-v1.0/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-gone-declaration/liba-v1.0/build.gradle.kts index 4a491e83cfa..55f539069a1 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-gone-declaration/liba-v1.0/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-gone-declaration/liba-v1.0/build.gradle.kts @@ -6,11 +6,6 @@ plugins { group = "org.sample" version = "1.0" -repositories { - mavenLocal() - mavenCentral() -} - kotlin { ("native") } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-gone-declaration/libb/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-gone-declaration/libb/build.gradle.kts index cdb144199a2..f41acc7f87f 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-gone-declaration/libb/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-gone-declaration/libb/build.gradle.kts @@ -6,12 +6,6 @@ plugins { group = "org.sample" version = "1.0" -repositories { - mavenLocal() - mavenCentral() - maven("") -} - kotlin { ("native") diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-ktor-and-coroutines/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-ktor-and-coroutines/build.gradle.kts index e21bd04e0e5..ecd8b4bfe8a 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-ktor-and-coroutines/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-ktor-and-coroutines/build.gradle.kts @@ -2,11 +2,6 @@ plugins { id("org.jetbrains.kotlin.multiplatform") } -repositories { - mavenLocal() - mavenCentral() -} - kotlin { ("native") { binaries { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-symbol-mismatch/app/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-symbol-mismatch/app/build.gradle.kts index f83ac5ef295..322cea0c930 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-symbol-mismatch/app/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-symbol-mismatch/app/build.gradle.kts @@ -2,12 +2,6 @@ plugins { id("org.jetbrains.kotlin.multiplatform") } -repositories { - mavenCentral() - mavenLocal() - maven("") -} - kotlin { ("native") { binaries { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-symbol-mismatch/liba-v1.0/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-symbol-mismatch/liba-v1.0/build.gradle.kts index 4a491e83cfa..55f539069a1 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-symbol-mismatch/liba-v1.0/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-symbol-mismatch/liba-v1.0/build.gradle.kts @@ -6,11 +6,6 @@ plugins { group = "org.sample" version = "1.0" -repositories { - mavenLocal() - mavenCentral() -} - kotlin { ("native") } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-symbol-mismatch/liba-v2.0/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-symbol-mismatch/liba-v2.0/build.gradle.kts index 7c8d979bc61..4065dbd233f 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-symbol-mismatch/liba-v2.0/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-symbol-mismatch/liba-v2.0/build.gradle.kts @@ -6,11 +6,6 @@ plugins { group = "org.sample" version = "2.0" -repositories { - mavenLocal() - mavenCentral() -} - kotlin { ("native") } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-symbol-mismatch/libb/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-symbol-mismatch/libb/build.gradle.kts index cdb144199a2..1bca19deb99 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-symbol-mismatch/libb/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-ir-linker-issues-symbol-mismatch/libb/build.gradle.kts @@ -6,11 +6,6 @@ plugins { group = "org.sample" version = "1.0" -repositories { - mavenLocal() - mavenCentral() - maven("") -} kotlin { ("native") diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/preHmppDependenciesDeprecation/simpleReport/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/preHmppDependenciesDeprecation/simpleReport/build.gradle.kts index fa069cd5f15..4471c54f3ca 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/preHmppDependenciesDeprecation/simpleReport/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/preHmppDependenciesDeprecation/simpleReport/build.gradle.kts @@ -2,12 +2,6 @@ plugins { kotlin("multiplatform") } -repositories { - mavenCentral() - mavenLocal() - maven("") -} - kotlin { jvm() linuxX64() diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/toolchain/KotlinNativeProvider.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/toolchain/KotlinNativeProvider.kt index d692d82961f..afba0d0ae72 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/toolchain/KotlinNativeProvider.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/toolchain/KotlinNativeProvider.kt @@ -25,6 +25,8 @@ import org.jetbrains.kotlin.gradle.utils.property import org.jetbrains.kotlin.konan.target.KonanTarget import java.io.File +private const val KONAN_DIRECTORY_NAME_TO_CHECK_EXISTENCE = "konan" + /** * This is a nested provider for all native tasks */ @@ -57,8 +59,11 @@ internal class KotlinNativeProvider(project: Project, konanTarget: KonanTarget) kotlinNativeVersion } + // Gradle tries to evaluate this val during configuration cache, + // which lead to resolving configuration, even if k/n bundle is in konan home directory. + @Transient private val kotlinNativeCompilerConfiguration: ConfigurableFileCollection = project.filesProvider { - // without enabled there is no configuration with this name, so we should return empty provider to support configuraiton cache + // without enabled there is no configuration with this name, so we should return empty provider to support configuration cache if (project.kotlinNativeToolchainEnabled) { project.configurations.named( KOTLIN_NATIVE_BUNDLE_CONFIGURATION_NAME @@ -79,7 +84,7 @@ internal class KotlinNativeProvider(project: Project, konanTarget: KonanTarget) bundleDir.deleteRecursively() } - if (!bundleDir.resolve("bin").exists()) { + if (!bundleDir.resolve(KONAN_DIRECTORY_NAME_TO_CHECK_EXISTENCE).exists()) { val gradleCachesKotlinNativeDir = kotlinNativeCompilerConfiguration .singleOrNull()