10 func whichdo(tgt *Tgt) (dos []string, err error) {
12 fdTmp, err = os.CreateTemp("", "whichdo")
16 err = os.Remove(fdTmp.Name())
20 err = depBuildWrite(fdTmp, BuildUUID)
26 tgtH, tgtT := path.Split(tgt.a)
27 doFile, upLevels, err = findDo(fdTmp, fdTmp.Name(), tgtH, tgtT)
31 _, err = fdTmp.Seek(0, io.SeekStart)
36 data, err = io.ReadAll(fdTmp)
42 dep, err = depParse(tgt, data)
46 for _, ifcreate := range dep.ifcreates {
47 dos = append(dos, ifcreate.RelTo(Cwd))
49 for _, ifchange := range dep.ifchanges {
50 dos = append(dos, ifchange.tgt.RelTo(Cwd))
54 err = errors.New("no .do found")
57 p := make([]string, 0, upLevels+2)
59 for i := 0; i < upLevels; i++ {
63 dos = append(dos, mustRel(Cwd, path.Join(p...)))