Skip to content

Commit 081e52b

Browse files
committed
Add a placeholder for ctx.target_platform_has_constraint()
It looks like the actual implementation isn't being invoked just yet, but there is some code that looks up this attribute of ctx.
1 parent a16cbfe commit 081e52b

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

pkg/model/analysis/configured_target.go

+17
Original file line numberDiff line numberDiff line change
@@ -851,6 +851,8 @@ func (rc *ruleContext) Attr(thread *starlark.Thread, name string) (starlark.Valu
851851
}, nil
852852
case "runfiles":
853853
return starlark.NewBuiltin("ctx.runfiles", rc.doRunfiles), nil
854+
case "target_platform_has_constraint":
855+
return starlark.NewBuiltin("ctx.target_platform_has_constraint", rc.doTargetPlatformHasConstraint), nil
854856
case "toolchains":
855857
execGroups := rc.ruleDefinition.Message.ExecGroups
856858
execGroupIndex, ok := sort.Find(
@@ -1174,6 +1176,21 @@ func (ruleContext) doRunfiles(thread *starlark.Thread, b *starlark.Builtin, args
11741176
), nil
11751177
}
11761178

1179+
func (ruleContext) doTargetPlatformHasConstraint(thread *starlark.Thread, b *starlark.Builtin, args starlark.Tuple, kwargs []starlark.Tuple) (starlark.Value, error) {
1180+
if len(args) != 1 {
1181+
return nil, fmt.Errorf("%s: got %d positional arguments, want 1", b.Name(), len(args))
1182+
}
1183+
var constraintValue *model_starlark.Struct
1184+
if err := starlark.UnpackArgs(
1185+
b.Name(), args, kwargs,
1186+
"constraintValue", unpack.Bind(thread, &constraintValue, unpack.Type[*model_starlark.Struct]("struct")),
1187+
); err != nil {
1188+
return nil, err
1189+
}
1190+
1191+
return nil, errors.New("TODO: Implement target platform has constraint")
1192+
}
1193+
11771194
func (rc *ruleContext) getAttrValueParts(namedAttr *model_starlark_pb.NamedAttr) (valueParts model_core.Message[[]*model_starlark_pb.Value], visibilityFromPackage label.CanonicalPackage, err error) {
11781195
attr := namedAttr.Attr
11791196
var badCanonicalPackage label.CanonicalPackage

0 commit comments

Comments
 (0)