diff options
author | 2015-07-22 17:53:16 +0000 | |
---|---|---|
committer | 2015-07-23 11:00:36 +0000 | |
commit | 8dd869e2afbe95b0c07a83883c5112b4c41df734 (patch) | |
tree | 59c421da2858f262784ddef31f17efb7ff9949e5 | |
parent | c1a199ab5f51738efa4652ed008c703c14fa26ee (diff) |
Updates AndroidResourceProcessingAction and AarGeneratorAction to use temp directories so that their files don't conflict with subsequent or concurrent invocations of those actions.
--
MOS_MIGRATED_REVID=98848810
-rw-r--r-- | src/tools/android/java/com/google/devtools/build/android/AarGeneratorAction.java | 9 | ||||
-rw-r--r-- | src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java | 13 |
2 files changed, 18 insertions, 4 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/AarGeneratorAction.java b/src/tools/android/java/com/google/devtools/build/android/AarGeneratorAction.java index 900cab6330..c42e0f5f56 100644 --- a/src/tools/android/java/com/google/devtools/build/android/AarGeneratorAction.java +++ b/src/tools/android/java/com/google/devtools/build/android/AarGeneratorAction.java @@ -143,11 +143,16 @@ public class AarGeneratorAction { resourcesOut.toFile().deleteOnExit(); Path assetsOut = Files.createTempDirectory("tmp-assets"); assetsOut.toFile().deleteOnExit(); + Path expandedOut = Files.createTempDirectory("tmp-expanded"); + expandedOut.toFile().deleteOnExit(); + Path deduplicatedOut = Files.createTempDirectory("tmp-deduplicated"); + deduplicatedOut.toFile().deleteOnExit(); + logger.fine(String.format("Setup finished at %dms", timer.elapsed(TimeUnit.MILLISECONDS))); ImmutableList<DirectoryModifier> modifiers = ImmutableList.of( - new PackedResourceTarExpander(working.resolve("expanded"), working), - new FileDeDuplicator(Hashing.murmur3_128(), working.resolve("deduplicated"), working)); + new PackedResourceTarExpander(expandedOut, working), + new FileDeDuplicator(Hashing.murmur3_128(), deduplicatedOut, working)); MergedAndroidData mergedData = resourceProcessor.mergeData(options.mainData, options.dependencyData, resourcesOut, diff --git a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java index 7d52289ed4..38db645e21 100644 --- a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java +++ b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java @@ -41,6 +41,7 @@ import com.android.utils.StdLogger; import java.io.IOException; import java.nio.file.FileSystem; import java.nio.file.FileSystems; +import java.nio.file.Files; import java.nio.file.Path; import java.util.Collection; import java.util.List; @@ -284,11 +285,19 @@ public class AndroidResourceProcessingAction { options.zipAlign, options.androidJar, STD_LOGGER); + try { + + Path expandedOut = Files.createTempDirectory("tmp-expanded"); + expandedOut.toFile().deleteOnExit(); + Path deduplicatedOut = Files.createTempDirectory("tmp-deduplicated"); + deduplicatedOut.toFile().deleteOnExit(); + LOGGER.fine(String.format("Setup finished at %sms", timer.elapsed(TimeUnit.MILLISECONDS))); + final ImmutableList<DirectoryModifier> modifiers = ImmutableList.of( - new PackedResourceTarExpander(working.resolve("expanded"), working), - new FileDeDuplicator(Hashing.murmur3_128(), working.resolve("deduplicated"), working)); + new PackedResourceTarExpander(expandedOut, working), + new FileDeDuplicator(Hashing.murmur3_128(), deduplicatedOut, working)); final AndroidBuilder builder = sdkTools.createAndroidBuilder(); |