aboutsummaryrefslogtreecommitdiff
path: root/builder
diff options
context:
space:
mode:
authorWing Lam <lamwing@google.com>2013-08-20 16:38:23 -0700
committerWing Lam <lamwing@google.com>2013-08-21 11:09:36 -0700
commitc4986e7a0c8022817df8f6dabbab4e8a87bd0477 (patch)
treeba80b3f6c7fb5c15e6c44769790967fccf4462e2 /builder
parent263c42c75f782fae79f029287b5cf3e12c19039e (diff)
downloadbuild-c4986e7a0c8022817df8f6dabbab4e8a87bd0477.tar.gz
ProGuard support for libraries.
Change-Id: I38069666a4cc9f84c07337f26bd6dcdb0b253548
Diffstat (limited to 'builder')
-rw-r--r--builder/src/main/java/com/android/builder/AndroidBuilder.java10
-rw-r--r--builder/src/main/java/com/android/builder/DefaultBuildType.java6
-rw-r--r--builder/src/main/java/com/android/builder/VariantConfiguration.java15
-rw-r--r--builder/src/main/java/com/android/builder/internal/BaseConfigImpl.java12
4 files changed, 36 insertions, 7 deletions
diff --git a/builder/src/main/java/com/android/builder/AndroidBuilder.java b/builder/src/main/java/com/android/builder/AndroidBuilder.java
index 9442f4d..34c0dd4 100644
--- a/builder/src/main/java/com/android/builder/AndroidBuilder.java
+++ b/builder/src/main/java/com/android/builder/AndroidBuilder.java
@@ -564,14 +564,14 @@ public class AndroidBuilder {
command.add(sourceOutputDir);
}
- if (type != VariantConfiguration.Type.LIBRARY && resPackageOutput != null) {
+ if (resPackageOutput != null) {
command.add("-F");
command.add(resPackageOutput);
+ }
- if (proguardOutput != null) {
- command.add("-G");
- command.add(proguardOutput);
- }
+ if (proguardOutput != null) {
+ command.add("-G");
+ command.add(proguardOutput);
}
// options controlled by build variants
diff --git a/builder/src/main/java/com/android/builder/DefaultBuildType.java b/builder/src/main/java/com/android/builder/DefaultBuildType.java
index ea82e12..5ebbd0b 100644
--- a/builder/src/main/java/com/android/builder/DefaultBuildType.java
+++ b/builder/src/main/java/com/android/builder/DefaultBuildType.java
@@ -111,7 +111,8 @@ public class DefaultBuildType extends BaseConfigImpl implements BuildType {
}
@Override
- @Nullable public String getPackageNameSuffix() {
+ @Nullable
+ public String getPackageNameSuffix() {
return mPackageNameSuffix;
}
@@ -122,7 +123,8 @@ public class DefaultBuildType extends BaseConfigImpl implements BuildType {
}
@Override
- @Nullable public String getVersionNameSuffix() {
+ @Nullable
+ public String getVersionNameSuffix() {
return mVersionNameSuffix;
}
diff --git a/builder/src/main/java/com/android/builder/VariantConfiguration.java b/builder/src/main/java/com/android/builder/VariantConfiguration.java
index 614d467..5b1b5e5 100644
--- a/builder/src/main/java/com/android/builder/VariantConfiguration.java
+++ b/builder/src/main/java/com/android/builder/VariantConfiguration.java
@@ -885,6 +885,21 @@ public class VariantConfiguration implements TestData {
return fullList;
}
+ @NonNull
+ public List<Object> getConsumerProguardFiles() {
+ List<Object> fullList = Lists.newArrayList();
+
+ // add the config files from the build type, main config and flavors
+ fullList.addAll(mDefaultConfig.getConsumerProguardFiles());
+ fullList.addAll(mBuildType.getConsumerProguardFiles());
+
+ for (DefaultProductFlavor flavor : mFlavorConfigs) {
+ fullList.addAll(flavor.getConsumerProguardFiles());
+ }
+
+ return fullList;
+ }
+
protected void validate() {
if (mType != Type.TEST) {
File manifest = mDefaultSourceProvider.getManifestFile();
diff --git a/builder/src/main/java/com/android/builder/internal/BaseConfigImpl.java b/builder/src/main/java/com/android/builder/internal/BaseConfigImpl.java
index e2517c5..044420b 100644
--- a/builder/src/main/java/com/android/builder/internal/BaseConfigImpl.java
+++ b/builder/src/main/java/com/android/builder/internal/BaseConfigImpl.java
@@ -33,6 +33,7 @@ public class BaseConfigImpl implements Serializable, BaseConfig {
private final List<String> mBuildConfigLines = Lists.newArrayList();
private final List<File> mProguardFiles = Lists.newArrayList();
+ private final List<File> mConsumerProguardFiles = Lists.newArrayList();
public void setBuildConfig(String... lines) {
mBuildConfigLines.clear();
@@ -56,12 +57,21 @@ public class BaseConfigImpl implements Serializable, BaseConfig {
return mProguardFiles;
}
+ @Override
+ @NonNull
+ public List<File> getConsumerProguardFiles() {
+ return mConsumerProguardFiles;
+ }
+
protected void _initWith(BaseConfig that) {
mBuildConfigLines.clear();
mBuildConfigLines.addAll(that.getBuildConfig());
mProguardFiles.clear();
mProguardFiles.addAll(that.getProguardFiles());
+
+ mConsumerProguardFiles.clear();
+ mConsumerProguardFiles.addAll(that.getConsumerProguardFiles());
}
@Override
@@ -73,6 +83,7 @@ public class BaseConfigImpl implements Serializable, BaseConfig {
if (!mBuildConfigLines.equals(that.mBuildConfigLines)) return false;
if (!mProguardFiles.equals(that.mProguardFiles)) return false;
+ if (!mConsumerProguardFiles.equals(that.mConsumerProguardFiles)) return false;
return true;
}
@@ -81,6 +92,7 @@ public class BaseConfigImpl implements Serializable, BaseConfig {
public int hashCode() {
int result = mBuildConfigLines.hashCode();
result = 31 * result + mProguardFiles.hashCode();
+ result = 31 * result + mConsumerProguardFiles.hashCode();
return result;
}
}