2121import com .google .devtools .build .lib .analysis .PlatformConfiguration ;
2222import com .google .devtools .build .lib .analysis .RuleDefinition ;
2323import com .google .devtools .build .lib .analysis .RuleDefinitionEnvironment ;
24+ import com .google .devtools .build .lib .packages .BuildType ;
2425import com .google .devtools .build .lib .packages .RuleClass ;
2526import com .google .devtools .build .lib .packages .RuleClass .ToolchainResolutionMode ;
2627import com .google .devtools .build .lib .packages .Type ;
@@ -41,6 +42,13 @@ public RuleClass build(RuleClass.Builder builder, RuleDefinitionEnvironment env)
4142 // No need to show up in ":all", etc. target patterns.
4243 .value (ImmutableList .of ("manual" ))
4344 .nonconfigurable ("low-level attribute, used in platform configuration" ))
45+ .override (
46+ // A platform is essentially a constant which is never linked into a target.
47+ // This will, in a very hacky way, suppress picking up default_applicable_licenses
48+ attr ("applicable_licenses" , BuildType .LABEL_LIST )
49+ .value (ImmutableList .of ())
50+ .allowedFileTypes ()
51+ .nonconfigurable ("fundamental constant, used in platform configuration" ))
4452 .exemptFromConstraintChecking ("this rule helps *define* a constraint" )
4553 .useToolchainResolution (ToolchainResolutionMode .DISABLED )
4654 .removeAttribute ("deps" )
@@ -57,5 +65,4 @@ public Metadata getMetadata() {
5765 .ancestors (BaseRuleClasses .NativeActionCreatingRule .class )
5866 .build ();
5967 }
60-
6168}
0 commit comments