Bumped max supported gradle version to 8.0 in tests

#KT-56636 Fixed

Merge-request: KT-MR-10723
Merged-by: Dmitrii Krasnov <Dmitrii.Krasnov@jetbrains.com>
This commit is contained in:
Dmitrii Krasnov
2023-06-27 11:39:51 +00:00
committed by Space Team
parent 630c8e9df6
commit 78e288be38
70 changed files with 211 additions and 155 deletions
@@ -24,8 +24,14 @@ class BuildFusStatisticsIT : KGPDaemonsBaseTest() {
//register build service for buildSrc. //register build service for buildSrc.
assertOutputContains("Instantiated class org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatsService: new instance") assertOutputContains("Instantiated class org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatsService: new instance")
assertOutputContains("Instantiated class org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatsService_v2: new instance") assertOutputContains("Instantiated class org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatsService_v2: new instance")
//kotlin 1.4 in kotlinDsl does not create jmx service yet // Since gradle 8 kotlinDsl was updated to 1.8 version
assertOutputContains("Register JMX service for backward compatibility") // https://docs.gradle.org/8.0/release-notes.html#kotlin-dsl-updated-to-kotlin-api-level-1.8 ,
// and it registers old service, so we don't need check with re-registering old version service.
if (gradleVersion < GradleVersion.version(TestVersions.Gradle.G_8_0)) {
// TODO(Dmitrii Krasnov): you can remove this check, when min gradle version becomes 8 or greater
//kotlin 1.4 in kotlinDsl does not create jmx service yet
assertOutputContains("Register JMX service for backward compatibility")
}
assertOutputDoesNotContain("[org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatHandler] Could not execute") assertOutputDoesNotContain("[org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatHandler] Could not execute")
} }
} }
@@ -23,7 +23,8 @@ internal class CompilerOptionsIT : KGPBaseTest() {
@DisplayName("Allows to set kotlinOptions.freeCompilerArgs on task execution with warning") @DisplayName("Allows to set kotlinOptions.freeCompilerArgs on task execution with warning")
@JvmGradlePluginTests @JvmGradlePluginTests
@GradleTestVersions( @GradleTestVersions(
minVersion = TestVersions.Gradle.G_7_3 minVersion = TestVersions.Gradle.G_7_3,
maxVersion = TestVersions.Gradle.G_7_6 // TODO(Dmitrii Krasnov): we don't use TestVersions.Gradle.G_8_0, because there is some problem in printing warn message
) )
@GradleTest @GradleTest
internal fun compatibleWithKotlinDsl(gradleVersion: GradleVersion) { internal fun compatibleWithKotlinDsl(gradleVersion: GradleVersion) {
@@ -87,6 +87,7 @@ class ConfigurationAvoidanceIT : KGPBaseTest() {
buildJdk = providedJdk.location buildJdk = providedJdk.location
) { ) {
gradleProperties.appendText("android.defaults.buildfeatures.aidl=true")
listOf("Android", "Test").forEach { subproject -> listOf("Android", "Test").forEach { subproject ->
subProject(subproject) subProject(subproject)
.buildGradle .buildGradle
@@ -221,8 +221,9 @@ abstract class ExecutionStrategyIT : KGPDaemonsBaseTest() {
assertOutputContains("Using fallback strategy: Compile without Kotlin daemon") assertOutputContains("Using fallback strategy: Compile without Kotlin daemon")
} else if (executionStrategy == KotlinCompilerExecutionStrategy.DAEMON) { } else if (executionStrategy == KotlinCompilerExecutionStrategy.DAEMON) {
// 256m is the default value for Gradle 5.0+ // 256m is the default value for Gradle 5.0+
val defauldJvmSettingsForGivenGradleVersion = if (gradleVersion < GradleVersion.version(TestVersions.Gradle.G_8_0)) "256" else "384"
assertKotlinDaemonJvmOptions( assertKotlinDaemonJvmOptions(
listOf("-XX:MaxMetaspaceSize=256m", "-ea") listOf("-XX:MaxMetaspaceSize=${defauldJvmSettingsForGivenGradleVersion}m", "-ea")
) )
} }
} }
@@ -260,6 +260,7 @@ class JvmTargetValidationTest : KGPBaseTest() {
} }
@DisplayName("Should still do JVM target validation if no java sources are available") @DisplayName("Should still do JVM target validation if no java sources are available")
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
@GradleTest @GradleTest
internal fun shouldDoJvmTargetValidationOnNoJavaSources(gradleVersion: GradleVersion) { internal fun shouldDoJvmTargetValidationOnNoJavaSources(gradleVersion: GradleVersion) {
project( project(
@@ -282,6 +283,8 @@ class JvmTargetValidationTest : KGPBaseTest() {
} }
@DisplayName("Should do JVM target validation if java sources are added and configuration cache is reused") @DisplayName("Should do JVM target validation if java sources are added and configuration cache is reused")
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
@AndroidTestVersions(maxVersion = TestVersions.AGP.AGP_74)
@GradleTest @GradleTest
internal fun shouldDoJvmTargetValidationOnNewJavaSourcesAndConfigurationCacheReuse(gradleVersion: GradleVersion) { internal fun shouldDoJvmTargetValidationOnNewJavaSourcesAndConfigurationCacheReuse(gradleVersion: GradleVersion) {
project( project(
@@ -46,6 +46,7 @@ class Kapt3AndGradleDaemon : KGPDaemonsBaseTest() {
} }
@DisplayName("Annotation processor class should be loaded only once") @DisplayName("Annotation processor class should be loaded only once")
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
@GradleTest @GradleTest
fun testAnnotationProcessorClassIsLoadedOnce(gradleVersion: GradleVersion) { fun testAnnotationProcessorClassIsLoadedOnce(gradleVersion: GradleVersion) {
project( project(
@@ -166,9 +166,8 @@ open class Kapt3IT : Kapt3BaseIT() {
buildGradle.appendText( buildGradle.appendText(
""" """
| |
|java { |kotlin {
| sourceCompatibility = JavaVersion.VERSION_1_8 | jvmToolchain(8)
| targetCompatibility = JavaVersion.VERSION_1_8
|} |}
""".trimMargin() """.trimMargin()
) )
@@ -894,6 +893,8 @@ open class Kapt3IT : Kapt3BaseIT() {
} }
@DisplayName("KT-31127: processor using Filer api does not break 'javaCompile' task") @DisplayName("KT-31127: processor using Filer api does not break 'javaCompile' task")
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
@AndroidTestVersions(maxVersion = TestVersions.AGP.AGP_74)
@GradleTest @GradleTest
fun testKotlinProcessorUsingFiler(gradleVersion: GradleVersion) { fun testKotlinProcessorUsingFiler(gradleVersion: GradleVersion) {
project("kotlinProject", gradleVersion) { project("kotlinProject", gradleVersion) {
@@ -930,10 +931,11 @@ open class Kapt3IT : Kapt3BaseIT() {
@DisplayName("should do annotation processing when 'sourceCompatibility = 8' and JDK is 11+") @DisplayName("should do annotation processing when 'sourceCompatibility = 8' and JDK is 11+")
@JdkVersions(versions = [JavaVersion.VERSION_11]) @JdkVersions(versions = [JavaVersion.VERSION_11])
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
@GradleWithJdkTest @GradleWithJdkTest
fun testSimpleWithJdk11AndSourceLevel8( fun testSimpleWithJdk11AndSourceLevel8(
gradleVersion: GradleVersion, gradleVersion: GradleVersion,
jdk: JdkVersions.ProvidedJdk jdk: JdkVersions.ProvidedJdk,
) { ) {
project( project(
"simple".withPrefix, "simple".withPrefix,
@@ -93,6 +93,7 @@ open class KaptIncrementalWithAggregatingApt : KaptIncrementalIT() {
@DisplayName("Incremental changes in JDK9+") @DisplayName("Incremental changes in JDK9+")
@JdkVersions(versions = [JavaVersion.VERSION_1_9]) @JdkVersions(versions = [JavaVersion.VERSION_1_9])
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
@GradleWithJdkTest @GradleWithJdkTest
fun testIncrementalChangesWithJdk9(gradleVersion: GradleVersion, jdk: JdkVersions.ProvidedJdk) { fun testIncrementalChangesWithJdk9(gradleVersion: GradleVersion, jdk: JdkVersions.ProvidedJdk) {
kaptProject(gradleVersion, buildJdk = jdk.location) { kaptProject(gradleVersion, buildJdk = jdk.location) {
@@ -166,6 +166,7 @@ open class KaptIncrementalWithIsolatingApt : KaptIncrementalIT() {
@DisplayName("KT-33617: sources in compile classpath jars") @DisplayName("KT-33617: sources in compile classpath jars")
@JdkVersions(versions = [JavaVersion.VERSION_11]) @JdkVersions(versions = [JavaVersion.VERSION_11])
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
@GradleWithJdkTest @GradleWithJdkTest
fun testSourcesInCompileClasspathJars(gradleVersion: GradleVersion, jdk: JdkVersions.ProvidedJdk) { fun testSourcesInCompileClasspathJars(gradleVersion: GradleVersion, jdk: JdkVersions.ProvidedJdk) {
kaptProject(gradleVersion, buildJdk = jdk.location) { kaptProject(gradleVersion, buildJdk = jdk.location) {
@@ -245,12 +245,13 @@ class KotlinGradleIT : KGPBaseTest() {
buildOptions = defaultBuildOptions.copy(incremental = true) buildOptions = defaultBuildOptions.copy(incremental = true)
) { ) {
build("assemble") build("assemble")
val buildOptions = buildOptions.copy(
kotlinVersion = TestVersions.Kotlin.STABLE_RELEASE
)
build( build(
"clean", "clean",
"assemble", "assemble",
buildOptions = buildOptions.copy( buildOptions = buildOptions
kotlinVersion = TestVersions.Kotlin.STABLE_RELEASE
)
) )
} }
} }
@@ -508,7 +509,7 @@ class KotlinGradleIT : KGPBaseTest() {
@GradleTest @GradleTest
fun symlinkedBuildDir( fun symlinkedBuildDir(
gradleVersion: GradleVersion, gradleVersion: GradleVersion,
@TempDir tempDir: Path @TempDir tempDir: Path,
) { ) {
project("internalTest", gradleVersion) { project("internalTest", gradleVersion) {
val externalBuildDir = tempDir.resolve("externalBuild") val externalBuildDir = tempDir.resolve("externalBuild")
@@ -659,7 +660,7 @@ class KotlinGradleIT : KGPBaseTest() {
} }
else -> { else -> {
assertOutputContains( assertOutputContains(
"No matching variant of project :projA was found. The consumer was configured to find an API of a library " + "No matching variant of project :projA was found. The consumer was configured to find a library for use during compile-time, " +
"compatible with Java 8, preferably in the form of class files, " + "compatible with Java 8, preferably in the form of class files, " +
"preferably optimized for standard JVMs, and its dependencies declared externally, " + "preferably optimized for standard JVMs, and its dependencies declared externally, " +
"as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'jvm', " + "as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'jvm', " +
@@ -691,7 +692,7 @@ class KotlinGradleIT : KGPBaseTest() {
} }
else -> { else -> {
assertOutputContains( assertOutputContains(
"No matching variant of project :projA was found. The consumer was configured to find an API of a library " + "No matching variant of project :projA was found. The consumer was configured to find a library for use during compile-time, " +
"compatible with Java 8, preferably in the form of class files, preferably optimized for standard JVMs, " + "compatible with Java 8, preferably in the form of class files, preferably optimized for standard JVMs, " +
"and its dependencies declared externally, " + "and its dependencies declared externally, " +
"as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'jvm', " + "as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'jvm', " +
@@ -729,10 +730,12 @@ class KotlinGradleIT : KGPBaseTest() {
buildGradle.modify { buildGradle.modify {
val reorderedClasspath = run { val reorderedClasspath = run {
val (kotlinCompilerEmbeddable, others) = classpath.partition { "kotlin-compiler-embeddable" in it || val (kotlinCompilerEmbeddable, others) = classpath.partition {
"kotlin-compiler-embeddable" in it ||
// build-common should be loaded prior compiler-embedable, otherwise we could depend on old version of // build-common should be loaded prior compiler-embedable, otherwise we could depend on old version of
// serializer classes and fail with NSME // serializer classes and fail with NSME
"kotlin-build-common" in it} "kotlin-build-common" in it
}
others + kotlinCompilerEmbeddable others + kotlinCompilerEmbeddable
} }
val newClasspathString = "classpath files(\n" + reorderedClasspath.joinToString(",\n") { "'$it'" } + "\n)" val newClasspathString = "classpath files(\n" + reorderedClasspath.joinToString(",\n") { "'$it'" } + "\n)"
@@ -12,7 +12,6 @@ import org.gradle.internal.jvm.Jvm
import org.gradle.testkit.runner.BuildResult import org.gradle.testkit.runner.BuildResult
import org.gradle.util.GradleVersion import org.gradle.util.GradleVersion
import org.jetbrains.kotlin.gradle.testbase.* import org.jetbrains.kotlin.gradle.testbase.*
import org.jetbrains.kotlin.test.TestMetadata
import org.junit.jupiter.api.DisplayName import org.junit.jupiter.api.DisplayName
import java.io.File import java.io.File
import kotlin.io.path.appendText import kotlin.io.path.appendText
@@ -564,6 +563,7 @@ class KotlinJavaToolchainTest : KGPBaseTest() {
} }
@DisplayName("JVM target shouldn't be changed when toolchain is not configured") @DisplayName("JVM target shouldn't be changed when toolchain is not configured")
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
@GradleTest @GradleTest
internal fun shouldNotChangeJvmTargetWithNoToolchain(gradleVersion: GradleVersion) { internal fun shouldNotChangeJvmTargetWithNoToolchain(gradleVersion: GradleVersion) {
project( project(
@@ -704,7 +704,7 @@ class KotlinJavaToolchainTest : KGPBaseTest() {
} }
@DisplayName("Toolchain should not override Jvm target configured in project level DSL") @DisplayName("Toolchain should not override Jvm target configured in project level DSL")
@TestMetadata("kotlin-java-toolchain/simple") @GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
@GradleTest @GradleTest
fun toolchainNotOverrideProjectJvmTarget(gradleVersion: GradleVersion) { fun toolchainNotOverrideProjectJvmTarget(gradleVersion: GradleVersion) {
project( project(
@@ -559,7 +559,7 @@ open class NewMultiplatformIT : BaseGradleIT() {
maven { url 'https://plugins.gradle.org/m2/' } maven { url 'https://plugins.gradle.org/m2/' }
} }
dependencies { dependencies {
classpath 'com.github.jengelman.gradle.plugins:shadow:5.0.0' classpath 'com.github.johnrengelman:shadow:${TestVersions.ThirdPartyDependencies.SHADOW_PLUGIN_VERSION}'
} }
} }
@@ -201,7 +201,10 @@ class SimpleKotlinGradleIT : KGPBaseTest() {
@GradleTest @GradleTest
@DisplayName("Should be compatible with project isolation") @DisplayName("Should be compatible with project isolation")
@GradleTestVersions(minVersion = TestVersions.Gradle.G_7_1) @GradleTestVersions(
minVersion = TestVersions.Gradle.G_7_1,
maxVersion = TestVersions.Gradle.G_7_6
)
fun testProjectIsolation(gradleVersion: GradleVersion) { fun testProjectIsolation(gradleVersion: GradleVersion) {
project( project(
projectName = "instantExecution", projectName = "instantExecution",
@@ -236,7 +239,12 @@ class SimpleKotlinGradleIT : KGPBaseTest() {
} }
@DisplayName("Validate Gradle plugins inputs") @DisplayName("Validate Gradle plugins inputs")
@GradleTestVersions(minVersion = TestVersions.Gradle.MAX_SUPPORTED) // Always should use only latest Gradle version // TODO(Dmitrii Krasnov): validate-external-gradle-plugin has been removed in Gradle 8.0,
// so this test should be removed after correct configuring k-g-p and k-g-p-api tasks
@GradleTestVersions(
minVersion = TestVersions.Gradle.G_7_6,
maxVersion = TestVersions.Gradle.G_7_6
) // Always should use only latest Gradle version
@GradleTest @GradleTest
internal fun validatePluginInputs(gradleVersion: GradleVersion) { internal fun validatePluginInputs(gradleVersion: GradleVersion) {
project("kotlinProject", gradleVersion) { project("kotlinProject", gradleVersion) {
@@ -16,6 +16,8 @@ import java.io.File
@AndroidGradlePluginTests @AndroidGradlePluginTests
class Kapt3AndroidExternalIT : Kapt3BaseIT() { class Kapt3AndroidExternalIT : Kapt3BaseIT() {
@DisplayName("kapt works with butterknife") @DisplayName("kapt works with butterknife")
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
@AndroidTestVersions(maxVersion = TestVersions.AGP.AGP_74)
@GradleAndroidTest @GradleAndroidTest
fun testButterKnife( fun testButterKnife(
gradleVersion: GradleVersion, gradleVersion: GradleVersion,
@@ -127,6 +129,8 @@ class Kapt3AndroidExternalIT : Kapt3BaseIT() {
} }
@DisplayName("kapt works with databinding") @DisplayName("kapt works with databinding")
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
@AndroidTestVersions(maxVersion = TestVersions.AGP.AGP_74)
@GradleAndroidTest @GradleAndroidTest
fun testDatabinding( fun testDatabinding(
gradleVersion: GradleVersion, gradleVersion: GradleVersion,
@@ -36,6 +36,8 @@ class Kapt3AndroidIT : Kapt3BaseIT() {
} }
@DisplayName("KT-25374: kapt doesn't fail with anonymous classes with IC") @DisplayName("KT-25374: kapt doesn't fail with anonymous classes with IC")
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
@AndroidTestVersions(maxVersion = TestVersions.AGP.AGP_74)
@GradleAndroidTest @GradleAndroidTest
fun testICWithAnonymousClasses( fun testICWithAnonymousClasses(
gradleVersion: GradleVersion, gradleVersion: GradleVersion,
@@ -119,6 +121,8 @@ class Kapt3AndroidIT : Kapt3BaseIT() {
} }
@DisplayName("KT-31127: kapt doesn't break JavaCompile when using Filer API") @DisplayName("KT-31127: kapt doesn't break JavaCompile when using Filer API")
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
@AndroidTestVersions(maxVersion = TestVersions.AGP.AGP_74)
@GradleAndroidTest @GradleAndroidTest
fun testKotlinProcessorUsingFiler( fun testKotlinProcessorUsingFiler(
gradleVersion: GradleVersion, gradleVersion: GradleVersion,
@@ -144,7 +148,7 @@ class Kapt3AndroidIT : Kapt3BaseIT() {
apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-kapt'
android { android {
libraryVariants.all { libraryVariants.all {
it.generateBuildConfig.enabled = false it.getGenerateBuildConfigProvider().get().enabled = false
} }
} }
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.gradle.internals.KOTLIN_NATIVE_IGNORE_DISABLED_TARGE
import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics
import org.jetbrains.kotlin.gradle.plugin.mpp.NativeOutputKind import org.jetbrains.kotlin.gradle.plugin.mpp.NativeOutputKind
import org.jetbrains.kotlin.gradle.testbase.* import org.jetbrains.kotlin.gradle.testbase.*
import org.jetbrains.kotlin.gradle.testbase.TestVersions.Kotlin.NATIVE_STABLE_RELEASE import org.jetbrains.kotlin.gradle.testbase.TestVersions.Kotlin.STABLE_RELEASE
import org.jetbrains.kotlin.gradle.util.modify import org.jetbrains.kotlin.gradle.util.modify
import org.jetbrains.kotlin.gradle.util.runProcess import org.jetbrains.kotlin.gradle.util.runProcess
import org.jetbrains.kotlin.konan.target.* import org.jetbrains.kotlin.konan.target.*
@@ -911,8 +911,8 @@ class GeneralNativeIT : BaseGradleIT() {
val platform = HostManager.platformName() val platform = HostManager.platformName()
val version = NATIVE_STABLE_RELEASE val version = STABLE_RELEASE
val escapedRegexVersion = Regex.escape(NATIVE_STABLE_RELEASE) val escapedRegexVersion = Regex.escape(STABLE_RELEASE)
build("tasks", "-Pkotlin.native.version=$version") { build("tasks", "-Pkotlin.native.version=$version") {
assertSuccessful() assertSuccessful()
assertContainsRegex("Kotlin/Native distribution: .*kotlin-native-prebuilt-$platform-$escapedRegexVersion".toRegex()) assertContainsRegex("Kotlin/Native distribution: .*kotlin-native-prebuilt-$platform-$escapedRegexVersion".toRegex())
@@ -27,12 +27,11 @@ interface TestVersions {
const val G_8_1 = "8.1" const val G_8_1 = "8.1"
const val MIN_SUPPORTED = minSupportedGradleVersion const val MIN_SUPPORTED = minSupportedGradleVersion
const val MIN_SUPPORTED_KPM = G_7_0 const val MIN_SUPPORTED_KPM = G_7_0
const val MAX_SUPPORTED = G_7_6 const val MAX_SUPPORTED = G_8_0
} }
object Kotlin { object Kotlin {
const val STABLE_RELEASE = "1.6.21" const val STABLE_RELEASE = "1.8.22"
const val NATIVE_STABLE_RELEASE = "1.8.20"
// Copied from KOTLIN_VERSION.kt file // Copied from KOTLIN_VERSION.kt file
val CURRENT val CURRENT
@@ -46,12 +45,12 @@ interface TestVersions {
const val AGP_72 = "7.2.2" const val AGP_72 = "7.2.2"
const val AGP_73 = "7.3.1" const val AGP_73 = "7.3.1"
const val AGP_74 = "7.4.0" const val AGP_74 = "7.4.0"
const val AGP_80 = "8.0.0-beta05" const val AGP_80 = "8.0.2"
const val AGP_81 = "8.1.0-alpha08" const val AGP_81 = "8.1.0-alpha08"
const val AGP_82 = "8.2.0-alpha09" const val AGP_82 = "8.2.0-alpha09"
const val MIN_SUPPORTED = AGP_42 // KotlinAndroidPlugin.minimalSupportedAgpVersion const val MIN_SUPPORTED = AGP_42 // KotlinAndroidPlugin.minimalSupportedAgpVersion
const val MAX_SUPPORTED = AGP_74 // Update once Gradle MAX_SUPPORTED version will be bumped const val MAX_SUPPORTED = AGP_80 // Update once Gradle MAX_SUPPORTED version will be bumped
} }
enum class AgpCompatibilityMatrix( enum class AgpCompatibilityMatrix(
@@ -79,4 +78,8 @@ interface TestVersions {
object AppleGradlePlugin { object AppleGradlePlugin {
const val V222_0_21 = "222.4550-0.21" const val V222_0_21 = "222.4550-0.21"
} }
object ThirdPartyDependencies {
const val SHADOW_PLUGIN_VERSION = "8.1.1"
}
} }
@@ -17,8 +17,15 @@ apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-parcelize' apply plugin: 'kotlin-parcelize'
android { android {
namespace "com.example.dagger.kotlin"
compileSdkVersion 23 compileSdkVersion 23
buildFeatures {
buildConfig = true
}
defaultConfig { defaultConfig {
applicationId "com.example.dagger.kotlin" applicationId "com.example.dagger.kotlin"
minSdkVersion 14 minSdkVersion 14
@@ -52,3 +59,7 @@ dependencies {
kapt 'javax.annotation:javax.annotation-api:1.3.2' kapt 'javax.annotation:javax.annotation-api:1.3.2'
compileOnly 'org.glassfish:javax.annotation:10.0-b28' compileOnly 'org.glassfish:javax.annotation:10.0-b28'
} }
kotlin {
jvmToolchain(8)
}
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.dagger.kotlin"> <manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application <application
android:allowBackup="true" android:allowBackup="true"
@@ -1,2 +1 @@
org.gradle.jvmargs=-XX:MaxPermSize=512m
kapt.info.as.warnings=true kapt.info.as.warnings=true
@@ -13,6 +13,8 @@ dependencies {
} }
android { android {
namespace "com.github.frankiesardo.icepick"
compileSdkVersion 23 compileSdkVersion 23
defaultConfig { defaultConfig {
@@ -23,10 +25,8 @@ android {
versionName "1.0" versionName "1.0"
} }
// Needed for older AGP. It can be removed when the lowest supported AGP version is 4.2.0 or newer. kotlin {
compileOptions { jvmToolchain(8)
sourceCompatibility 1.8
targetCompatibility 1.8
} }
lintOptions { lintOptions {
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.github.frankiesardo.icepick"
android:versionCode="1" android:versionCode="1"
android:versionName="1.0"> android:versionName="1.0">
@@ -2,6 +2,9 @@ apply plugin: 'com.android.application'
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android'
android { android {
namespace "com.example"
compileSdkVersion 23 compileSdkVersion 23
defaultConfig { defaultConfig {
@@ -12,11 +15,10 @@ android {
versionName "1.0" versionName "1.0"
} }
// Needed for older AGP. It can be removed when the lowest supported AGP version is 4.2.0 or newer. kotlin {
compileOptions { jvmToolchain(8)
sourceCompatibility 1.8
targetCompatibility 1.8
} }
buildTypes.release.minifyEnabled = false buildTypes.release.minifyEnabled = false
lintOptions.abortOnError = false lintOptions.abortOnError = false
} }
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example" > <manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application> <application>
<activity android:name=".KotlinActivity"/> <activity android:name=".KotlinActivity"/>
</application> </application>
@@ -2,6 +2,8 @@ apply plugin: 'com.android.library'
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android'
android { android {
namespace "com.example.lib"
compileSdkVersion 23 compileSdkVersion 23
defaultConfig { defaultConfig {
@@ -10,12 +12,10 @@ android {
versionCode 1 versionCode 1
versionName "1.0" versionName "1.0"
} }
kotlin {
// Needed for older AGP. It can be removed when the lowest supported AGP version is 4.2.0 or newer. jvmToolchain(8)
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
} }
buildTypes.release.minifyEnabled = false buildTypes.release.minifyEnabled = false
lintOptions.abortOnError = false lintOptions.abortOnError = false
} }
@@ -1,3 +1,3 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.lib" > <manifest xmlns:android="http://schemas.android.com/apk/res/android">
</manifest> </manifest>
@@ -2,6 +2,9 @@ apply plugin: 'com.android.library'
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android'
android { android {
namespace "com.example.lib2"
compileSdkVersion 23 compileSdkVersion 23
defaultConfig { defaultConfig {
@@ -11,11 +14,10 @@ android {
versionName "1.0" versionName "1.0"
} }
// Needed for older AGP. It can be removed when the lowest supported AGP version is 4.2.0 or newer. kotlin {
compileOptions { jvmToolchain(8)
sourceCompatibility 1.8
targetCompatibility 1.8
} }
buildTypes.release.minifyEnabled = false buildTypes.release.minifyEnabled = false
lintOptions.abortOnError = false lintOptions.abortOnError = false
} }
@@ -1,3 +1,3 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.lib2" > <manifest xmlns:android="http://schemas.android.com/apk/res/android">
</manifest> </manifest>
@@ -4,7 +4,7 @@ dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
} }
java { kotlin {
sourceCompatibility = JavaVersion.VERSION_1_8 jvmToolchain(8)
targetCompatibility = JavaVersion.VERSION_1_8
} }
@@ -14,6 +14,9 @@ apply plugin: 'com.android.application'
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android'
android { android {
namespace 'com.example'
compileSdkVersion 23 compileSdkVersion 23
defaultConfig { defaultConfig {
@@ -50,3 +53,7 @@ dependencies {
implementation 'com.android.support:appcompat-v7:23.1.1' implementation 'com.android.support:appcompat-v7:23.1.1'
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
} }
kotlin {
jvmToolchain(8)
}
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example" > <manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application> <application>
<activity android:name=".JavaActivity"> <activity android:name=".JavaActivity">
@@ -20,6 +20,7 @@ apply plugin: 'com.android.library'
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android'
android { android {
namespace "org.jetbrains.kotlin.gradle.test.android.libalfa"
compileSdkVersion 23 compileSdkVersion 23
} }
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.jetbrains.kotlin.gradle.test.android.libalfa"
android:versionCode="1" android:versionCode="1"
android:versionName="1.0" > android:versionName="1.0" >
@@ -3,6 +3,8 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-parcelize' apply plugin: 'kotlin-parcelize'
android { android {
namespace "com.example.parcelize"
compileSdkVersion 23 compileSdkVersion 23
defaultConfig { defaultConfig {
@@ -13,11 +15,10 @@ android {
versionName "1.0" versionName "1.0"
} }
// Needed for older AGP. It can be removed when the lowest supported AGP version is 4.2.0 or newer. kotlin {
compileOptions { jvmToolchain(8)
sourceCompatibility 1.8
targetCompatibility 1.8
} }
sourceSets { sourceSets {
main.java.srcDirs += 'src/main/kotlin' main.java.srcDirs += 'src/main/kotlin'
} }
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.parcelize"> <manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application android:label="app_name"> <application android:label="app_name">
<activity <activity
@@ -10,8 +10,14 @@ repositories {
} }
android { android {
namespace "com.example"
compileSdkVersion 33 compileSdkVersion 33
kotlin {
jvmToolchain(8)
}
defaultConfig { defaultConfig {
applicationId "com.example" applicationId "com.example"
minSdkVersion 24 minSdkVersion 24
@@ -19,12 +25,6 @@ android {
versionCode 1 versionCode 1
versionName "1.0" versionName "1.0"
} }
// Needed for older AGP. It can be removed when the lowest supported AGP version is 4.2.0 or newer.
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
} }
dependencies { dependencies {
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example" > <manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application> <application>
<activity android:name=".KotlinActivity"/> <activity android:name=".KotlinActivity"/>
</application> </application>
@@ -18,7 +18,7 @@ kotlin {
js { js {
tasks.register("checkConfigurationsResolve") { tasks.register("checkConfigurationsResolve") {
doLast { doLast {
configurations.named(compilations["main"].npmAggregatedConfigurationName).resolve() configurations.named(compilations["main"].npmAggregatedConfigurationName).get().resolve()
} }
} }
} }
@@ -2,7 +2,6 @@ plugins {
id "org.jetbrains.kotlin.jvm" id "org.jetbrains.kotlin.jvm"
} }
java { kotlin {
sourceCompatibility = JavaVersion.VERSION_1_8 jvmToolchain(8)
targetCompatibility = JavaVersion.VERSION_1_8
} }
@@ -3,6 +3,8 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-kapt'
android { android {
namespace "org.example.kotlin.butterknife"
compileSdkVersion 23 compileSdkVersion 23
defaultConfig { defaultConfig {
@@ -20,9 +22,8 @@ android {
} }
} }
compileOptions { kotlin {
sourceCompatibility 1.8 jvmToolchain(8)
targetCompatibility 1.8
} }
sourceSets { sourceSets {
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android">
package="org.example.kotlin.butterknife">
<application <application
android:label="@string/app_name" android:label="@string/app_name"
@@ -3,8 +3,13 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-kapt'
android { android {
namespace "com.example.dagger.kotlin"
compileSdkVersion 23 compileSdkVersion 23
kotlin {
jvmToolchain(8)
}
defaultConfig { defaultConfig {
applicationId "com.example.dagger.kotlin" applicationId "com.example.dagger.kotlin"
minSdkVersion 14 minSdkVersion 14
@@ -13,11 +18,6 @@ android {
versionName "1.0" versionName "1.0"
} }
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
buildTypes { buildTypes {
release { release {
minifyEnabled false minifyEnabled false
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.dagger.kotlin"> <manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application <application
android:allowBackup="true" android:allowBackup="true"
@@ -3,6 +3,8 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-kapt'
android { android {
namespace "com.example.databinding"
compileSdkVersion 32 compileSdkVersion 32
defaultConfig { defaultConfig {
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android">
package="com.example.databinding">
<application <application
android:allowBackup="true" android:allowBackup="true"
@@ -3,6 +3,7 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-kapt'
android { android {
namespace "org.maw.library"
compileSdkVersion 32 compileSdkVersion 32
defaultConfig { defaultConfig {
@@ -1 +1 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.maw.library"/> <manifest xmlns:android="http://schemas.android.com/apk/res/android"/>
@@ -3,6 +3,7 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-kapt'
android { android {
namespace "mobi.porquenao.poc.kotlin"
compileSdkVersion 23 compileSdkVersion 23
defaultConfig { defaultConfig {
@@ -15,9 +16,8 @@ android {
main.java.srcDirs += 'src/main/kotlin' main.java.srcDirs += 'src/main/kotlin'
} }
compileOptions { kotlin {
sourceCompatibility 1.8 jvmToolchain(8)
targetCompatibility 1.8
} }
} }
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest <manifest
package="mobi.porquenao.poc.kotlin"
xmlns:android="http://schemas.android.com/apk/res/android"> xmlns:android="http://schemas.android.com/apk/res/android">
<application <application
@@ -3,6 +3,8 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-kapt'
android { android {
namespace "org.example.inter.project.ic"
compileSdkVersion 23 compileSdkVersion 23
defaultConfig { defaultConfig {
@@ -13,10 +15,8 @@ android {
versionName "1.0" versionName "1.0"
} }
// Needed for older AGP. It can be removed when the lowest supported AGP version is 4.2.0 or newer. kotlin {
compileOptions { jvmToolchain(8)
sourceCompatibility 1.8
targetCompatibility 1.8
} }
} }
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android">
package="org.example.inter.project.ic">
<application android:name=".App"> <application android:name=".App">
</application> </application>
@@ -2,6 +2,8 @@ apply plugin: 'com.android.library'
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android'
android { android {
namespace "org.example.inter.project.ic.androidLib"
compileSdkVersion 23 compileSdkVersion 23
defaultConfig { defaultConfig {
@@ -11,10 +13,8 @@ android {
versionName "1.0" versionName "1.0"
} }
// Needed for older AGP. It can be removed when the lowest supported AGP version is 4.2.0 or newer. kotlin {
compileOptions { jvmToolchain(8)
sourceCompatibility 1.8
targetCompatibility 1.8
} }
} }
@@ -1,3 +1,3 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.example.inter.project.ic.androidLib"/> <manifest xmlns:android="http://schemas.android.com/apk/res/android"/>
@@ -4,7 +4,6 @@ dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
} }
java { kotlin {
sourceCompatibility = JavaVersion.VERSION_1_8 jvmToolchain(8)
targetCompatibility = JavaVersion.VERSION_1_8
} }
@@ -17,6 +17,7 @@ plugins {
apply plugin: 'realm-android' apply plugin: 'realm-android'
android { android {
namespace "io.realm.examples.kotlin"
compileSdkVersion 23 compileSdkVersion 23
defaultConfig { defaultConfig {
applicationId 'io.realm.examples.kotlin' applicationId 'io.realm.examples.kotlin'
@@ -32,9 +33,8 @@ android {
} }
} }
compileOptions { kotlin {
sourceCompatibility 1.8 jvmToolchain(8)
targetCompatibility 1.8
} }
} }
@@ -1,5 +1,4 @@
<manifest package="io.realm.examples.kotlin" <manifest xmlns:android="http://schemas.android.com/apk/res/android">
xmlns:android="http://schemas.android.com/apk/res/android">
<application <application
android:allowBackup="true" android:allowBackup="true"
@@ -17,6 +17,7 @@ apply plugin: 'kotlin-kapt'
apply plugin: 'androidx.navigation.safeargs' apply plugin: 'androidx.navigation.safeargs'
android { android {
namespace "test.androidx.navigation"
compileSdkVersion 28 compileSdkVersion 28
defaultConfig { defaultConfig {
applicationId 'test.androidx.navigation' applicationId 'test.androidx.navigation'
@@ -32,9 +33,8 @@ android {
} }
} }
compileOptions { kotlin {
sourceCompatibility 1.8 jvmToolchain(8)
targetCompatibility 1.8
} }
dexOptions { dexOptions {
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android">
package="test.androidx.navigation">
<application <application
android:allowBackup="true" android:allowBackup="true"
@@ -16,27 +16,30 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-kapt'
android { android {
compileSdkVersion 27 namespace "com.example.databinding"
defaultConfig { compileSdkVersion 27
applicationId "org.kotlinlang.test"
minSdkVersion 16 defaultConfig {
targetSdkVersion 27 applicationId "org.kotlinlang.test"
versionCode 1 minSdkVersion 16
versionName "1.0" targetSdkVersion 27
}
// Needed for older AGP. It can be removed when the lowest supported AGP version is 4.2.0 or newer. versionCode 1
compileOptions { versionName "1.0"
sourceCompatibility 1.8 }
targetCompatibility 1.8
}
dataBinding {
enabled true // Needed for older AGP. It can be removed when the lowest supported AGP version is 4.2.0 or newer.
} compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
dataBinding {
enabled true
}
} }
repositories { repositories {
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android">
package="com.example.databinding">
<application android:label="test"> <application android:label="test">
<activity android:name=".MainActivity"> <activity android:name=".MainActivity">
<intent-filter> <intent-filter>
@@ -3,8 +3,14 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-kapt'
android { android {
namespace "com.example.kt15001"
compileSdkVersion 23 compileSdkVersion 23
kotlin {
jvmToolchain(8)
}
defaultConfig { defaultConfig {
applicationId "com.example.kt15001" applicationId "com.example.kt15001"
minSdkVersion 23 minSdkVersion 23
@@ -13,12 +19,6 @@ android {
versionName "1.0" versionName "1.0"
} }
// Needed for older AGP. It can be removed when the lowest supported AGP version is 4.2.0 or newer.
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
buildTypes { buildTypes {
release { release {
minifyEnabled false minifyEnabled false
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android">
package="com.example.kt15001">
<application <application
android:allowBackup="true" android:allowBackup="true"
@@ -12,9 +12,8 @@ repositories {
} }
} }
java { kotlin {
sourceCompatibility = JavaVersion.VERSION_1_8 jvmToolchain(8)
targetCompatibility = JavaVersion.VERSION_1_8
} }
dependencies { dependencies {
@@ -8,6 +8,9 @@ plugins {
android { android {
namespace = "com.example" namespace = "com.example"
compileSdk = 24 compileSdk = 24
kotlin {
jvmToolchain(8)
}
} }
repositories { repositories {
@@ -1 +1 @@
org.gradle.jvmargs=-Xmx1024m -XX:MaxPermSize=512m org.gradle.jvmargs=-Xmx1024m
@@ -10,6 +10,9 @@ repositories {
} }
android { android {
namespace "com.revolut.cmdemo"
compileSdkVersion 31 compileSdkVersion 31
buildTypes { buildTypes {
release { release {
@@ -18,9 +21,8 @@ android {
} }
} }
compileOptions { kotlin {
sourceCompatibility 1.8 jvmToolchain(8)
targetCompatibility 1.8
} }
} }
@@ -1,4 +1,3 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest <manifest>
package="com.revolut.cmdemo">
</manifest> </manifest>