|
@@ -9,7 +9,7 @@ buildscript {
|
|
|
dependencies {
|
|
|
classpath libraries.androidGradlePlugin
|
|
|
classpath libraries.kotlinGradlePlugin
|
|
|
- classpath 'io.github.gradle-nexus:publish-plugin:1.1.0'
|
|
|
+ classpath 'io.github.gradle-nexus:publish-plugin:1.3.0'
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -38,9 +38,7 @@ ext {
|
|
|
supportedAbis = ["arm32", "arm64", "x86_32", "x86_64"]
|
|
|
supportedFlavors = ["editor", "template"]
|
|
|
supportedFlavorsBuildTypes = [
|
|
|
- // The editor can't be used with target=release as debugging tools are then not
|
|
|
- // included, and it would crash on errors instead of reporting them.
|
|
|
- "editor": ["dev", "debug"],
|
|
|
+ "editor": ["dev", "debug", "release"],
|
|
|
"template": ["dev", "debug", "release"]
|
|
|
]
|
|
|
|
|
@@ -54,6 +52,7 @@ ext {
|
|
|
|
|
|
def rootDir = "../../.."
|
|
|
def binDir = "$rootDir/bin/"
|
|
|
+def androidEditorBuildsDir = "$binDir/android_editor_builds/"
|
|
|
|
|
|
def getSconsTaskName(String flavor, String buildType, String abi) {
|
|
|
return "compileGodotNativeLibs" + flavor.capitalize() + buildType.capitalize() + abi.capitalize()
|
|
@@ -221,18 +220,46 @@ def isAndroidStudio() {
|
|
|
return sysProps != null && sysProps['idea.platform.prefix'] != null
|
|
|
}
|
|
|
|
|
|
-task copyEditorDebugBinaryToBin(type: Copy) {
|
|
|
+task copyEditorReleaseApkToBin(type: Copy) {
|
|
|
+ dependsOn ':editor:assembleRelease'
|
|
|
+ from('editor/build/outputs/apk/release')
|
|
|
+ into(androidEditorBuildsDir)
|
|
|
+ include('android_editor-release*.apk')
|
|
|
+}
|
|
|
+
|
|
|
+task copyEditorReleaseAabToBin(type: Copy) {
|
|
|
+ dependsOn ':editor:bundleRelease'
|
|
|
+ from('editor/build/outputs/bundle/release')
|
|
|
+ into(androidEditorBuildsDir)
|
|
|
+ include('android_editor-release*.aab')
|
|
|
+}
|
|
|
+
|
|
|
+task copyEditorDebugApkToBin(type: Copy) {
|
|
|
dependsOn ':editor:assembleDebug'
|
|
|
from('editor/build/outputs/apk/debug')
|
|
|
- into(binDir)
|
|
|
- include('android_editor.apk')
|
|
|
+ into(androidEditorBuildsDir)
|
|
|
+ include('android_editor-debug.apk')
|
|
|
}
|
|
|
|
|
|
-task copyEditorDevBinaryToBin(type: Copy) {
|
|
|
+task copyEditorDebugAabToBin(type: Copy) {
|
|
|
+ dependsOn ':editor:bundleDebug'
|
|
|
+ from('editor/build/outputs/bundle/debug')
|
|
|
+ into(androidEditorBuildsDir)
|
|
|
+ include('android_editor-debug.aab')
|
|
|
+}
|
|
|
+
|
|
|
+task copyEditorDevApkToBin(type: Copy) {
|
|
|
dependsOn ':editor:assembleDev'
|
|
|
from('editor/build/outputs/apk/dev')
|
|
|
- into(binDir)
|
|
|
- include('android_editor_dev.apk')
|
|
|
+ into(androidEditorBuildsDir)
|
|
|
+ include('android_editor-dev.apk')
|
|
|
+}
|
|
|
+
|
|
|
+task copyEditorDevAabToBin(type: Copy) {
|
|
|
+ dependsOn ':editor:bundleDev'
|
|
|
+ from('editor/build/outputs/bundle/dev')
|
|
|
+ into(androidEditorBuildsDir)
|
|
|
+ include('android_editor-dev.aab')
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -253,7 +280,8 @@ task generateGodotEditor {
|
|
|
&& targetLibs.isDirectory()
|
|
|
&& targetLibs.listFiles() != null
|
|
|
&& targetLibs.listFiles().length > 0) {
|
|
|
- tasks += "copyEditor${target.capitalize()}BinaryToBin"
|
|
|
+ tasks += "copyEditor${target.capitalize()}ApkToBin"
|
|
|
+ tasks += "copyEditor${target.capitalize()}AabToBin"
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -301,9 +329,11 @@ task cleanGodotEditor(type: Delete) {
|
|
|
// Delete the generated binary apks
|
|
|
delete("editor/build/outputs/apk")
|
|
|
|
|
|
- // Delete the Godot editor apks in the Godot bin directory
|
|
|
- delete("$binDir/android_editor.apk")
|
|
|
- delete("$binDir/android_editor_dev.apk")
|
|
|
+ // Delete the generated aab binaries
|
|
|
+ delete("editor/build/outputs/bundle")
|
|
|
+
|
|
|
+ // Delete the Godot editor apks & aabs in the Godot bin directory
|
|
|
+ delete(androidEditorBuildsDir)
|
|
|
}
|
|
|
|
|
|
/**
|