diff options
author | 2016-06-30 19:53:51 +0000 | |
---|---|---|
committer | 2016-07-01 07:11:55 +0000 | |
commit | 7d9c6505789932e4501587241dc5e7cf0f47cb5b (patch) | |
tree | f6669e401ab4aacb2c3ce6ca0c1e20a94e97cc74 /src | |
parent | 6454347249c2c9a4b36c0fadaa99d8505d2c9376 (diff) |
Ignore make variables undefined for requested platform.
--
MOS_MIGRATED_REVID=126333303
Diffstat (limited to 'src')
4 files changed, 17 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Package.java b/src/main/java/com/google/devtools/build/lib/packages/Package.java index 04a8ef44c3..537866e765 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/Package.java +++ b/src/main/java/com/google/devtools/build/lib/packages/Package.java @@ -397,7 +397,10 @@ public class Package { public Map<String, String> getAllMakeVariables(String platform) { ImmutableMap.Builder<String, String> map = ImmutableMap.builder(); for (String var : makeEnv.getBindings().keySet()) { - map.put(var, makeEnv.lookup(var, platform)); + String value = makeEnv.lookup(var, platform); + if (value != null) { + map.put(var, value); + } } return map.build(); } diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java index 85a3adbccf..f242aebb1a 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java +++ b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java @@ -338,23 +338,24 @@ public final class PackageFactory { @VisibleForTesting public abstract static class FactoryForTesting { public final PackageFactory create(RuleClassProvider ruleClassProvider, FileSystem fs) { - return create(ruleClassProvider, ImmutableList.<EnvironmentExtension>of(), fs); + return create(ruleClassProvider, null, ImmutableList.<EnvironmentExtension>of(), fs); } public final PackageFactory create( RuleClassProvider ruleClassProvider, EnvironmentExtension environmentExtension, FileSystem fs) { - return create(ruleClassProvider, ImmutableList.of(environmentExtension), fs); + return create(ruleClassProvider, null, ImmutableList.of(environmentExtension), fs); } public final PackageFactory create( RuleClassProvider ruleClassProvider, + Map<String, String> platformSetRegexps, Iterable<EnvironmentExtension> environmentExtensions, FileSystem fs) { return create( ruleClassProvider, - null, + platformSetRegexps, AttributeContainer.ATTRIBUTE_CONTAINER_FACTORY, environmentExtensions, "test", diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java index ad3758b6f5..d552c20770 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java @@ -204,7 +204,10 @@ public abstract class BuildViewTestCase extends FoundationTestCase { mutableActionGraph = new MapBasedActionGraph(); ruleClassProvider = getRuleClassProvider(); pkgFactory = TestConstants.PACKAGE_FACTORY_FACTORY_FOR_TESTING.create( - ruleClassProvider, getEnvironmentExtensions(), scratch.getFileSystem()); + ruleClassProvider, + getPlatformSetRegexps(), + getEnvironmentExtensions(), + scratch.getFileSystem()); tsgm = new TimestampGranularityMonitor(BlazeClock.instance()); skyframeExecutor = SequencedSkyframeExecutor.create( @@ -230,6 +233,10 @@ public abstract class BuildViewTestCase extends FoundationTestCase { ResourceManager.instance().setAvailableResources(getStartingResources()); } + protected Map<String, String> getPlatformSetRegexps() { + return null; + } + /** To be overriden by sub classes if they want to disable loading. */ protected boolean isLoadingEnabled() { return true; diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java b/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java index ee821a7948..36f7b1f665 100644 --- a/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java @@ -86,7 +86,7 @@ public abstract class PackageLoadingTestCase extends FoundationTestCase { ruleClassProvider = TestRuleClassProvider.getRuleClassProvider(); } packageFactory = TestConstants.PACKAGE_FACTORY_FACTORY_FOR_TESTING.create( - ruleClassProvider, getEnvironmentExtensions(), scratch.getFileSystem()); + ruleClassProvider, null, getEnvironmentExtensions(), scratch.getFileSystem()); skyframeExecutor = createSkyframeExecutor(getPreprocessorFactorySupplier()); setUpSkyframe(parsePackageCacheOptions()); } |