diff options
Diffstat (limited to 'src/main/java/com')
4 files changed, 9 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkLateBoundDefault.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkLateBoundDefault.java index 2b22fe83e6..52d316259e 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkLateBoundDefault.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkLateBoundDefault.java @@ -71,6 +71,9 @@ public class SkylarkLateBoundDefault<FragmentT> extends AbstractLabelLateBoundDe */ private static Label getDefaultLabel( SkylarkConfigurationField annotation, String toolsRepository) { + if (annotation.defaultLabel().isEmpty()) { + return null; + } Label defaultLabel = annotation.defaultInToolRepository() ? Label.parseAbsoluteUnchecked(toolsRepository + annotation.defaultLabel()) : Label.parseAbsoluteUnchecked(annotation.defaultLabel()); diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/annotations/SkylarkConfigurationField.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/annotations/SkylarkConfigurationField.java index 887cedae4e..6e72e317b8 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/annotations/SkylarkConfigurationField.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/annotations/SkylarkConfigurationField.java @@ -47,7 +47,7 @@ public @interface SkylarkConfigurationField { * <p>If the default label is under the tools repository, omit the tools repository prefix * from this default, but set {@link #defaultInToolRepository} to true.</p> */ - String defaultLabel(); + String defaultLabel() default ""; /** * Whether the default label as defined in {@link #defaultLabel} should be prefixed with diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/BUILD b/src/main/java/com/google/devtools/build/lib/rules/objc/BUILD index 73dfd7c8f5..371c58903a 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/BUILD +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/BUILD @@ -23,6 +23,7 @@ java_library( "//src/main/java/com/google/devtools/build/lib:util", "//src/main/java/com/google/devtools/build/lib/actions", "//src/main/java/com/google/devtools/build/lib/analysis/platform", + "//src/main/java/com/google/devtools/build/lib/analysis/skylark/annotations", "//src/main/java/com/google/devtools/build/lib/collect", "//src/main/java/com/google/devtools/build/lib/collect/nestedset", "//src/main/java/com/google/devtools/build/lib/concurrent", diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcConfiguration.java index f57e901765..82ac947a8c 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcConfiguration.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcConfiguration.java @@ -22,12 +22,12 @@ import com.google.devtools.build.lib.analysis.config.BuildOptions; import com.google.devtools.build.lib.analysis.config.ConfigurationEnvironment; import com.google.devtools.build.lib.analysis.config.ConfigurationFragmentFactory; import com.google.devtools.build.lib.analysis.config.FragmentOptions; +import com.google.devtools.build.lib.analysis.skylark.annotations.SkylarkConfigurationField; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.events.Event; import com.google.devtools.build.lib.events.EventHandler; 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.SkylarkModule; import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory; import java.util.Collections; @@ -143,10 +143,11 @@ public class J2ObjcConfiguration extends Fragment { * Returns null if no such report was requested. */ @Nullable - @SkylarkCallable(name = "dead_code_report", structField = true, + @SkylarkConfigurationField( + name = "dead_code_report", doc = "The label of the dead code report generated by ProGuard for dead code elimination, " + "or <code>None</code> if no such report was requested.", - allowReturnNones = true) + defaultLabel = "") public Label deadCodeReport() { return deadCodeReport; } |