Version 1.6.76
Cherry pick: Check for any line separator when reading service files
CL: https://r8-review.googlesource.com/49222
Bug: 144437165
Change-Id: If812f0ac5109f4d516a26e5b67c730573f44d3cf
diff --git a/src/main/java/com/android/tools/r8/Version.java b/src/main/java/com/android/tools/r8/Version.java
index 411389c..86ce757 100644
--- a/src/main/java/com/android/tools/r8/Version.java
+++ b/src/main/java/com/android/tools/r8/Version.java
@@ -11,7 +11,7 @@
// This field is accessed from release scripts using simple pattern matching.
// Therefore, changing this field could break our release scripts.
- public static final String LABEL = "1.6.75";
+ public static final String LABEL = "1.6.76";
private Version() {
}
diff --git a/src/main/java/com/android/tools/r8/graph/AppServices.java b/src/main/java/com/android/tools/r8/graph/AppServices.java
index 584a879..5c1c7ad 100644
--- a/src/main/java/com/android/tools/r8/graph/AppServices.java
+++ b/src/main/java/com/android/tools/r8/graph/AppServices.java
@@ -13,13 +13,13 @@
import com.android.tools.r8.origin.Origin;
import com.android.tools.r8.utils.DescriptorUtils;
import com.android.tools.r8.utils.StringDiagnostic;
+import com.android.tools.r8.utils.StringUtils;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.io.ByteStreams;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.IdentityHashMap;
import java.util.List;
@@ -176,7 +176,7 @@
private void readServiceImplementationsForService(
String contents, Origin origin, List<DexType> serviceImplementations) {
if (contents != null) {
- Arrays.stream(contents.split(System.lineSeparator()))
+ StringUtils.splitLines(contents).stream()
.map(String::trim)
.map(this::prefixUntilCommentChar)
.filter(line -> !line.isEmpty())
diff --git a/src/test/java/com/android/tools/r8/rewrite/ServiceLoaderRewritingTest.java b/src/test/java/com/android/tools/r8/rewrite/ServiceLoaderRewritingTest.java
index 91411e5..9a77338 100644
--- a/src/test/java/com/android/tools/r8/rewrite/ServiceLoaderRewritingTest.java
+++ b/src/test/java/com/android/tools/r8/rewrite/ServiceLoaderRewritingTest.java
@@ -118,7 +118,7 @@
@Parameterized.Parameters(name = "{0}")
public static TestParametersCollection data() {
- return getTestParameters().withAllRuntimes().build();
+ return getTestParameters().withAllRuntimesAndApiLevels().build();
}
public ServiceLoaderRewritingTest(TestParameters parameters) {
@@ -131,7 +131,7 @@
testForR8(parameters.getBackend())
.addInnerClasses(ServiceLoaderRewritingTest.class)
.addKeepMainRule(MainRunner.class)
- .setMinApi(parameters.getRuntime())
+ .setMinApi(parameters.getApiLevel())
.addDataEntryResources(
DataEntryResource.fromBytes(
StringUtils.lines(ServiceImpl.class.getTypeName()).getBytes(),
@@ -165,7 +165,7 @@
testForR8(parameters.getBackend())
.addInnerClasses(ServiceLoaderRewritingTest.class)
.addKeepMainRule(OtherRunner.class)
- .setMinApi(parameters.getRuntime())
+ .setMinApi(parameters.getApiLevel())
.addDataEntryResources(
DataEntryResource.fromBytes(
StringUtils.lines(ServiceImpl.class.getTypeName()).getBytes(),
@@ -250,7 +250,7 @@
.addInnerClasses(ServiceLoaderRewritingTest.class)
.addKeepMainRule(MainRunner.class)
.addKeepClassRules(Service.class)
- .setMinApi(parameters.getRuntime())
+ .setMinApi(parameters.getApiLevel())
.addDataEntryResources(
DataEntryResource.fromBytes(
StringUtils.lines(ServiceImpl.class.getTypeName()).getBytes(),