diff options
Diffstat (limited to 'gradle/src/build-test/groovy')
-rw-r--r-- | gradle/src/build-test/groovy/com/android/build/gradle/AutomatedBuildTest.java | 9 | ||||
-rw-r--r-- | gradle/src/build-test/groovy/com/android/build/gradle/ManualBuildTest.java | 40 |
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)); + } + } } |