From 0181e89e437ee2017a7a376b90285d78883aef0a Mon Sep 17 00:00:00 2001 From: Fredia Huya-Kouadio Date: Wed, 27 May 2020 12:04:31 -0700 Subject: [PATCH] Validate that `Use Custom Build` is enabled when `Plugins` are selected Remove `GodotPayment` from the default build template --- platform/android/export/export.cpp | 9 +++++++++ platform/android/java/app/config.gradle | 7 +------ platform/android/java/build.gradle | 2 ++ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp index 27d20c6f7c..269401c508 100644 --- a/platform/android/export/export.cpp +++ b/platform/android/export/export.cpp @@ -1900,6 +1900,15 @@ public: } } + // Ensure that `Use Custom Build` is enabled if a plugin is selected. + String enabled_plugins_names = get_plugins_names(get_enabled_plugins(p_preset)); + bool custom_build_enabled = p_preset->get("custom_template/use_custom_build"); + if (!enabled_plugins_names.empty() && !custom_build_enabled) { + valid = false; + err += TTR("\"Use Custom Build\" must be enabled to use the plugins."); + err += "\n"; + } + r_error = err; return valid; } diff --git a/platform/android/java/app/config.gradle b/platform/android/java/app/config.gradle index 5251bc3066..acfdef531e 100644 --- a/platform/android/java/app/config.gradle +++ b/platform/android/java/app/config.gradle @@ -72,17 +72,12 @@ ext.getGodotPluginsRemoteBinaries = { -> /** * Parse the project properties for the 'plugins_local_binaries' property and return * their binaries for inclusion in the build dependencies. - * - * Returns the prebuilt plugins if the 'plugins_local_binaries' property is unavailable. */ ext.getGodotPluginsLocalBinaries = { -> - // Set the prebuilt plugins as default. If custom build is enabled, - // the 'plugins_local_binaries' will be defined so we can use it instead. - Set binDeps = ["libs/plugins/GodotPayment.release.aar"] + Set binDeps = [] // Retrieve the list of local plugins binaries. if (project.hasProperty("plugins_local_binaries")) { - binDeps.clear() String pluginsList = project.property("plugins_local_binaries") if (pluginsList != null && !pluginsList.trim().isEmpty()) { for (String plugin : pluginsList.split(PLUGIN_VALUE_SEPARATOR_REGEX)) { diff --git a/platform/android/java/build.gradle b/platform/android/java/build.gradle index 01a3607b20..80c6be0fae 100644 --- a/platform/android/java/build.gradle +++ b/platform/android/java/build.gradle @@ -193,4 +193,6 @@ task cleanGodotTemplates(type: Delete) { delete("$binDir/android_source.zip") delete("$binDir/godot-lib.debug.aar") delete("$binDir/godot-lib.release.aar") + + finalizedBy getTasksByName("clean", true) }