diff options
author | Sergio Campama <kaipi@google.com> | 2016-12-12 17:43:29 +0000 |
---|---|---|
committer | John Cater <jcater@google.com> | 2016-12-12 20:36:04 +0000 |
commit | 860f28f421e3c2ba7fc6b321224cea81b1024fab (patch) | |
tree | 3eb77a5f8b1f692607f1329200809f55feef562c /src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java | |
parent | b11dd482eef2eb922686fb9ba96e39113cc1abd1 (diff) |
Migrates TestEnvironmentProvider to using the new Skylark declared providers API. This enables creating a TestEnvironmentProvider from Skylark.
--
PiperOrigin-RevId: 141775285
MOS_MIGRATED_REVID=141775285
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java index 78877d3425..61b8109160 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java @@ -216,7 +216,10 @@ public final class RuleConfiguredTargetBuilder { .setInstrumentedFiles(providersBuilder.getProvider(InstrumentedFilesProvider.class)); TestEnvironmentProvider environmentProvider = - providersBuilder.getProvider(TestEnvironmentProvider.class); + (TestEnvironmentProvider) + skylarkDeclaredProviders + .build() + .get(TestEnvironmentProvider.SKYLARK_CONSTRUCTOR.getKey()); if (environmentProvider != null) { testActionBuilder.addExtraEnv(environmentProvider.getEnvironment()); } @@ -310,6 +313,21 @@ public final class RuleConfiguredTargetBuilder { } /** + * Adds "declared providers" defined in native code to the rule. Use this method for declared + * providers in definitions of native rules. + * + * <p>Use {@link #addSkylarkDeclaredProvider(SkylarkClassObject, Location)} for Skylark rule + * implementations. + */ + public RuleConfiguredTargetBuilder addNativeDeclaredProviders( + Iterable<SkylarkClassObject> providers) { + for (SkylarkClassObject provider : providers) { + addNativeDeclaredProvider(provider); + } + return this; + } + + /** * Adds a "declared provider" defined in native code to the rule. * Use this method for declared providers in definitions of native rules. * |