Merge "Add API to get R8 version"
diff --git a/src/main/java/com/android/tools/r8/Version.java b/src/main/java/com/android/tools/r8/Version.java
index d3347b9..010a851 100644
--- a/src/main/java/com/android/tools/r8/Version.java
+++ b/src/main/java/com/android/tools/r8/Version.java
@@ -25,4 +25,10 @@
public static boolean isDev() {
return LABEL.endsWith("-dev") || VersionProperties.INSTANCE.isEngineering();
}
+
+ /** Returns current R8 version (with additional info) as a string. */
+ @SuppressWarnings("unused") // used by external tools to obtain R8 version
+ public static String getVersionString() {
+ return LABEL + " (" + VersionProperties.INSTANCE.getDescription() + ")";
+ }
}
diff --git a/src/main/keep.txt b/src/main/keep.txt
index 61b2b14..306a398 100644
--- a/src/main/keep.txt
+++ b/src/main/keep.txt
@@ -14,6 +14,7 @@
-keep public class com.android.tools.r8.compatdx.CompatDx { public static void main(java.lang.String[]); }
-keep public class com.android.tools.r8.dexfilemerger.DexFileMerger { public static void main(java.lang.String[]); }
-keep public class com.android.tools.r8.dexsplitter.DexSplitter { public static void main(java.lang.String[]); }
+-keep public class com.android.tools.r8.Version { public static java.lang.String getVersionString(); }
# JvmMetadataExtensions must be kept because it'll be used indirectly through java.util.ServiceLoader.
-keep, allowobfuscation public class com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions { public <init>(); }