diff --git a/.gitignore b/.gitignore index 52c18b88121..3fb6d5eeb68 100644 --- a/.gitignore +++ b/.gitignore @@ -57,3 +57,4 @@ outTmp/ /test.output /kotlin-native/dist kotlin-ide/ +/.kotlin/ diff --git a/gradle.properties b/gradle.properties index af4ec52985a..b18aee9fea6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -29,7 +29,7 @@ cacheRedirectorEnabled=true defaultSnapshotVersion=2.0.255-SNAPSHOT kotlinLanguageVersion=2.0 -kotlin.build.gradlePlugin.version=0.0.39 +kotlin.build.gradlePlugin.version=0.0.40 #maven.repository.mirror=http://repository.jetbrains.com/remote-repos/ #bootstrap.kotlin.repo=https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 6ff7650e5f2..fb7cd4fdcf4 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -3770,10 +3770,10 @@ - - - - + + + + @@ -3840,12 +3840,6 @@ - - - - - - @@ -3870,12 +3864,6 @@ - - - - - - @@ -3900,12 +3888,6 @@ - - - - - - @@ -3930,12 +3912,6 @@ - - - - - - diff --git a/kotlin-native/Interop/StubGenerator/build.gradle.kts b/kotlin-native/Interop/StubGenerator/build.gradle.kts index 7f9c3f4e597..ab4baa149ad 100644 --- a/kotlin-native/Interop/StubGenerator/build.gradle.kts +++ b/kotlin-native/Interop/StubGenerator/build.gradle.kts @@ -77,14 +77,4 @@ tasks { systemProperty("konan.home", project.project(":kotlin-native").projectDir) environment["LIBCLANG_DISABLE_CRASH_RECOVERY"] = "1" } -} - -sourceSets { - "main" { - kotlin { - srcDir(project.kotlinNativeVersionSrc()) - srcDir("../../shared/src/library/kotlin") - srcDir("../../shared/src/main/kotlin") - } - } } \ No newline at end of file diff --git a/kotlin-native/build-tools/gradle.properties b/kotlin-native/build-tools/gradle.properties index 99ef6275ea6..49fcf6d0bdd 100644 --- a/kotlin-native/build-tools/gradle.properties +++ b/kotlin-native/build-tools/gradle.properties @@ -1,5 +1,5 @@ cacheRedirectorEnabled=true bootstrap.kotlin.default.version=1.9.0-dev-877 -kotlin.build.gradlePlugin.version=0.0.39 +kotlin.build.gradlePlugin.version=0.0.40 kotlin.native.enabled=true \ No newline at end of file diff --git a/kotlin-native/performance/build.gradle b/kotlin-native/performance/build.gradle index 6019eaee916..ea3100aa0fb 100644 --- a/kotlin-native/performance/build.gradle +++ b/kotlin-native/performance/build.gradle @@ -41,7 +41,6 @@ def globalProperties = new java.util.Properties() ext.kotlin_root = project.file("../..").absolutePath project.logger.info("kotlin_root: $kotlin_root") globalProperties.load(new java.io.FileReader(project.file("$kotlin_root/gradle.properties"))) -ext.kotlinNativeVersionInResources = true def konanDataDir = project.hasProperty('konan.data.dir') ? project.property('konan.data.dir').toString() : null def platformManager = new PlatformManager(DistributionKt.buildDistribution(UtilsKt.getKotlinNativeDist(project).path, konanDataDir), false) diff --git a/kotlin-native/performance/buildSrc/gradle.properties b/kotlin-native/performance/buildSrc/gradle.properties index ddf93622930..a4cfda1e441 100644 --- a/kotlin-native/performance/buildSrc/gradle.properties +++ b/kotlin-native/performance/buildSrc/gradle.properties @@ -1 +1 @@ -kotlin.build.gradlePlugin.version=0.0.39 \ No newline at end of file +kotlin.build.gradlePlugin.version=0.0.40 \ No newline at end of file diff --git a/kotlin-native/tools/benchmarksAnalyzer/buildSrc/gradle.properties b/kotlin-native/tools/benchmarksAnalyzer/buildSrc/gradle.properties index fb90f559bb7..2f037f46a87 100644 --- a/kotlin-native/tools/benchmarksAnalyzer/buildSrc/gradle.properties +++ b/kotlin-native/tools/benchmarksAnalyzer/buildSrc/gradle.properties @@ -1 +1 @@ -kotlin.build.gradlePlugin.version=0.0.39 +kotlin.build.gradlePlugin.version=0.0.40 diff --git a/kotlin-native/tools/performance-server/buildSrc/gradle.properties b/kotlin-native/tools/performance-server/buildSrc/gradle.properties index fb90f559bb7..2f037f46a87 100644 --- a/kotlin-native/tools/performance-server/buildSrc/gradle.properties +++ b/kotlin-native/tools/performance-server/buildSrc/gradle.properties @@ -1 +1 @@ -kotlin.build.gradlePlugin.version=0.0.39 +kotlin.build.gradlePlugin.version=0.0.40 diff --git a/kotlin-native/tools/performance-server/ui/buildSrc/gradle.properties b/kotlin-native/tools/performance-server/ui/buildSrc/gradle.properties index fb90f559bb7..2f037f46a87 100644 --- a/kotlin-native/tools/performance-server/ui/buildSrc/gradle.properties +++ b/kotlin-native/tools/performance-server/ui/buildSrc/gradle.properties @@ -1 +1 @@ -kotlin.build.gradlePlugin.version=0.0.39 +kotlin.build.gradlePlugin.version=0.0.40 diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/Readme.md b/libraries/tools/kotlin-gradle-plugin-integration-tests/Readme.md index 4d7a882c4a2..ad92e29b80d 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/Readme.md +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/Readme.md @@ -34,6 +34,19 @@ If you want to run only one test class, you need to append `--tests` flag with v ./gradlew :kotlin-gradle-plugin-integration-tests:kgpAllParallelTests --tests ``` +#### How to Run Using Kotlin Native from Master + +Currently, Kotlin Native from master involves three configurations: `kgpMppTests`, `kgpNativeTests`, and `kgpOtherTests`. +Depending on your development environment, there are a few different ways you can run this. +* **On Local Environment** In the case of Local Environment builds, you have two options, which you can add in your `local.properties` file: + * `kotlin.native.enabled=true` - this property adds building Kotlin Native full bundle step before Integration Tests, then this bundle will be used in the Integration Tests. + * `kotlin.native.local.distribution.for.tests.enabled=false` - include this line if you need to disable running Integration Tests with Kotlin/Native from master, even when `kotlin.native.enabled` is set to true. +* **On TeamCity** In the case of TeamCity builds, no extra setting is necessary. The mentioned configurations depend on the `full bundle`, which stores its artifacts in the `-DkonanDataDirForIntegrationTests` directory. +Also, you can specify the konan directory for test by providing `-DkonanDataDirForIntegrationTests`, for example: +```bash + ./gradlew :kotlin-gradle-plugin-integration-tests:kgpNativeTests -DkonanDataDirForIntegrationTests=/tmp/.konan +``` + #### How to work with the tests Few rules you should follow while writing tests: diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts index f7c393a08b7..bd25fafd412 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts @@ -1,5 +1,6 @@ import org.gradle.api.tasks.testing.logging.TestExceptionFormat -import org.gradle.jvm.toolchain.internal.NoToolchainAvailableException +import org.jetbrains.kotlin.konan.target.HostManager +import org.jetbrains.kotlin.konan.target.KonanTarget import org.jetbrains.kotlin.pill.PillExtension import java.nio.file.Paths @@ -111,6 +112,11 @@ dependencies { testCompileOnly(commonDependency("org.jetbrains.intellij.deps:asm-all")) } +val konanDataDir: String = System.getProperty("konanDataDirForIntegrationTests") + ?: project.rootDir + .resolve(".kotlin") + .resolve("konan-for-gradle-tests").absolutePath + // Aapt2 from Android Gradle Plugin 3.2 and below does not handle long paths on Windows. val shortenTempRootName = project.providers.systemProperty("os.name").get().contains("Windows") @@ -130,13 +136,52 @@ val cleanTestKitCacheTask = tasks.register("cleanTestKitCache") { } tasks.register("cleanUserHomeKonanDir") { - group = KGP_TEST_TASKS_GROUP - description = "Deletes ~/.konan dir before tests. This step is necessary to ensure that no test inadvertently creates this directory during execution." + description = + "Deletes ~/.konan dir before tests. This step is necessary to ensure that no test inadvertently creates this directory during execution." val userHomeKonanDir = Paths.get("${System.getProperty("user.home")}/.konan") + delete(userHomeKonanDir) - println("Default .konan directory user's home has been deleted: $userHomeKonanDir") + doLast { + logger.info("Default .konan directory user's home has been deleted: $userHomeKonanDir") + } +} + +tasks.register("prepareNativeBundleForGradleIT") { + + description = "This task adds depenecy on :kotlin-native:bundle and then copying built bundle into the tests' konan dir" + + // 1. Build full Kotlin Native bundle + dependsOn(":kotlin-native:bundle") + + // 2. Coping and extracting k/n artifacts from the 1st step to tests' konan data directory + val (extension, unzipFunction) = when (HostManager.host) { + KonanTarget.MINGW_X64 -> Pair("zip", ::zipTree) + else -> Pair("tar.gz", ::tarTree) + } + + val kotlinNativeRootDir = rootProject.findProject(":kotlin-native")?.projectDir + ?: throw IllegalStateException("The path to kotlin-native module is undefined.") + + from( + unzipFunction( + kotlinNativeRootDir.resolve("kotlin-native-${HostManager.platformName()}-${project.kotlinBuildProperties.defaultSnapshotVersion}.$extension") + ) + ) + from( + unzipFunction( + kotlinNativeRootDir.resolve("kotlin-native-prebuilt-${HostManager.platformName()}-${project.kotlinBuildProperties.defaultSnapshotVersion}.$extension") + ) + ) + + into( + konanDataDir + ) + + doFirst { + delete(konanDataDir) + } } fun Test.includeMppAndAndroid(include: Boolean) = includeTestsWithPattern(include) { @@ -147,6 +192,28 @@ fun Test.includeNative(include: Boolean) = includeTestsWithPattern(include) { addAll(listOf("org.jetbrains.kotlin.gradle.native.*", "*Commonizer*")) } +fun Test.applyKotlinNativeFromCurrentBranchIfNeeded() { + val kotlinNativeFromMasterEnabled = project.kotlinBuildProperties.isKotlinNativeEnabled && project.kotlinBuildProperties.useKotlinNativeLocalDistributionForTests + if (kotlinNativeFromMasterEnabled && !project.kotlinBuildProperties.isTeamcityBuild) { + dependsOn(":kotlin-gradle-plugin-integration-tests:prepareNativeBundleForGradleIT") + } + + // Providing necessary properties for running tests with k/n built from master on the local environment + val defaultSnapshotVersion = project.kotlinBuildProperties.defaultSnapshotVersion + if (kotlinNativeFromMasterEnabled && defaultSnapshotVersion != null) { + systemProperty("kotlinNativeVersion", defaultSnapshotVersion) + systemProperty("konanDataDirForIntegrationTests", konanDataDir) + } + + // Providing necessary properties for running tests with k/n built from master on the TeamCity + if (project.kotlinBuildProperties.isTeamcityBuild) { + System.getProperty("kotlinNativeVersionForGradleIT")?.let { + systemProperty("kotlinNativeVersion", it) + } + systemProperty("konanDataDirForIntegrationTests", konanDataDir) + } +} + fun Test.includeTestsWithPattern(include: Boolean, patterns: (MutableSet).() -> Unit) { if (splitGradleIntegrationTestTasks) { val filter = if (include) @@ -250,6 +317,7 @@ val nativeTestsTask = tasks.register("kgpNativeTests") { excludeTags("JvmKGP", "JsKGP", "DaemonsKGP", "OtherKGP", "MppKGP", "AndroidKGP") includeEngines("junit-jupiter") } + applyKotlinNativeFromCurrentBranchIfNeeded() } // Daemon tests could run only sequentially as they could not be shared between parallel test builds @@ -274,6 +342,7 @@ val otherPluginsTestTask = tasks.register("kgpOtherTests") { excludeTags("JvmKGP", "JsKGP", "NativeKGP", "DaemonsKGP", "MppKGP", "AndroidKGP") includeEngines("junit-jupiter") } + applyKotlinNativeFromCurrentBranchIfNeeded() } val mppTestsTask = tasks.register("kgpMppTests") { @@ -285,6 +354,7 @@ val mppTestsTask = tasks.register("kgpMppTests") { excludeTags("JvmKGP", "JsKGP", "NativeKGP", "DaemonsKGP", "OtherKGP", "AndroidKGP") includeEngines("junit-jupiter") } + applyKotlinNativeFromCurrentBranchIfNeeded() } val androidTestsTask = tasks.register("kgpAndroidTests") { 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 d691fe4c580..b026b9949c1 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 @@ -66,7 +66,7 @@ open class CommonizerIT : KGPBaseTest() { @GradleTest fun testCleanNativeDistributionCommonization(gradleVersion: GradleVersion, @TempDir konanData: Path) { nativeProject("commonizeNativeDistributionWithIosLinuxWindows", gradleVersion) { - val buildOptions = defaultBuildOptions.copy( + val buildOptions = defaultBuildOptions.withBundledKotlinNative().copy( konanDataDir = konanData ) 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 afe20f4a9cb..551b0fdb9d4 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 @@ -834,7 +834,11 @@ class GeneralNativeIT : KGPBaseTest() { } // Check that changing K/N version lead to tasks rerun - build(compileTasks, "-Porg.jetbrains.kotlin.native.version=${TestVersions.Kotlin.STABLE_RELEASE}") { + build( + compileTasks, buildOptions = defaultBuildOptions.copy( + nativeOptions = defaultBuildOptions.nativeOptions.copy(version = TestVersions.Kotlin.STABLE_RELEASE) + ) + ) { assertTasksExecuted(compileTasks) } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/NativeDownloadAndPlatformLibsIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/NativeDownloadAndPlatformLibsIT.kt index c3ba74f1ba8..00ebaa5ef9b 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/NativeDownloadAndPlatformLibsIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/NativeDownloadAndPlatformLibsIT.kt @@ -15,15 +15,12 @@ import org.jetbrains.kotlin.konan.target.HostManager import org.jetbrains.kotlin.konan.target.KonanTarget import org.jetbrains.kotlin.konan.target.presetName import org.junit.jupiter.api.Assumptions -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.nio.file.Path -import java.nio.file.Paths import kotlin.io.path.absolutePathString import kotlin.io.path.appendText -import kotlin.io.path.deleteRecursively // We temporarily disable it for windows until a proper fix is found for this issue: // https://youtrack.jetbrains.com/issue/KT-60138/NativeDownloadAndPlatformLibsIT-fails-on-Windows-OS @@ -43,12 +40,12 @@ class NativeDownloadAndPlatformLibsIT : KGPBaseTest() { private val currentCompilerVersion = NativeCompilerDownloader.DEFAULT_KONAN_VERSION override val defaultBuildOptions: BuildOptions - get() = super.defaultBuildOptions.copy( + get() = super.defaultBuildOptions.withBundledKotlinNative().copy( // For each test in this class, we need to provide an isolated .konan directory, // so we create it within each test project folder konanDataDir = workingDir.resolve(".konan") .toFile() - .apply { mkdirs() }.toPath() + .apply { mkdirs() }.toPath(), ) @OptIn(EnvironmentalVariablesOverride::class) 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 6538f727178..9dfcc47c8f5 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 @@ -26,6 +26,9 @@ class NativeDownloadAndPlatformLibsNonParallelIT : KGPDaemonsBaseTest() { private val platformName: String = HostManager.platformName() private val currentCompilerVersion = NativeCompilerDownloader.DEFAULT_KONAN_VERSION + override val defaultBuildOptions: BuildOptions + get() = super.defaultBuildOptions.withBundledKotlinNative().copy() + @DisplayName("Downloading K/N distribution in default .konan dir") @GradleTest 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 59ae8e5f8bf..42030b48ce3 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 @@ -22,19 +22,20 @@ class NativeWithConfigurationCacheIT : KGPBaseTest() { @GradleTestVersions(minVersion = TestVersions.Gradle.G_8_1) // Since 8.1 Gradle on configuration cache it detects when the build logic accesses the "outside world" more strict https://docs.gradle.org/8.1.1/release-notes.html#configuration-inputs-detection-improvements @GradleTest fun testConfigurationCacheReusedSecondTime(gradleVersion: GradleVersion) { - nativeProject("native-with-configuration-cache", gradleVersion) { - // we need to download compiler on the first build, that is why we are setting custom konan home dir without any compiler inside - val localKonan = workingDir.resolve(".konan") + nativeProject( + "native-with-configuration-cache", gradleVersion, buildOptions = defaultBuildOptions.withBundledKotlinNative().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"), + ) + ) { build( - "help", buildOptions = defaultBuildOptions.copy( - konanDataDir = localKonan - ) + "help" ) { assertOutputContains("Configure project") assertOutputContains("Unpack Kotlin/Native compiler to") } - build("help", "-Pkonan.data.dir=$localKonan") { + build("help") { assertOutputContains("Reusing configuration cache.") } } 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 6d073235538..f4ed284273d 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 @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.gradle.report.BuildReportType import org.junit.jupiter.api.condition.OS import java.nio.file.Path import java.util.* -import kotlin.io.path.absolutePathString data class BuildOptions( val logLevel: LogLevel = LogLevel.INFO, @@ -91,7 +90,7 @@ data class BuildOptions( val reinstall: Boolean? = null, val restrictedDistribution: Boolean? = null, val useXcodeMessageStyle: Boolean? = null, - val version: String? = null, + val version: String? = System.getProperty("kotlinNativeVersion"), val cacheOrchestration: String? = null, val incremental: Boolean? = null, ) @@ -286,4 +285,18 @@ fun BuildOptions.suppressDeprecationWarningsSinceGradleVersion( reason: String, ) = suppressDeprecationWarningsOn(reason) { currentGradleVersion >= GradleVersion.version(gradleVersion) -} \ No newline at end of file +} + +/** + * This wrapper erases k/n version from passing parameters, + * because we should use Kotlin Native bundled in KGP instead of which built from current branch. + * + * In this case we will use k/n version, which declared in KGP. + * + * The most common case is when we override local konan dir for some reason. + */ +fun BuildOptions.withBundledKotlinNative() = copy( + nativeOptions = nativeOptions.copy( + version = null + ) +) \ 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 38e212ab3ce..57c3ab2d301 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 @@ -452,7 +452,17 @@ private fun TestProject.withBuildSummary( } } -val konanDir get() = Paths.get(".").resolve("../../../build").resolve("konan-for-gradle-tests") +/** + * This property is configured reade konan from specific directory, which in teamcity will be filled with k/n built from master. + * NOTE: On changing test konan dir location update related location in kotlin-teamcity-build repository + */ +val konanDir + get() = + System.getProperty("konanDataDirForIntegrationTests")?.let { + Paths.get(it) + } ?: Paths.get(".") + .resolve("../../../.kotlin") + .resolve("konan-for-gradle-tests") /** * On changing test kit dir location update related location in 'cleanTestKitCache' task. diff --git a/libraries/tools/kotlin-gradle-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/metrics/BooleanMetrics.kt b/libraries/tools/kotlin-gradle-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/metrics/BooleanMetrics.kt index ad31b860aa1..b11039d56dc 100644 --- a/libraries/tools/kotlin-gradle-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/metrics/BooleanMetrics.kt +++ b/libraries/tools/kotlin-gradle-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/metrics/BooleanMetrics.kt @@ -13,7 +13,6 @@ enum class BooleanMetrics(val type: BooleanOverridePolicy, val anonymization: Bo // whether the build is executed from IDE or from console EXECUTED_FROM_IDEA(OVERRIDE, SAFE), - // Build script //annotation processors diff --git a/repo/gradle-build-conventions/gradle.properties b/repo/gradle-build-conventions/gradle.properties index 9aec0078a38..9953a07baa4 100644 --- a/repo/gradle-build-conventions/gradle.properties +++ b/repo/gradle-build-conventions/gradle.properties @@ -3,7 +3,7 @@ org.gradle.kotlin.dsl.allWarningsAsErrors=true cacheRedirectorEnabled=true -kotlin.build.gradlePlugin.version=0.0.39 +kotlin.build.gradlePlugin.version=0.0.40 kotlin.options.suppressFreeCompilerArgsModificationWarning=true # Please keep it in sync with root gradle.properties. diff --git a/repo/gradle-settings-conventions/gradle.properties b/repo/gradle-settings-conventions/gradle.properties index c804cccb750..1f8316bfcf1 100644 --- a/repo/gradle-settings-conventions/gradle.properties +++ b/repo/gradle-settings-conventions/gradle.properties @@ -1,4 +1,4 @@ -kotlin.build.gradlePlugin.version=0.0.39 +kotlin.build.gradlePlugin.version=0.0.40 kotlin.options.suppressFreeCompilerArgsModificationWarning=true cacheRedirectorEnabled=true # Should be in sync with ":kotlin-daemon-config" project convention script configuration