diff options
author | 2015-09-22 15:37:18 +0000 | |
---|---|---|
committer | 2015-09-22 17:09:56 +0000 | |
commit | 1d947c685ccce5f229456684876883b1c03621b0 (patch) | |
tree | b5f290d92c155fd26cae458b6d0b257ca6405b1e /src | |
parent | 10b8e3ac10b25ab2c2208de48d350820f309d0a7 (diff) |
Stop AndroidResourceProcessingAction from creating a "_resources" folder in the source tree when invoked from ApplicationManifest and AndroidLibrary.
--
MOS_MIGRATED_REVID=103648946
Diffstat (limited to 'src')
4 files changed, 12 insertions, 19 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java index 1c69f385c3..bbbe3df7a9 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java @@ -170,7 +170,6 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { .withDependencies(transitiveResources) .setDebug( ruleContext.getConfiguration().getCompilationMode() != CompilationMode.OPT) - .setWorkingDirectory(ruleContext.getUniqueDirectory("_resources")) .build(ruleContext); } diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesProcessorBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesProcessorBuilder.java index e313a877a4..1da4f5b658 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesProcessorBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesProcessorBuilder.java @@ -27,7 +27,6 @@ import com.google.devtools.build.lib.analysis.actions.ActionConstructionContext; import com.google.devtools.build.lib.analysis.actions.SpawnAction; import com.google.devtools.build.lib.rules.android.AndroidResourcesProvider.ResourceContainer; import com.google.devtools.build.lib.rules.android.AndroidResourcesProvider.ResourceType; -import com.google.devtools.build.lib.vfs.PathFragment; import java.util.ArrayList; import java.util.Collections; @@ -50,7 +49,6 @@ public class AndroidResourcesProcessorBuilder { private final AndroidSdkProvider sdk; private List<String> assetsToIgnore = Collections.emptyList(); private SpawnAction.Builder spawnActionBuilder; - private PathFragment workingDirectory; private List<String> densities = Collections.emptyList(); private String customJavaPackage; private final RuleContext ruleContext; @@ -133,11 +131,6 @@ public class AndroidResourcesProcessorBuilder { return this; } - public AndroidResourcesProcessorBuilder setWorkingDirectory(PathFragment workingDirectory) { - this.workingDirectory = workingDirectory; - return this; - } - private void addResourceContainer(List<Artifact> inputs, List<String> args, ResourceContainer container) { Iterables.addAll(inputs, container.getArtifacts()); @@ -204,11 +197,6 @@ public class AndroidResourcesProcessorBuilder { args.add(Joiner.on(",").join(data)); } - if (rTxtOut != null || sourceJarOut != null) { - args.add("--generatedSourcePath"); - args.add(workingDirectory.toString()); - } - if (rTxtOut != null) { args.add("--rOutput"); args.add(rTxtOut.getExecPathString()); diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java b/src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java index 7fade53dc8..7be804a50c 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java @@ -324,7 +324,6 @@ public final class ApplicationManifest { .setDebug(ruleContext.getConfiguration().getCompilationMode() != CompilationMode.OPT) .withPrimary(resourceContainer) .withDependencies(resourceContainers) - .setWorkingDirectory(ruleContext.getUniqueDirectory("_resources")) .setDensities(densities) .setProguardOut(proguardCfg) .setApplicationId(applicationId) 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 8107f11304..c29142a748 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 @@ -292,7 +292,14 @@ public class AndroidResourceProcessingAction { expandedOut.toFile().deleteOnExit(); Path deduplicatedOut = Files.createTempDirectory("tmp-deduplicated"); deduplicatedOut.toFile().deleteOnExit(); - + + Path generatedSources = null; + if (options.srcJarOutput != null || options.rOutput != null + || options.symbolsTxtOut != null) { + generatedSources = Files.createTempDirectory("generated_resources"); + generatedSources.toFile().deleteOnExit(); + } + LOGGER.fine(String.format("Setup finished at %sms", timer.elapsed(TimeUnit.MILLISECONDS))); final ImmutableList<DirectoryModifier> modifiers = ImmutableList.of( @@ -332,18 +339,18 @@ public class AndroidResourceProcessingAction { filteredData, options.data, working.resolve("manifest"), - options.generatedSourcePath, + generatedSources, options.packagePath, options.proguardOutput); LOGGER.fine(String.format("appt finished at %sms", timer.elapsed(TimeUnit.MILLISECONDS))); if (options.srcJarOutput != null) { - resourceProcessor.createSrcJar(options.generatedSourcePath, options.srcJarOutput); + resourceProcessor.createSrcJar(generatedSources, options.srcJarOutput); } if (options.rOutput != null) { - resourceProcessor.copyRToOutput(options.generatedSourcePath, options.rOutput); + resourceProcessor.copyRToOutput(generatedSources, options.rOutput); } if (options.symbolsTxtOut != null) { - resourceProcessor.copyRToOutput(options.generatedSourcePath, options.symbolsTxtOut); + resourceProcessor.copyRToOutput(generatedSources, options.symbolsTxtOut); } LOGGER.fine(String.format("Packaging finished at %sms", timer.elapsed(TimeUnit.MILLISECONDS))); |