aboutsummaryrefslogtreecommitdiff
path: root/gradle/src/build-test/groovy
diff options
context:
space:
mode:
Diffstat (limited to 'gradle/src/build-test/groovy')
-rw-r--r--gradle/src/build-test/groovy/com/android/build/gradle/AutomatedBuildTest.java9
-rw-r--r--gradle/src/build-test/groovy/com/android/build/gradle/ManualBuildTest.java40
2 files changed, 44 insertions, 5 deletions
diff --git a/gradle/src/build-test/groovy/com/android/build/gradle/AutomatedBuildTest.java b/gradle/src/build-test/groovy/com/android/build/gradle/AutomatedBuildTest.java
index b92239f..c2b1e0c 100644
--- a/gradle/src/build-test/groovy/com/android/build/gradle/AutomatedBuildTest.java
+++ b/gradle/src/build-test/groovy/com/android/build/gradle/AutomatedBuildTest.java
@@ -35,10 +35,11 @@ public class AutomatedBuildTest extends BuildTest {
private static final String[] sBuiltProjects = new String[] {
"aidl", "api", "applibtest", "assets", "attrOrder", "basic", "dependencies",
- "dependencyChecker", "flavored", "flavorlib", "flavors", "libTestDep", "libsTest",
- "localJars", "migrated", "multiproject", "multires", "overlay1", "overlay2",
- "pkgOverride", "proguard", "proguardLib", "renderscript", "renderscriptInLib",
- "renderscriptMultiSrc", "sameNamedLibs", "tictactoe" /*, "autorepo"*/
+ "dependencyChecker", "flavored", "flavorlib", "flavors", "libProguardJarDep",
+ "libProguardLibDep", "libTestDep", "libsTest", "localJars", "migrated", "multiproject",
+ "multires", "overlay1", "overlay2", "pkgOverride", "proguard", "proguardLib",
+ "renderscript", "renderscriptInLib", "renderscriptMultiSrc", "sameNamedLibs",
+ "tictactoe" /*, "autorepo"*/
};
private static final String[] sReportProjects = new String[] {
diff --git a/gradle/src/build-test/groovy/com/android/build/gradle/ManualBuildTest.java b/gradle/src/build-test/groovy/com/android/build/gradle/ManualBuildTest.java
index 0ccfc24..af0bd32 100644
--- a/gradle/src/build-test/groovy/com/android/build/gradle/ManualBuildTest.java
+++ b/gradle/src/build-test/groovy/com/android/build/gradle/ManualBuildTest.java
@@ -16,10 +16,13 @@
package com.android.build.gradle;
-import javax.imageio.ImageIO;
+import com.google.common.base.Charsets;
+import com.google.common.io.Files;
+
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
+import javax.imageio.ImageIO;
/**
* Some manual tests for building projects.
@@ -67,6 +70,29 @@ public class ManualBuildTest extends BuildTest {
}
}
+ // test whether a library project has its fields ProGuarded
+ public void testLibProguard() throws Exception {
+ File project = new File(testDir, "libProguard");
+ File fileOutput = new File(project, "build/proguard/release");
+
+ runGradleTasks(sdkDir, BasePlugin.GRADLE_MIN_VERSION,
+ project, "clean", "build");
+ checkFile(fileOutput, "mapping.txt", new String[]{"int proguardInt -> a"});
+
+ }
+
+ // test whether proguard.txt has been correctly merged
+ public void testLibProguardConsumerFile() throws Exception {
+ File project = new File(testDir, "libProguardConsumerFiles");
+ File debugFileOutput = new File(project, "build/bundles/debug");
+ File releaseFileOutput = new File(project, "build/bundles/release");
+
+ runGradleTasks(sdkDir, BasePlugin.GRADLE_MIN_VERSION,
+ project, "clean", "build");
+ checkFile(debugFileOutput, "proguard.txt", new String[]{"A"});
+ checkFile(releaseFileOutput, "proguard.txt", new String[]{"A", "B", "C"});
+ }
+
public void test3rdPartyTests() throws Exception {
// custom because we want to run deviceCheck even without devices, since we use
// a fake DeviceProvider that doesn't use a device, but only record the calls made
@@ -86,4 +112,16 @@ public class ManualBuildTest extends BuildTest {
expectedColor, rgb, f),
expectedColor, rgb);
}
+
+ private static void checkFile(File folder, String fileName, String[] expectedContents)
+ throws IOException {
+ File f = new File(folder, fileName);
+ assertTrue("File '" + f.getAbsolutePath() + "' does not exist.", f.isFile());
+
+ String contents = Files.toString(f, Charsets.UTF_8);
+ for (String expectedContent : expectedContents) {
+ assertTrue("File '" + f.getAbsolutePath() + "' does not contain: " + expectedContent,
+ contents.contains(expectedContent));
+ }
+ }
}