Only repackage classes if obfuscating
This mimicks the PG behavior and will therefore not confuse
developers adding -dontobfuscate for debugging.
Bug: 182543183
Change-Id: Ie7261f7e5e16368afaa71a56a74093a7204ad6b7
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index 7a99160..bd02d0f 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -570,8 +570,7 @@
@Override
public boolean isRepackagingEnabled() {
- return proguardConfiguration.getPackageObfuscationMode().isSome()
- && (isShrinking() || isMinifying());
+ return proguardConfiguration.getPackageObfuscationMode().isSome() && isMinifying();
}
@Override
diff --git a/src/test/java/com/android/tools/r8/repackage/RepackageDontObfuscateTest.java b/src/test/java/com/android/tools/r8/repackage/RepackageDontObfuscateTest.java
index ed79bfc..5ece41d 100644
--- a/src/test/java/com/android/tools/r8/repackage/RepackageDontObfuscateTest.java
+++ b/src/test/java/com/android/tools/r8/repackage/RepackageDontObfuscateTest.java
@@ -7,7 +7,6 @@
import static com.android.tools.r8.shaking.ProguardConfigurationParser.FLATTEN_PACKAGE_HIERARCHY;
import static com.android.tools.r8.shaking.ProguardConfigurationParser.REPACKAGE_CLASSES;
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresentAndNotRenamed;
-import static com.android.tools.r8.utils.codeinspector.Matchers.isPresentAndRenamed;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assume.assumeTrue;
@@ -83,12 +82,10 @@
.inspect(
inspector -> {
ClassSubject aClass = inspector.clazz(A.class);
- // TODO(b/182543183): Should not be renamed.
- assertThat(aClass, isPresentAndRenamed());
+ assertThat(aClass, isPresentAndNotRenamed());
})
.run(parameters.getRuntime(), Main.class, A.class.getTypeName())
- // TODO(b/182543183): Should be able to find the class.
- .assertFailureWithErrorThatThrows(ClassNotFoundException.class);
+ .assertSuccessWithOutputLines(EXPECTED);
}
public static class A {