Skip to content

Commit 96630ea

Browse files
committed
[Renaming] ComputeNixEnv -> ComputeDevboxEnv; ensurePackagesAreInstalled -> ensureProjectStateIsCurrent
1 parent 6746aba commit 96630ea

File tree

4 files changed

+36
-38
lines changed

4 files changed

+36
-38
lines changed

internal/impl/devbox.go

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ func (d *Devbox) Install(ctx context.Context) error {
253253
ctx, task := trace.NewTask(ctx, "devboxInstall")
254254
defer task.End()
255255

256-
return d.ensurePackagesAreInstalled(ctx, ensure)
256+
return d.ensureProjectStateIsCurrent(ctx, ensure)
257257
}
258258

259259
func (d *Devbox) ListScripts() []string {
@@ -288,7 +288,7 @@ func (d *Devbox) NixEnv(ctx context.Context, opts devopt.NixEnvOpts) (string, er
288288
)
289289
}
290290

291-
envs, err = d.computeNixEnv(ctx, true /*usePrintDevEnvCache*/)
291+
envs, err = d.computeDevboxEnv(ctx, true /*usePrintDevEnvCache*/)
292292
} else {
293293
envs, err = d.ensurePackagesAreInstalledAndComputeEnv(ctx)
294294
}
@@ -475,7 +475,7 @@ func (d *Devbox) GenerateEnvrcFile(ctx context.Context, force bool, envFlags dev
475475
}
476476

477477
// generate all shell files to ensure we can refer to them in the .envrc script
478-
if err := d.ensurePackagesAreInstalled(ctx, ensure); err != nil {
478+
if err := d.ensureProjectStateIsCurrent(ctx, ensure); err != nil {
479479
return err
480480
}
481481

@@ -747,7 +747,7 @@ func (d *Devbox) StartProcessManager(
747747
)
748748
}
749749

