aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google')
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/BazelConfiguration.java12
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AarGeneratorBuilder.java1
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceMergingActionBuilder.java1
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceParsingActionBuilder.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceValidatorActionBuilder.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesProcessorBuilder.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/LibraryRGeneratorActionBuilder.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/ManifestMergerActionBuilder.java1
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java1
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/RobolectricResourceSymbolsActionBuilder.java1
11 files changed, 27 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelConfiguration.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelConfiguration.java
index f04104851b..3d8cbdafe4 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelConfiguration.java
@@ -133,6 +133,18 @@ public class BazelConfiguration extends Fragment {
// TODO(ulfjack): Avoid using System.getenv; it's the wrong environment!
builder.put("PATH", pathOrDefault(os, System.getenv("PATH"), getShellExecutable()));
+ // TODO(laszlocsomor): Remove setting TMP/TEMP here, and set a meaningful value just before
+ // executing the action.
+ // Setting TMP=null, TEMP=null has the effect of copying the client's TMP/TEMP to the action's
+ // environment. This is a short-term workaround to get temp-requiring actions working on
+ // Windows. Its detrimental effect is that the client's TMP/TEMP becomes part of the actions's
+ // key. Yet, we need this for now to build Android programs, because the Android BusyBox is
+ // written in Java and tries to create temp directories using
+ // java.nio.file.Files.createTempDirectory, which needs TMP or TEMP (or USERPROFILE) on
+ // Windows, otherwise they return c:\windows which is non-writable.
+ builder.put("TMP", null);
+ builder.put("TEMP", null);
+
String ldLibraryPath = System.getenv("LD_LIBRARY_PATH");
if (ldLibraryPath != null) {
builder.put("LD_LIBRARY_PATH", ldLibraryPath);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AarGeneratorBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/AarGeneratorBuilder.java
index ee098453e6..c4c194bcb7 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AarGeneratorBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AarGeneratorBuilder.java
@@ -141,6 +141,7 @@ public class AarGeneratorBuilder {
ruleContext.registerAction(
this.builder
+ .useDefaultShellEnvironment()
.addInputs(ImmutableList.<Artifact>copyOf(ins))
.addOutputs(ImmutableList.<Artifact>copyOf(outs))
.setCommandLine(CommandLine.of(args))
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceMergingActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceMergingActionBuilder.java
index abb7735e7c..3e7e853d57 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceMergingActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceMergingActionBuilder.java
@@ -201,6 +201,7 @@ public class AndroidResourceMergingActionBuilder {
// Create the spawn action.
ruleContext.registerAction(
spawnActionBuilder
+ .useDefaultShellEnvironment()
.addTransitiveInputs(inputs.build())
.addOutputs(ImmutableList.copyOf(outs))
.setCommandLine(builder.build())
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceParsingActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceParsingActionBuilder.java
index 62ea11d86e..67d083074f 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceParsingActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceParsingActionBuilder.java
@@ -160,6 +160,7 @@ public class AndroidResourceParsingActionBuilder {
// Create the spawn action.
ruleContext.registerAction(
spawnActionBuilder
+ .useDefaultShellEnvironment()
.addTransitiveInputs(inputs.build())
.addOutputs(ImmutableList.of(output))
.setCommandLine(builder.build())
@@ -195,6 +196,7 @@ public class AndroidResourceParsingActionBuilder {
ruleContext.registerAction(
new SpawnAction.Builder()
.useParameterFile(ParameterFileType.UNQUOTED)
+ .useDefaultShellEnvironment()
.addTransitiveInputs(inputs.build())
.addOutputs(ImmutableList.copyOf(outs))
.setCommandLine(flatFileBuilder.build())
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceValidatorActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceValidatorActionBuilder.java
index 0b00e35201..832fc66ced 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceValidatorActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceValidatorActionBuilder.java
@@ -186,6 +186,7 @@ public class AndroidResourceValidatorActionBuilder {
ruleContext.registerAction(
new SpawnAction.Builder()
.useParameterFile(ParameterFileType.UNQUOTED)
+ .useDefaultShellEnvironment()
.addTool(sdk.getAapt2())
.addInputs(inputs.build())
.addOutputs(outs.build())
@@ -256,6 +257,7 @@ public class AndroidResourceValidatorActionBuilder {
ruleContext.registerAction(
spawnActionBuilder
.useParameterFile(ParameterFileType.UNQUOTED)
+ .useDefaultShellEnvironment()
.addTool(sdk.getAapt())
.addInputs(inputs.build())
.addOutputs(ImmutableList.copyOf(outs))
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 563570c384..4d4143c2ca 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
@@ -305,6 +305,7 @@ public class AndroidResourcesProcessorBuilder {
ruleContext.registerAction(
this.spawnActionBuilder
.useDefaultShellEnvironment()
+ .useDefaultShellEnvironment()
.addTool(sdk.getAapt2())
.addTransitiveInputs(inputs.build())
.addOutputs(ImmutableList.<Artifact>copyOf(outs))
@@ -364,6 +365,7 @@ public class AndroidResourcesProcessorBuilder {
ruleContext.registerAction(
this.spawnActionBuilder
.useDefaultShellEnvironment()
+ .useDefaultShellEnvironment()
.addTool(sdk.getAapt())
.addTransitiveInputs(inputs.build())
.addOutputs(ImmutableList.copyOf(outs))
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/LibraryRGeneratorActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/LibraryRGeneratorActionBuilder.java
index f0862629d4..bd866ee778 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/LibraryRGeneratorActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/LibraryRGeneratorActionBuilder.java
@@ -87,9 +87,10 @@ public class LibraryRGeneratorActionBuilder {
SpawnAction.Builder spawnActionBuilder = new SpawnAction.Builder();
ruleContext.registerAction(
spawnActionBuilder
+ .useParameterFile(ParameterFileType.UNQUOTED)
+ .useDefaultShellEnvironment()
.addTransitiveInputs(inputs.build())
.addOutputs(ImmutableList.<Artifact>of(rJavaClassJar))
- .useParameterFile(ParameterFileType.UNQUOTED)
.setCommandLine(builder.build())
.setExecutable(executable)
.setProgressMessage("Generating Library R Classes: %s", ruleContext.getLabel())
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/ManifestMergerActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/ManifestMergerActionBuilder.java
index 7e6aaad3e7..52c801437b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/ManifestMergerActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/ManifestMergerActionBuilder.java
@@ -146,6 +146,7 @@ public class ManifestMergerActionBuilder {
ruleContext.registerAction(
this.spawnActionBuilder
+ .useDefaultShellEnvironment()
.addTransitiveInputs(inputs.build())
.addOutputs(outputs.build())
.setCommandLine(builder.build())
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java
index 8bc64cbf01..149368391a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java
@@ -133,10 +133,10 @@ public class RClassGeneratorActionBuilder {
ruleContext.registerAction(
spawnActionBuilder
- .useParameterFile(ParameterFileType.UNQUOTED)
+ .useParameterFile(ParameterFileType.SHELL_QUOTED)
+ .useDefaultShellEnvironment()
.addTransitiveInputs(inputs.build())
.addOutputs(ImmutableList.<Artifact>copyOf(outs))
- .useParameterFile(ParameterFileType.SHELL_QUOTED)
.setCommandLine(builder.build())
.setExecutable(
ruleContext.getExecutablePrerequisite("$android_resources_busybox", Mode.HOST))
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java
index 4fc305f8d1..33436cd110 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java
@@ -225,6 +225,7 @@ public class ResourceShrinkerActionBuilder {
ruleContext.registerAction(
spawnActionBuilder
+ .useDefaultShellEnvironment()
.addTool(sdk.getAapt())
.addInputs(inputs.build())
.addOutputs(outputs.build())
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/RobolectricResourceSymbolsActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/RobolectricResourceSymbolsActionBuilder.java
index 354b3c710e..0a22bb1da1 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/RobolectricResourceSymbolsActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/RobolectricResourceSymbolsActionBuilder.java
@@ -115,6 +115,7 @@ public class RobolectricResourceSymbolsActionBuilder {
ruleContext.registerAction(
spawnActionBuilder
+ .useDefaultShellEnvironment()
.addInputs(inputs)
.addOutput(classJarOut)
.setCommandLine(builder.build())