func (r *ResolveDepsRule) Recipes() []string { if r.Tool == nil { return nil } return []string{ fmt.Sprintf("%s tool %q %q < $^ 1> $@", util.SafeCommandName(srclib.CommandName), r.Tool.Toolchain, r.Tool.Subcmd), } }
func (r *GraphUnitRule) Recipes() []string { if r.Tool == nil { return nil } safeCommand := util.SafeCommandName(srclib.CommandName) return []string{ fmt.Sprintf("%s tool %q %q < $< | %s internal normalize-graph-data --unit-type %q --dir . 1> $@", safeCommand, r.Tool.Toolchain, r.Tool.Subcmd, safeCommand, r.Unit.Type), } }
func (r *GraphMultiUnitsRule) Recipes() []string { if r.Tool == nil { return nil } safeCommand := util.SafeCommandName(srclib.CommandName) unitFiles := []string{} for _, u := range r.Units { unitFiles = append(unitFiles, filepath.ToSlash(filepath.Join(r.dataDir, plan.SourceUnitDataFilename(unit.SourceUnit{}, u)))) } // Use `find` command + `xargs` because otherwise the arguments list can become too long. var findCmd = "find -L" if runtime.GOOS == "windows" { findCmd = "/usr/bin/find" } return []string{ fmt.Sprintf(`%s %s -name "*%s.unit.json" | xargs %s internal emit-unit-data | %s tool %q %q | %s internal normalize-graph-data --unit-type %q --dir . --multi --data-dir %s`, findCmd, filepath.ToSlash(r.dataDir), r.UnitsType, safeCommand, safeCommand, r.Tool.Toolchain, r.Tool.Subcmd, safeCommand, r.UnitsType, filepath.ToSlash(r.dataDir)), } }
func (r *ResolveDepsRule) Recipes() []string { return []string{ fmt.Sprintf("%s tool %s %q %q < $^ 1> $@", util.SafeCommandName(srclib.CommandName), r.opt.ToolchainExecOpt, r.Tool.Toolchain, r.Tool.Subcmd), } }