Browse Source

Merge pull request #61579 from madmiraal/android-kotlin-java-version

Ensure Android Java and Kotlin compile to the same version
Rémi Verschelde 3 years ago
parent
commit
cd7871867f

+ 10 - 3
platform/android/java/app/build.gradle

@@ -1,6 +1,4 @@
 // Gradle build config for Godot Engine's Android port.
-apply from: 'config.gradle'
-
 buildscript {
     apply from: 'config.gradle'
 
@@ -14,7 +12,12 @@ buildscript {
     }
 }
 
-apply plugin: 'com.android.application'
+plugins {
+    id 'com.android.application'
+    id 'org.jetbrains.kotlin.android'
+}
+
+apply from: 'config.gradle'
 
 allprojects {
     repositories {
@@ -79,6 +82,10 @@ android {
         targetCompatibility versions.javaVersion
     }
 
+    kotlinOptions {
+        jvmTarget = versions.javaVersion
+    }
+
     assetPacks = [":assetPacks:installTime"]
 
     defaultConfig {

+ 3 - 2
platform/android/java/app/config.gradle

@@ -4,8 +4,9 @@ ext.versions = [
     minSdk             : 19, // Also update 'platform/android/java/lib/AndroidManifest.xml#minSdkVersion' & 'platform/android/export/export_plugin.cpp#DEFAULT_MIN_SDK_VERSION'
     targetSdk          : 30, // Also update 'platform/android/java/lib/AndroidManifest.xml#targetSdkVersion' & 'platform/android/export/export_plugin.cpp#DEFAULT_TARGET_SDK_VERSION'
     buildTools         : '30.0.3',
-    kotlinVersion      : '1.6.10',
+    kotlinVersion      : '1.6.21',
     fragmentVersion    : '1.3.6',
+    nexusPublishVersion: '1.1.0',
     javaVersion        : 11,
     ndkVersion         : '21.4.7075529' // Also update 'platform/android/detect.py#get_project_ndk_version()' when this is updated.
 
@@ -14,7 +15,7 @@ ext.versions = [
 ext.libraries = [
     androidGradlePlugin: "com.android.tools.build:gradle:$versions.androidGradlePlugin",
     kotlinGradlePlugin : "org.jetbrains.kotlin:kotlin-gradle-plugin:$versions.kotlinVersion",
-    kotlinStdLib       : "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$versions.kotlinVersion",
+    kotlinStdLib       : "org.jetbrains.kotlin:kotlin-stdlib:$versions.kotlinVersion",
     androidxFragment   : "androidx.fragment:fragment:$versions.fragmentVersion",
 ]
 

+ 13 - 0
platform/android/java/app/settings.gradle

@@ -1,2 +1,15 @@
 // This is the root directory of the Godot custom build.
+pluginManagement {
+    apply from: 'config.gradle'
+
+    plugins {
+        id 'com.android.application' version versions.androidGradlePlugin
+        id 'org.jetbrains.kotlin.android' version versions.kotlinVersion
+    }
+    repositories {
+        gradlePluginPortal()
+        google()
+    }
+}
+
 include ':assetPacks:installTime'

+ 7 - 4
platform/android/java/build.gradle

@@ -1,7 +1,3 @@
-apply plugin: 'io.github.gradle-nexus.publish-plugin'
-apply from: 'app/config.gradle'
-apply from: 'scripts/publish-root.gradle'
-
 buildscript {
     apply from: 'app/config.gradle'
 
@@ -17,6 +13,13 @@ buildscript {
     }
 }
 
+plugins {
+    id 'io.github.gradle-nexus.publish-plugin'
+}
+
+apply from: 'app/config.gradle'
+apply from: 'scripts/publish-root.gradle'
+
 allprojects {
     repositories {
         google()

+ 8 - 1
platform/android/java/editor/build.gradle

@@ -1,5 +1,8 @@
 // Gradle build config for Godot Engine's Android port.
-apply plugin: 'com.android.application'
+plugins {
+    id 'com.android.application'
+    id 'org.jetbrains.kotlin.android'
+}
 
 dependencies {
     implementation libraries.kotlinStdLib
@@ -31,6 +34,10 @@ android {
         targetCompatibility versions.javaVersion
     }
 
+    kotlinOptions {
+        jvmTarget = versions.javaVersion
+    }
+
     buildTypes {
         dev {
             initWith debug

+ 8 - 2
platform/android/java/lib/build.gradle

@@ -1,5 +1,7 @@
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
+plugins {
+    id 'com.android.library'
+    id 'org.jetbrains.kotlin.android'
+}
 
 ext {
     PUBLISH_VERSION = getGodotPublishVersion()
@@ -34,6 +36,10 @@ android {
         targetCompatibility versions.javaVersion
     }
 
+    kotlinOptions {
+        jvmTarget = versions.javaVersion
+    }
+
     buildTypes {
         dev {
             initWith debug

+ 5 - 0
platform/android/java/nativeSrcsConfigs/build.gradle

@@ -1,6 +1,7 @@
 // Non functional android library used to provide Android Studio editor support to the project.
 plugins {
     id 'com.android.library'
+    id 'org.jetbrains.kotlin.android'
 }
 
 android {
@@ -18,6 +19,10 @@ android {
         targetCompatibility versions.javaVersion
     }
 
+    kotlinOptions {
+        jvmTarget = versions.javaVersion
+    }
+
     packagingOptions {
         exclude 'META-INF/LICENSE'
         exclude 'META-INF/NOTICE'

+ 15 - 0
platform/android/java/settings.gradle

@@ -1,4 +1,19 @@
 // Configure the root project.
+pluginManagement {
+    apply from: 'app/config.gradle'
+
+    plugins {
+        id 'com.android.application' version versions.androidGradlePlugin
+        id 'com.android.library' version versions.androidGradlePlugin
+        id 'org.jetbrains.kotlin.android' version versions.kotlinVersion
+        id 'io.github.gradle-nexus.publish-plugin' version versions.nexusPublishVersion
+    }
+    repositories {
+        gradlePluginPortal()
+        google()
+    }
+}
+
 rootProject.name = "Godot"
 
 include ':app'