From 2770deb6806155bcc172b90ee9048d0b4497cf75 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Sun, 3 Oct 2021 15:00:56 +0200 Subject: [PATCH 1/2] fix: makes libs smaller and build faster see https://www.mobileit.cz/Blog/Pages/r-class.aspx --- vendor/gradle-plugin/gradle.properties | 3 +++ 1 file changed, 3 insertions(+) diff --git a/vendor/gradle-plugin/gradle.properties b/vendor/gradle-plugin/gradle.properties index 4385ddd9f4..e05b2d8909 100644 --- a/vendor/gradle-plugin/gradle.properties +++ b/vendor/gradle-plugin/gradle.properties @@ -18,3 +18,6 @@ org.gradle.jvmargs=-Xmx16384M android.enableJetifier=true android.useAndroidX=true +android.nonTransitiveRClass=true +android.namespacedRClass=true +android.enableSeparateRClassCompilation=true From bbe52eddc2470c7a27a847c46634117fb932e1b2 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Sun, 3 Oct 2021 21:52:43 +0200 Subject: [PATCH 2/2] fix: remove unneeded R.class and BuildConfig.class for plugins can still be enabled with `generateBuildConfig` and `generateR` --- vendor/gradle-plugin/build.gradle | 23 ++++++++++++++++++++++- vendor/gradle-plugin/gradle.properties | 2 +- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/vendor/gradle-plugin/build.gradle b/vendor/gradle-plugin/build.gradle index b7f03c8ce7..db7054b390 100644 --- a/vendor/gradle-plugin/build.gradle +++ b/vendor/gradle-plugin/build.gradle @@ -137,4 +137,25 @@ def applyBeforePluginGradleConfiguration() { outLogger.withStyle(Style.SuccessHeader).println "\t ~ applying user-defined configuration from ${beforePluginGradle}" apply from: pathToBeforePluginGradle } -} \ No newline at end of file +} + +afterEvaluate { + def generateBuildConfig = project.hasProperty("generateBuildConfig") ? project.generateBuildConfig : false + def generateR = project.hasProperty("generateR") ? project.generateR : false + generateReleaseBuildConfig.enabled = generateBuildConfig + generateDebugBuildConfig.enabled = generateBuildConfig + generateReleaseResValues.enabled = generateR + generateDebugResValues.enabled = generateR +} +tasks.whenTaskAdded({ DefaultTask currentTask -> + if (currentTask.name == 'bundleRelease' || currentTask.name == 'bundleDebug') { + def generateBuildConfig = project.hasProperty("generateBuildConfig") ? project.generateBuildConfig : false + def generateR = project.hasProperty("generateR") ? project.generateR : false + if (!generateBuildConfig) { + currentTask.exclude '**/BuildConfig.class' + } + if (!generateR) { + currentTask.exclude '**/R.class', '**/R$*.class' + } + } +}) \ No newline at end of file diff --git a/vendor/gradle-plugin/gradle.properties b/vendor/gradle-plugin/gradle.properties index e05b2d8909..849c4366ef 100644 --- a/vendor/gradle-plugin/gradle.properties +++ b/vendor/gradle-plugin/gradle.properties @@ -20,4 +20,4 @@ android.enableJetifier=true android.useAndroidX=true android.nonTransitiveRClass=true android.namespacedRClass=true -android.enableSeparateRClassCompilation=true +android.enableSeparateRClassCompilation=true \ No newline at end of file