MCPcopy Index your code
hub / github.com/jetify-com/devbox / RunXPaths

Method RunXPaths

internal/devbox/devbox.go:1161–1198  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

1159}
1160
1161func (d *Devbox) RunXPaths(ctx context.Context) (string, error) {
1162 runxBinPath := filepath.Join(d.projectDir, ".devbox", "virtenv", "runx", "bin")
1163 if err := os.RemoveAll(runxBinPath); err != nil {
1164 return "", err
1165 }
1166 if err := os.MkdirAll(runxBinPath, 0o755); err != nil {
1167 return "", err
1168 }
1169
1170 for _, pkg := range d.InstallablePackages() {
1171 if !pkg.IsRunX() {
1172 continue
1173 }
1174 lockedPkg, err := d.lockfile.Resolve(pkg.Raw)
1175 if err != nil {
1176 return "", err
1177 }
1178 paths, err := pkgtype.RunXClient().Install(ctx, lockedPkg.Resolved)
1179 if err != nil {
1180 return "", err
1181 }
1182 for _, path := range paths {
1183 // create symlink to all files in p
1184 files, err := os.ReadDir(path)
1185 if err != nil {
1186 return "", err
1187 }
1188 for _, file := range files {
1189 src := filepath.Join(path, file.Name())
1190 dst := filepath.Join(runxBinPath, file.Name())
1191 if err := os.Symlink(src, dst); err != nil && !errors.Is(err, os.ErrExist) {
1192 return "", err
1193 }
1194 }
1195 }
1196 }
1197 return runxBinPath, nil
1198}
1199
1200func validateEnvironment(environment string) (string, error) {
1201 if environment == "" {

Callers 1

computeEnvMethod · 0.95

Calls 6

InstallablePackagesMethod · 0.95
RunXClientFunction · 0.92
IsRunXMethod · 0.80
IsMethod · 0.80
ResolveMethod · 0.65
InstallMethod · 0.45

Tested by

no test coverage detected