Enable repackaging for r8lib into internal
Bug: 165783399
Change-Id: Idfb5e769d4256a8dc5b2b33b0defca99858f640a
diff --git a/src/main/java/com/android/tools/r8/repackaging/RepackagingTreeFixer.java b/src/main/java/com/android/tools/r8/repackaging/RepackagingTreeFixer.java
index 8820838..a5a77d7 100644
--- a/src/main/java/com/android/tools/r8/repackaging/RepackagingTreeFixer.java
+++ b/src/main/java/com/android/tools/r8/repackaging/RepackagingTreeFixer.java
@@ -241,7 +241,6 @@
for (DexProgramClass clazz : synthesizedFrom) {
// TODO(b/165783399): What do we want to put here if the class that this was synthesized from
// is no longer in the application?
- assert appView.definitionFor(clazz.type) != null;
DexProgramClass newClass =
newProgramClasses.computeIfAbsent(clazz.getType(), ignore -> fixupClass(clazz));
newSynthesizedFrom.add(newClass);
diff --git a/src/main/java/com/android/tools/r8/shaking/KeepInfoCollection.java b/src/main/java/com/android/tools/r8/shaking/KeepInfoCollection.java
index d0834d5..9ccbf5e 100644
--- a/src/main/java/com/android/tools/r8/shaking/KeepInfoCollection.java
+++ b/src/main/java/com/android/tools/r8/shaking/KeepInfoCollection.java
@@ -223,7 +223,10 @@
keepClassInfo.forEach(
(type, info) -> {
DexType newType = lens.lookupType(type);
- assert newType == type || !info.isPinned() || info.isMinificationAllowed(options);
+ assert newType == type
+ || !info.isPinned()
+ || info.isMinificationAllowed(options)
+ || info.isRepackagingAllowed(options);
KeepClassInfo previous = newClassInfo.put(newType, info);
assert previous == null;
});
diff --git a/src/main/keep.txt b/src/main/keep.txt
index 84423da..f8bbc12 100644
--- a/src/main/keep.txt
+++ b/src/main/keep.txt
@@ -21,6 +21,7 @@
-keepattributes SourceFile, LineNumberTable, InnerClasses, EnclosingMethod, Exceptions, Signature
-keeppackagenames com.android.tools.r8
+-repackageclasses com.android.tools.r8.internal
# Compatibility command line program used by the Android Platform build.
-keep public class com.android.tools.r8.compatproguard.CompatProguard { public static void main(java.lang.String[]); }