aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/android/java/com/google/devtools/build/android/AndroidResourceMerger.java
diff options
context:
space:
mode:
authorGravatar corysmith <corysmith@google.com>2018-02-13 08:57:40 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-13 08:58:51 -0800
commit391d73d15f19ed22bf2cb343aaca9dd4fe3b7285 (patch)
treea4b816fc1f5c8029cc6689f190d7d3f817ec0adc /src/tools/android/java/com/google/devtools/build/android/AndroidResourceMerger.java
parentbbd0c3b66588450e2abb9a538f8537e3b2c50c6c (diff)
Implement and delegate ListeningExecutorService api to clean up the try-with-resources code segments
RELNOTES:None PiperOrigin-RevId: 185536875
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/AndroidResourceMerger.java')
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/AndroidResourceMerger.java28
1 files changed, 13 insertions, 15 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceMerger.java b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceMerger.java
index 1257def88a..a6e97b9161 100644
--- a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceMerger.java
+++ b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceMerger.java
@@ -18,12 +18,9 @@ import com.android.builder.core.VariantType;
import com.android.ide.common.internal.PngCruncher;
import com.google.common.base.Stopwatch;
import com.google.common.util.concurrent.ListeningExecutorService;
-import com.google.common.util.concurrent.MoreExecutors;
-import java.io.Closeable;
import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
-import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.logging.Logger;
@@ -65,11 +62,10 @@ public class AndroidResourceMerger {
@Nullable final Path symbolsOut,
@Nullable AndroidResourceClassWriter rclassWriter,
AndroidDataDeserializer deserializer,
- boolean throwOnResourceConflict) {
+ boolean throwOnResourceConflict,
+ ListeningExecutorService executorService) {
Stopwatch timer = Stopwatch.createStarted();
- final ListeningExecutorService executorService =
- MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(15));
- try (Closeable closeable = ExecutorServiceCloser.createWith(executorService)) {
+ try {
UnwrittenMergedAndroidData merged =
mergeData(
executorService,
@@ -148,7 +144,7 @@ public class AndroidResourceMerger {
@Nullable final Path symbolsOut,
final List<String> filteredResources,
boolean throwOnResourceConflict) {
- try {
+ try (ExecutorServiceCloser executorService = ExecutorServiceCloser.createWithFixedPoolOf(15)) {
final ParsedAndroidData parsedPrimary = ParsedAndroidData.from(primary);
return mergeData(
parsedPrimary,
@@ -162,7 +158,8 @@ public class AndroidResourceMerger {
symbolsOut,
null /* rclassWriter */,
AndroidParsedDataDeserializer.withFilteredResources(filteredResources),
- throwOnResourceConflict);
+ throwOnResourceConflict,
+ executorService);
} catch (IOException e) {
throw MergingException.wrapException(e);
}
@@ -183,7 +180,8 @@ public class AndroidResourceMerger {
final VariantType type,
@Nullable final Path symbolsOut,
@Nullable final AndroidResourceClassWriter rclassWriter,
- boolean throwOnResourceConflict) {
+ boolean throwOnResourceConflict,
+ ListeningExecutorService executorService) {
final ParsedAndroidData.Builder primaryBuilder = ParsedAndroidData.Builder.newBuilder();
final AndroidDataDeserializer deserializer = AndroidParsedDataDeserializer.create();
primary.deserialize(deserializer, primaryBuilder.consumers());
@@ -200,7 +198,8 @@ public class AndroidResourceMerger {
symbolsOut,
rclassWriter,
deserializer,
- throwOnResourceConflict);
+ throwOnResourceConflict,
+ executorService);
}
/**
@@ -213,15 +212,14 @@ public class AndroidResourceMerger {
final List<? extends SerializedAndroidData> direct,
final List<? extends SerializedAndroidData> transitive,
@Nullable final AndroidResourceClassWriter rclassWriter,
- boolean throwOnResourceConflict) {
+ boolean throwOnResourceConflict,
+ ListeningExecutorService executorService) {
final ParsedAndroidData.Builder primaryBuilder = ParsedAndroidData.Builder.newBuilder();
final AndroidDataDeserializer deserializer = AndroidCompiledDataDeserializer.create();
primary.deserialize(deserializer, primaryBuilder.consumers());
ParsedAndroidData primaryData = primaryBuilder.build();
-
Stopwatch timer = Stopwatch.createStarted();
- final ListeningExecutorService executorService = ExecutorServiceCloser.createDefaultService();
- try (Closeable closeable = ExecutorServiceCloser.createWith(executorService)) {
+ try {
UnwrittenMergedAndroidData merged =
mergeData(
executorService,