Skip to content

Commit 1e7f386

Browse files
committed
Simplify proguard handling logic.
This change removes custom logic that configures proguarding and consumerProguardFiles for SDKs and instead makes all configuration explicit per SDK.
1 parent c816404 commit 1e7f386

File tree

21 files changed

+11
-532
lines changed

21 files changed

+11
-532
lines changed

build.gradle

Lines changed: 0 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -101,55 +101,6 @@ configure(subprojects) {
101101
apply plugin: "org.jlleitschuh.gradle.ktlint"
102102
}
103103

104-
105-
/**
106-
* Configure "Preguarding" for the subprojects.
107-
*
108-
* <p> The way it works is every library subproject that has the android plugin applied and:
109-
*
110-
* <ul>
111-
* <li>Contains a file named "preguard.txt" will get proguarded using that file as proguard
112-
* configuration in release mode.
113-
* <li>Contains a file named "proguard.txt" will ship this file inside its release aar as a
114-
* consumer proguard file.
115-
*/
116-
configure(subprojects) {
117-
def PREGUARD_FILE_NAME = 'preguard.txt'
118-
def CONSUMER_PROGUARD_FILE_NAME = 'proguard.txt'
119-
afterEvaluate { Project sub ->
120-
121-
if (sub.plugins.findPlugin('com.android.library') == null) {
122-
return
123-
}
124-
125-
boolean skipPreguard = sub.getProperties().getOrDefault('firebaseSkipPreguard', 'true').toBoolean()
126-
def defaultPreguard = rootProject.getProperties().getOrDefault('firebaseDefaultPreguardFile', 'default-preguard.txt')
127-
128-
if(!skipPreguard) {
129-
130-
sub.android {
131-
buildTypes {
132-
release {
133-
// default behavior for minifyEnabled is:
134-
// useProguard true
135-
// shrinkResources false
136-
minifyEnabled true
137-
proguardFiles file(defaultPreguard), sub.file(PREGUARD_FILE_NAME)
138-
}
139-
}
140-
}
141-
}
142-
143-
// Ship consumer proguard config if it exists.
144-
if (sub.file(CONSUMER_PROGUARD_FILE_NAME).exists()) {
145-
sub.android { buildTypes { release { consumerProguardFiles 'proguard.txt' } } }
146-
}
147-
148-
sub.apply plugin: LicenseResolverPlugin
149-
}
150-
}
151-
152-
153104
task clean(type: Delete) {
154105
delete rootProject.buildDir
155106
}

buildSrc/src/main/java/com/google/firebase/gradle/plugins/FirebaseLibraryPlugin.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.google.firebase.gradle.plugins.apiinfo.GetMetalavaJarTask;
2626
import com.google.firebase.gradle.plugins.ci.Coverage;
2727
import com.google.firebase.gradle.plugins.ci.device.FirebaseTestServer;
28+
import com.google.firebase.gradle.plugins.license.LicenseResolverPlugin;
2829
import java.io.File;
2930
import java.nio.file.Paths;
3031
import org.gradle.api.JavaVersion;
@@ -40,6 +41,8 @@ public class FirebaseLibraryPlugin implements Plugin<Project> {
4041
@Override
4142
public void apply(Project project) {
4243
project.apply(ImmutableMap.of("plugin", "com.android.library"));
44+
project.apply(ImmutableMap.of("plugin", LicenseResolverPlugin.class));
45+
project.apply(ImmutableMap.of("plugin", "com.github.sherter.google-java-format"));
4346

4447
FirebaseLibraryExtension firebaseLibrary =
4548
project

buildSrc/src/main/java/com/google/firebase/gradle/plugins/license/LicenseResolverPlugin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
* GenerateLicensesTask} to create the artifacts necessary for our release.
4141
* </ul>
4242
*/
43-
class LicenseResolverPlugin implements Plugin<Project> {
43+
public class LicenseResolverPlugin implements Plugin<Project> {
4444
private static final String[] ANDROID_PLUGINS = {
4545
"com.android.application", "com.android.library", "com.android.test"
4646
};

encoders/firebase-encoders-json/proguard.txt

Whitespace-only changes.

firebase-common/firebase-common.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ android {
3333
versionName version
3434
multiDexEnabled true
3535
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
36+
consumerProguardFiles 'proguard.txt'
3637
}
3738
sourceSets {
3839
androidTest {

firebase-common/mapping.txt

Lines changed: 0 additions & 412 deletions
This file was deleted.

firebase-components/firebase-components.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ android {
2727
targetSdkVersion project.targetSdkVersion
2828
versionName version
2929
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
30+
consumerProguardFiles 'proguard.txt'
3031
}
3132

3233
compileOptions {

firebase-database-collection/mapping.txt

Whitespace-only changes.

firebase-database-collection/preguard.txt

Lines changed: 0 additions & 32 deletions
This file was deleted.

firebase-database/proguard.txt

Whitespace-only changes.

firebase-firestore/firebase-firestore.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ android {
5858
versionName version
5959
multiDexEnabled true
6060
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
61+
consumerProguardFiles 'proguard.txt'
6162
}
6263

6364
sourceSets {

firebase-functions/firebase-functions.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ android {
3333
versionName version
3434
multiDexEnabled true
3535
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
36+
consumerProguardFiles 'proguard.txt'
3637
}
3738
sourceSets {
3839
androidTest {

firebase-inappmessaging-display/preguard.txt

Lines changed: 0 additions & 18 deletions
This file was deleted.

firebase-inappmessaging-display/proguard.txt

Whitespace-only changes.

firebase-inappmessaging/firebase-inappmessaging.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ android {
5959
multiDexEnabled true
6060
versionName version
6161
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
62+
consumerProguardFiles 'proguard.txt'
6263
}
6364
sourceSets {
6465
main {

firebase-inappmessaging/mapping.txt

Whitespace-only changes.

firebase-inappmessaging/preguard.txt

Lines changed: 0 additions & 20 deletions
This file was deleted.

firebase-storage/mapping.txt

Whitespace-only changes.

firebase-storage/proguard.txt

Whitespace-only changes.

transport/transport-api/transport-api.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ android {
2626
minSdkVersion 14
2727
targetSdkVersion project.targetSdkVersion
2828
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
29+
consumerProguardFiles 'proguard.txt'
2930
}
3031

3132
compileOptions {

transport/transport-backend-cct/transport-backend-cct.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ android {
4343
targetSdkVersion project.targetSdkVersion
4444
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
4545
versionName version
46+
consumerProguardFiles 'proguard.txt'
4647
}
4748
compileOptions {
4849
sourceCompatibility = '1.8'

0 commit comments

Comments
 (0)