750-
// computeNixEnv computes the set of environment variables that define a Devbox
750+
// computeDevboxEnv computes the set of environment variables that define a Devbox
751751
// environment. The "devbox run" and "devbox shell" commands source these
752752
// variables into a shell before executing a command or showing an interactive
753753
// prompt.
@@ -771,11 +771,10 @@ func (d *Devbox) StartProcessManager(
771771
// programs.
772772
//
773773
// Note that the shellrc.tmpl template (which sources this environment) does
774-
// some additional processing. The computeNixEnv environment won't necessarily
774+
// some additional processing. The computeDevboxEnv environment won't necessarily
775775
// represent the final "devbox run" or "devbox shell" environments.
776-
// TODO: Rename to computeDevboxEnv?
777-
func (d *Devbox) computeNixEnv(ctx context.Context, usePrintDevEnvCache bool) (map[string]string, error) {
778-
defer trace.StartRegion(ctx, "computeNixEnv").End()
776+
func (d *Devbox) computeDevboxEnv(ctx context.Context, usePrintDevEnvCache bool) (map[string]string, error) {
777+
defer trace.StartRegion(ctx, "computeDevboxEnv").End()
779778

780779
// Append variables from current env if --pure is not passed
781780
currentEnv := os.Environ()
@@ -959,17 +958,17 @@ func (d *Devbox) ensurePackagesAreInstalledAndComputeEnv(
959958

960959
// When ensurePackagesAreInstalled is called with ensure=true, it always
961960
// returns early if the lockfile is up to date. So we don't need to check here
962-
if err := d.ensurePackagesAreInstalled(ctx, ensure); err != nil && !strings.Contains(err.Error(), "no such host") {
961+
if err := d.ensureProjectStateIsCurrent(ctx, ensure); err != nil && !strings.Contains(err.Error(), "no such host") {
963962
return nil, err
964963
} else if err != nil {
965964
ux.Fwarning(d.stderr, "Error connecting to the internet. Will attempt to use cached environment.\n")
966965
}
967966

968-
// Since ensurePackagesAreInstalled calls computeNixEnv when not up do date,
967+
// Since ensurePackagesAreInstalled calls computeDevboxEnv when not up do date,
969968
// it's ok to use usePrintDevEnvCache=true here always. This does end up
970969
// doing some non-nix work twice if lockfile is not up to date.
971970
// TODO: Improve this to avoid extra work.
972-
return d.computeNixEnv(ctx, true /*usePrintDevEnvCache*/)
971+
return d.computeDevboxEnv(ctx, true /*usePrintDevEnvCache*/)
973972
}
974973

975974
func (d *Devbox) nixPrintDevEnvCachePath() string {

internal/impl/devbox_test.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -67,21 +67,21 @@ func (n *testNix) PrintDevEnv(ctx context.Context, args *nix.PrintDevEnvArgs) (*
6767
}, nil
6868
}
6969

70-
func TestComputeNixEnv(t *testing.T) {
70+
func TestComputeDevboxEnv(t *testing.T) {
7171
d := devboxForTesting(t)
7272
d.nix = &testNix{}
7373
ctx := context.Background()
74-
env, err := d.computeNixEnv(ctx, false /*use cache*/)
75-
require.NoError(t, err, "computeNixEnv should not fail")
76-
assert.NotNil(t, env, "computeNixEnv should return a valid env")
74+
env, err := d.computeDevboxEnv(ctx, false /*use cache*/)
75+
require.NoError(t, err, "computeDevboxEnv should not fail")
76+
assert.NotNil(t, env, "computeDevboxEnv should return a valid env")
7777
}
7878

79-
func TestComputeNixPathIsIdempotent(t *testing.T) {
79+
func TestComputeDevboxPathIsIdempotent(t *testing.T) {
8080
devbox := devboxForTesting(t)
8181
devbox.nix = &testNix{"/tmp/my/path"}
8282
ctx := context.Background()
83-
env, err := devbox.computeNixEnv(ctx, false /*use cache*/)
84-
require.NoError(t, err, "computeNixEnv should not fail")
83+
env, err := devbox.computeDevboxEnv(ctx, false /*use cache*/)
84+
require.NoError(t, err, "computeDevboxEnv should not fail")
8585
path := env["PATH"]
8686
assert.NotEmpty(t, path, "path should not be nil")
8787

@@ -90,19 +90,19 @@ func TestComputeNixPathIsIdempotent(t *testing.T) {
9090
t.Setenv(envpath.PathStackEnv, env[envpath.PathStackEnv])
9191
t.Setenv(envpath.Key(devbox.projectDirHash()), env[envpath.Key(devbox.projectDirHash())])
9292

93-
env, err = devbox.computeNixEnv(ctx, false /*use cache*/)
94-
require.NoError(t, err, "computeNixEnv should not fail")
93+
env, err = devbox.computeDevboxEnv(ctx, false /*use cache*/)
94+
require.NoError(t, err, "computeDevboxEnv should not fail")
9595
path2 := env["PATH"]
9696

9797
assert.Equal(t, path, path2, "path should be the same")
9898
}
9999

100-
func TestComputeNixPathWhenRemoving(t *testing.T) {
100+
func TestComputeDevboxPathWhenRemoving(t *testing.T) {
101101
devbox := devboxForTesting(t)
102102
devbox.nix = &testNix{"/tmp/my/path"}
103103
ctx := context.Background()
104-
env, err := devbox.computeNixEnv(ctx, false /*use cache*/)
105-
require.NoError(t, err, "computeNixEnv should not fail")
104+
env, err := devbox.computeDevboxEnv(ctx, false /*use cache*/)
105+
require.NoError(t, err, "computeDevboxEnv should not fail")
106106
path := env["PATH"]
107107
assert.NotEmpty(t, path, "path should not be nil")
108108
assert.Contains(t, path, "/tmp/my/path", "path should contain /tmp/my/path")
@@ -113,8 +113,8 @@ func TestComputeNixPathWhenRemoving(t *testing.T) {
113113
t.Setenv(envpath.Key(devbox.projectDirHash()), env[envpath.Key(devbox.projectDirHash())])
114114

115115
devbox.nix.(*testNix).path = ""
116-
env, err = devbox.computeNixEnv(ctx, false /*use cache*/)
117-
require.NoError(t, err, "computeNixEnv should not fail")
116+
env, err = devbox.computeDevboxEnv(ctx, false /*use cache*/)
117+
require.NoError(t, err, "computeDevboxEnv should not fail")
118118
path2 := env["PATH"]
119119
assert.NotContains(t, path2, "/tmp/my/path", "path should not contain /tmp/my/path")
120120

internal/impl/packages.go

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,12 @@ func (d *Devbox) Add(ctx context.Context, pkgsNames []string, opts devopt.AddOpt
9898
addedPackageNames = append(addedPackageNames, packageNameForConfig)
9999
}
100100

101-
// Options must be set before ensurePackagesAreInstalled. See comment in function
101+
// Options must be set before ensureProjectStateIsCurrent. See comment in function
102102
if err := d.setPackageOptions(addedPackageNames, opts); err != nil {
103103
return err
104104
}
105105

106-
if err := d.ensurePackagesAreInstalled(ctx, install); err != nil {
106+
if err := d.ensureProjectStateIsCurrent(ctx, install); err != nil {
107107
return usererr.WithUserMessage(err, "There was an error installing nix packages")
108108
}
109109

@@ -135,7 +135,7 @@ func (d *Devbox) setPackageOptions(pkgs []string, opts devopt.AddOpts) error {
135135
}
136136
}
137137

138-
// Resolving here ensures we allow insecure before running ensurePackagesAreInstalled
138+
// Resolving here ensures we allow insecure before running ensureProjectStateIsCurrent
139139
// which will call print-dev-env. Resolving does not save the lockfile, we
140140
// save at the end when everything has succeeded.
141141
if opts.AllowInsecure {
@@ -218,14 +218,14 @@ func (d *Devbox) Remove(ctx context.Context, pkgs ...string) error {
218218
}
219219

220220
// this will clean up the now-extra package from nix profile and the lockfile
221-
if err := d.ensurePackagesAreInstalled(ctx, uninstall); err != nil {
221+
if err := d.ensureProjectStateIsCurrent(ctx, uninstall); err != nil {
222222
return err
223223
}
224224

225225
return d.saveCfg()
226226
}
227227

228-
// installMode is an enum for helping with ensurePackagesAreInstalled implementation
228+
// installMode is an enum for helping with ensureProjectStateIsCurrent implementation
229229
type installMode string
230230

231231
const (
@@ -236,19 +236,18 @@ const (
236236
ensure installMode = "ensure"
237237
)
238238

239-
// ensurePackagesAreInstalled ensures:
239+
// ensureProjectStateIsCurrent ensures:
240240
// 1. Packages are installed, in nix-profile or runx.
241241
// Extraneous packages are removed (references purged, not uninstalled).
242-
// 2. Files for devbox shellenv are generated
243-
// 3. Env-vars for shellenv are computed
242+
// 2. Plugins are installed
243+
// 3. Files for devbox shellenv are generated
244244
// 4. Lockfile is synced
245245
//
246246
// The `mode` is used for:
247247
// 1. Skipping certain operations that may not apply.
248248
// 2. User messaging to explain what operations are happening, because this function may take time to execute.
249-
// TODO: Rename method since it does more than just ensure packages are installed.
250-
func (d *Devbox) ensurePackagesAreInstalled(ctx context.Context, mode installMode) error {
251-
defer trace.StartRegion(ctx, "ensurePackages").End()
249+
func (d *Devbox) ensureProjectStateIsCurrent(ctx context.Context, mode installMode) error {
250+
defer trace.StartRegion(ctx, "ensureProjectStateIsCurrent").End()
252251
defer debug.FunctionTimer().End()
253252

254253
// if mode is install or uninstall, then we need to update the nix-profile
@@ -292,7 +291,7 @@ func (d *Devbox) ensurePackagesAreInstalled(ctx context.Context, mode installMod
292291
// Use the printDevEnvCache if we are adding or removing or updating any package,
293292
// AND we are not in the shellenv-enabled environment of the current devbox-project.
294293
usePrintDevEnvCache := mode != ensure && !d.IsEnvEnabled()
295-
if _, err := d.computeNixEnv(ctx, usePrintDevEnvCache); err != nil {
294+
if _, err := d.computeDevboxEnv(ctx, usePrintDevEnvCache); err != nil {
296295
return err
297296
}
298297

internal/impl/update.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ func (d *Devbox) Update(ctx context.Context, opts devopt.UpdateOpts) error {
6565
}
6666
}
6767

68-
if err := d.ensurePackagesAreInstalled(ctx, update); err != nil {
68+
if err := d.ensureProjectStateIsCurrent(ctx, update); err != nil {
6969
return err
7070
}
7171

0 commit comments

Comments
 (0)