aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
diff options
context:
space:
mode:
authorGravatar cparsons <cparsons@google.com>2018-05-07 05:47:23 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-05-07 05:48:57 -0700
commit1442054f23c171bc16238e9ee845921c48082a5a (patch)
treeed59e92d46277128a0b54ae35883b8007223e0f3 /src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
parent321138f412df405e2f7c8d0963a02375f1990ac6 (diff)
Relax requirements of skylark-exposed configuration fragments
Since configuration fragments will extend from build API classes, @SkylarkConfigurationField no longer needs to annotate a method defined on a @SkylarkModule class. Ideally, we would ensure that a configuration fragment with a @SkylarkConfigurationField method implements an interface with @SkylarkModule, but this seems impossible to perform at the level of an annotation processor. RELNOTES: None. PiperOrigin-RevId: 195651344
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
index 1dc1440224..afd1735f62 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
@@ -52,6 +52,7 @@ import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.lib.packages.TestTimeout;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkInterfaceUtils;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
import com.google.devtools.build.lib.util.OS;
@@ -1395,15 +1396,13 @@ public class BuildConfiguration {
return options;
}
-
-
private ImmutableMap<String, Class<? extends Fragment>> buildIndexOfSkylarkVisibleFragments() {
ImmutableMap.Builder<String, Class<? extends Fragment>> builder = ImmutableMap.builder();
for (Class<? extends Fragment> fragmentClass : fragments.keySet()) {
- String name = SkylarkModule.Resolver.resolveName(fragmentClass);
- if (name != null) {
- builder.put(name, fragmentClass);
+ SkylarkModule module = SkylarkInterfaceUtils.getSkylarkModule(fragmentClass);
+ if (module != null) {
+ builder.put(module.name(), fragmentClass);
}
}
return builder.build();