Skip to content

Commit

Permalink
Allow setting platform constraints with --exec_constraints
Browse files Browse the repository at this point in the history
  • Loading branch information
coeuvre committed Mar 7, 2024
1 parent 6146252 commit d9ff4cd
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
6 changes: 6 additions & 0 deletions cmd/rbe_configs_gen/rbe_configs_gen.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (
"fmt"
"log"
"os"
"strings"

"github.com/bazelbuild/bazel-toolchains/pkg/monitoring"
"github.com/bazelbuild/bazel-toolchains/pkg/rbeconfigsgen"
Expand Down Expand Up @@ -50,6 +51,7 @@ var (
cppToolchainTarget = flag.String("cpp_toolchain_target", "", "(Optional) Set the CPP toolchain target. When exec_os is linux, the default is cc-compiler-k8. When exec_os is windows, the default is cc-compiler-x64_windows.")
genJavaConfigs = flag.Bool("generate_java_configs", true, "(Optional) Generate Java configs. Defaults to true.")
javaUseLocalRuntime = flag.Bool("java_use_local_runtime", false, "(Optional) Make the generated java toolchain use the new local_java_runtime rule instead of java_runtime. Otherwise, the Bazel version will be used to infer which rule to use.")
execConstraints = flag.String("exec_constraints", "", "(Optional) Set the platform constraint values. Use ',' to seperate multiple values.")

// Other misc arguments.
tempWorkDir = flag.String("temp_work_dir", "", "(Optional) Temporary directory to use to store intermediate files. Defaults to a temporary directory automatically allocated by the OS. The temporary working directory is deleted at the end unless --cleanup=false is specified.")
Expand Down Expand Up @@ -155,6 +157,9 @@ func main() {
log.Fatalf("Failed to initialize monitoring: %v", err)
}

platformParams := new(rbeconfigsgen.PlatformToolchainsTemplateParams)
platformParams.ExecConstraints = strings.Split(*execConstraints, ",")

o := rbeconfigsgen.Options{
BazelVersion: *bazelVersion,
BazelPath: *bazelPath,
Expand All @@ -168,6 +173,7 @@ func main() {
OutputManifest: *outputManifest,
GenCPPConfigs: *genCppConfigs,
CppGenEnvJSON: *cppEnvJSON,
PlatformParams: platformParams,
CPPToolchainTargetName: *cppToolchainTarget,
GenJavaConfigs: *genJavaConfigs,
JavaUseLocalRuntime: *javaUseLocalRuntime,
Expand Down
9 changes: 7 additions & 2 deletions pkg/rbeconfigsgen/options.go
Original file line number Diff line number Diff line change
Expand Up @@ -195,8 +195,13 @@ func (o *Options) ApplyDefaults(os string) error {
if !ok {
return fmt.Errorf("got unknown OS %q, want one of %s", os, strings.Join(validOS, ", "))
}
o.PlatformParams = new(PlatformToolchainsTemplateParams)
*o.PlatformParams = dopts.PlatformParams

if len(o.PlatformParams.ExecConstraints) == 0 {
o.PlatformParams.ExecConstraints = dopts.PlatformParams.ExecConstraints
}
o.PlatformParams.TargetConstraints = dopts.PlatformParams.TargetConstraints
o.PlatformParams.OSFamily = dopts.PlatformParams.OSFamily

o.CPPConfigTargets = dopts.CPPConfigTargets
o.CPPConfigRepo = dopts.CPPConfigRepo
o.CppBazelCmd = dopts.CppBazelCmd
Expand Down

0 comments on commit d9ff4cd

Please sign in to comment.