diff options
author | 2018-05-07 05:47:23 -0700 | |
---|---|---|
committer | 2018-05-07 05:48:57 -0700 | |
commit | 1442054f23c171bc16238e9ee845921c48082a5a (patch) | |
tree | ed59e92d46277128a0b54ae35883b8007223e0f3 /src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java | |
parent | 321138f412df405e2f7c8d0963a02375f1990ac6 (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.java | 9 |
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(); |