From 862f8f235ce173c6941d755e5641909ccdc8bd2a Mon Sep 17 00:00:00 2001 From: "Alexander.Likhachev" Date: Wed, 7 Jun 2023 18:03:43 +0200 Subject: [PATCH] [Build] Bump Gradle version to 8.1.1 #KTI-1221 In Progress --- buildSrc/build.gradle.kts | 11 ++++------ buildSrc/src/main/kotlin/CommonUtil.kt | 7 +++++- buildSrc/src/main/kotlin/GradleCommon.kt | 5 ++++- .../kotlin/common-configuration.gradle.kts | 3 ++- .../plugins/KotlinBuildPublishingPlugin.kt | 1 + gradle/verification-metadata.xml | 8 +------ gradle/wrapper/gradle-wrapper.properties | 4 ++-- kotlin-native/build-tools/build.gradle.kts | 9 ++++---- kotlin-native/libllvmext/build.gradle.kts | 1 + .../plugin/konan/tasks/KonanBaseTasks.kt | 22 +++++++++---------- .../kotlin/code/CodeConformanceTest.kt | 3 ++- 11 files changed, 38 insertions(+), 36 deletions(-) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index df012fd6f1d..ab31f66d926 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -133,13 +133,10 @@ fun Project.samWithReceiver(configure: org.jetbrains.kotlin.samWithReceiver.grad extensions.configure("samWithReceiver", configure) tasks.withType().configureEach { - kotlinOptions { - allWarningsAsErrors = true - freeCompilerArgs += listOf( - "-opt-in=kotlin.RequiresOptIn", - "-Xsuppress-version-warnings", - "-opt-in=kotlin.ExperimentalStdlibApi" - ) + compilerOptions { + allWarningsAsErrors.set(true) + optIn.add("kotlin.ExperimentalStdlibApi") + freeCompilerArgs.add("-Xsuppress-version-warnings") } } diff --git a/buildSrc/src/main/kotlin/CommonUtil.kt b/buildSrc/src/main/kotlin/CommonUtil.kt index ca8555d175a..4a6bb5b015f 100644 --- a/buildSrc/src/main/kotlin/CommonUtil.kt +++ b/buildSrc/src/main/kotlin/CommonUtil.kt @@ -14,6 +14,7 @@ import org.gradle.api.tasks.bundling.AbstractArchiveTask import org.gradle.kotlin.dsl.* import proguard.gradle.ProGuardTask import java.io.File +import java.util.* import java.util.concurrent.Callable inline fun Project.task(noinline configuration: T.() -> Unit) = tasks.registering(T::class, configuration) @@ -91,4 +92,8 @@ val Project.isIdeaActive get() = providers.systemProperty("idea.active").isPresent val Project.intellijCommunityDir: File - get() = rootDir.resolve("intellij/community").takeIf { it.isDirectory } ?: rootDir.resolve("intellij") \ No newline at end of file + get() = rootDir.resolve("intellij/community").takeIf { it.isDirectory } ?: rootDir.resolve("intellij") + +fun String.capitalize(): String = capitalize(Locale.ROOT) + +fun String.capitalize(locale: Locale): String = replaceFirstChar { if (it.isLowerCase()) it.titlecase(locale) else it.toString() } \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/GradleCommon.kt b/buildSrc/src/main/kotlin/GradleCommon.kt index 3224af1ac9b..76c63d382a2 100644 --- a/buildSrc/src/main/kotlin/GradleCommon.kt +++ b/buildSrc/src/main/kotlin/GradleCommon.kt @@ -356,7 +356,10 @@ fun Project.reconfigureMainSourcesSetForGradlePlugin( tasks.named(compileJavaTaskName).get().apply { attribute( TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, - targetCompatibility.toInt() + when (targetCompatibility) { + "1.8" -> 8 + else -> targetCompatibility.toInt() + } ) } } diff --git a/buildSrc/src/main/kotlin/common-configuration.gradle.kts b/buildSrc/src/main/kotlin/common-configuration.gradle.kts index 06d76d45adc..e00353cfec6 100644 --- a/buildSrc/src/main/kotlin/common-configuration.gradle.kts +++ b/buildSrc/src/main/kotlin/common-configuration.gradle.kts @@ -1,3 +1,4 @@ +import org.gradle.internal.deprecation.DeprecatableConfiguration import org.jetbrains.kotlin.gradle.plugin.KotlinBasePluginWrapper // Contains common configuration that should be applied to all projects @@ -14,7 +15,7 @@ dependencies { configurations.all { if (isCanBeResolved && !isCanBeConsumed) { allDependencies.configureEach { - if (group == "com.google.code.gson" && name == "gson") { + if (group == "com.google.code.gson" && name == "gson" && (this as? DeprecatableConfiguration)?.isCanBeDeclaredAgainst == true) { // isCanBeDeclaredAgainst will be a part of the public API since 8.2 https://github.com/gradle/gradle/pull/24823 this@constraints.add(this@all.name, "com.google.code.gson:gson") { version { require(gsonVersion) diff --git a/buildSrc/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt b/buildSrc/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt index 5ba18ba73c7..b72c4b01d1b 100644 --- a/buildSrc/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt +++ b/buildSrc/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt @@ -5,6 +5,7 @@ package plugins +import capitalize import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.api.attributes.Usage diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 8f33f996915..99134afb557 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -1,5 +1,5 @@ - + true false @@ -6891,12 +6891,6 @@ - - - - - - diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ecf3e6ed924..2c3425d49ec 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=6147605a23b4eff6c334927a86ff3508cb5d6722cd624c97ded4c2e8640f1f87 -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip +distributionSha256Sum=e111cb9948407e26351227dabce49822fb88c37ee72f1d1582a69c68af2e702f +distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/kotlin-native/build-tools/build.gradle.kts b/kotlin-native/build-tools/build.gradle.kts index ff013f0c75f..0590cb50f04 100644 --- a/kotlin-native/build-tools/build.gradle.kts +++ b/kotlin-native/build-tools/build.gradle.kts @@ -73,12 +73,13 @@ val compileKotlin: KotlinCompile by tasks val compileGroovy: GroovyCompile by tasks compileKotlin.apply { - kotlinOptions { - freeCompilerArgs += listOf( + compilerOptions { + optIn.add("kotlin.ExperimentalStdlibApi") + freeCompilerArgs.addAll( + listOf( "-Xskip-prerelease-check", "-Xsuppress-version-warnings", - "-opt-in=kotlin.ExperimentalStdlibApi", - "-opt-in=kotlin.RequiresOptIn" + ) ) } } diff --git a/kotlin-native/libllvmext/build.gradle.kts b/kotlin-native/libllvmext/build.gradle.kts index ef2ed20e9ed..defea47378b 100644 --- a/kotlin-native/libllvmext/build.gradle.kts +++ b/kotlin-native/libllvmext/build.gradle.kts @@ -43,6 +43,7 @@ native { OSX -> { cxxflags += "-DKONAN_MACOS=1" } + else -> Unit } suffixes { (".cpp" to ".$obj") { diff --git a/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanBaseTasks.kt b/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanBaseTasks.kt index 357914b38df..80e985d7292 100644 --- a/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanBaseTasks.kt +++ b/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanBaseTasks.kt @@ -25,11 +25,11 @@ import org.gradle.api.attributes.Attribute import org.gradle.api.attributes.AttributeContainer import org.gradle.api.attributes.Usage import org.gradle.api.capabilities.Capability +import org.gradle.api.internal.component.DefaultSoftwareComponentVariant import org.gradle.api.internal.component.UsageContext import org.gradle.api.internal.tasks.DefaultTaskDependency import org.gradle.api.tasks.* import org.gradle.language.cpp.CppBinary -import org.gradle.language.cpp.internal.DefaultUsageContext import org.gradle.nativeplatform.Linkage import org.jetbrains.kotlin.gradle.plugin.experimental.internal.compatibleVariantIdentity import org.jetbrains.kotlin.gradle.plugin.konan.* @@ -119,17 +119,15 @@ abstract class KonanArtifactTask: KonanTargetableTask(), KonanArtifactSpec { val linkUsage = objectFactory.named(Usage::class.java, Usage.NATIVE_LINK) val konanSoftwareComponent = config.mainVariant val variantName = "${artifactNameWithoutSuffix}_${target.name}" - val context = DefaultUsageContext(object:UsageContext { - @Suppress("OVERRIDE_DEPRECATION") - override fun getUsage(): Usage = linkUsage - override fun getName(): String = "${variantName}Link" - override fun getCapabilities(): MutableSet = mutableSetOf() - override fun getDependencies(): MutableSet = mutableSetOf() - override fun getDependencyConstraints(): MutableSet = mutableSetOf() - override fun getArtifacts(): MutableSet = platformConfiguration.allArtifacts - override fun getAttributes(): AttributeContainer = platformConfiguration.attributes - override fun getGlobalExcludes(): Set = emptySet() - }, platformConfiguration.allArtifacts, platformConfiguration) + val context = DefaultSoftwareComponentVariant( + "${variantName}Link", + platformConfiguration.attributes, + platformConfiguration.allArtifacts, + mutableSetOf(), + mutableSetOf(), + mutableSetOf(), + emptySet(), + ) konanSoftwareComponent.addVariant( compatibleVariantIdentity( project, diff --git a/repo/codebase-tests/tests/org/jetbrains/kotlin/code/CodeConformanceTest.kt b/repo/codebase-tests/tests/org/jetbrains/kotlin/code/CodeConformanceTest.kt index bd341f0e142..c3839aacfbd 100644 --- a/repo/codebase-tests/tests/org/jetbrains/kotlin/code/CodeConformanceTest.kt +++ b/repo/codebase-tests/tests/org/jetbrains/kotlin/code/CodeConformanceTest.kt @@ -141,7 +141,8 @@ class CodeConformanceTest : TestCase() { "repo/gradle-settings-conventions/build-cache/build/generated-sources", "repo/gradle-settings-conventions/jvm-toolchain-provisioning/build/generated-sources", "repo/gradle-settings-conventions/gradle-enterprise/build/generated-sources", - "repo/gradle-settings-conventions/kotlin-daemon-config/build/generated-sources" + "repo/gradle-settings-conventions/kotlin-daemon-config/build/generated-sources", + ".gradle/expanded", ) ) }