Skip to content

Commit d66f6ea

Browse files
authored
[refactor] Remove devbox interface (#1690)
## Summary Removes the devbox interface (`devbox.go` in root). I feel like it was making code harder to follow and not providing any value. Chatted with @loreto a few weeks ago about doing this. I was about to add a new function to interface and decided to remove instead. A possible follow up could be to remove `devopt.Opts` to avoid some ducplication. ## How was it tested? builds, CICD.
1 parent 34c5f35 commit d66f6ea

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+87
-150
lines changed

.github/workflows/docker-image-release.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@ jobs:
2020
- name: Build and push default
2121
uses: docker/build-push-action@v4
2222
with:
23-
context: ./internal/impl/generate/tmpl/
24-
file: ./internal/impl/generate/tmpl/DevboxImageDockerfile
23+
context: ./internal/devbox/generate/tmpl/
24+
file: ./internal/devbox/generate/tmpl/DevboxImageDockerfile
2525
push: true
2626
platforms: linux/amd64,linux/arm64
2727
tags: jetpackio/devbox:latest
2828
- name: Build and push root user
2929
uses: docker/build-push-action@v4
3030
with:
31-
context: ./internal/impl/generate/tmpl/
32-
file: ./internal/impl/generate/tmpl/DevboxImageDockerfileRootUser
31+
context: ./internal/devbox/generate/tmpl/
32+
file: ./internal/devbox/generate/tmpl/DevboxImageDockerfileRootUser
3333
push: true
3434
platforms: linux/amd64,linux/arm64
3535
tags: jetpackio/devbox-root-user:latest

devbox.go

Lines changed: 0 additions & 67 deletions
This file was deleted.

internal/boxcli/add.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import (
99
"github.com/pkg/errors"
1010
"github.com/spf13/cobra"
1111

12-
"go.jetpack.io/devbox"
1312
"go.jetpack.io/devbox/internal/boxcli/usererr"
14-
"go.jetpack.io/devbox/internal/impl/devopt"
13+
"go.jetpack.io/devbox/internal/devbox"
14+
"go.jetpack.io/devbox/internal/devbox/devopt"
1515
"go.jetpack.io/devbox/internal/nix"
1616
)
1717

internal/boxcli/cloud.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ import (
1010
"github.com/pkg/errors"
1111
"github.com/spf13/cobra"
1212

13-
"go.jetpack.io/devbox"
1413
"go.jetpack.io/devbox/internal/boxcli/usererr"
1514
"go.jetpack.io/devbox/internal/cloud"
15+
"go.jetpack.io/devbox/internal/devbox"
16+
"go.jetpack.io/devbox/internal/devbox/devopt"
1617
"go.jetpack.io/devbox/internal/envir"
17-
"go.jetpack.io/devbox/internal/impl/devopt"
1818
)
1919

2020
type cloudShellCmdFlags struct {

internal/boxcli/env.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"github.com/joho/godotenv"
1010
"github.com/pkg/errors"
1111
"github.com/spf13/cobra"
12-
"go.jetpack.io/devbox/internal/impl/devopt"
12+
"go.jetpack.io/devbox/internal/devbox/devopt"
1313
)
1414

1515
// to be composed into xyzCmdFlags structs

internal/boxcli/envsec.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ package boxcli
66
import (
77
"github.com/pkg/errors"
88
"github.com/spf13/cobra"
9-
"go.jetpack.io/devbox"
109
"go.jetpack.io/devbox/internal/build"
11-
"go.jetpack.io/devbox/internal/impl/devopt"
10+
"go.jetpack.io/devbox/internal/devbox"
11+
"go.jetpack.io/devbox/internal/devbox/devopt"
1212
"go.jetpack.io/envsec/pkg/envsec"
1313
"go.jetpack.io/pkg/envvar"
1414
)

internal/boxcli/generate.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ import (
77
"github.com/pkg/errors"
88
"github.com/spf13/cobra"
99

10-
"go.jetpack.io/devbox"
1110
"go.jetpack.io/devbox/internal/cloud"
12-
"go.jetpack.io/devbox/internal/impl/devopt"
11+
"go.jetpack.io/devbox/internal/devbox"
12+
"go.jetpack.io/devbox/internal/devbox/devopt"
1313
)
1414

1515
type generateCmdFlags struct {

internal/boxcli/global.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import (
99
"github.com/pkg/errors"
1010
"github.com/spf13/cobra"
1111

12-
"go.jetpack.io/devbox"
13-
"go.jetpack.io/devbox/internal/impl/devopt"
12+
"go.jetpack.io/devbox/internal/devbox"
13+
"go.jetpack.io/devbox/internal/devbox/devopt"
1414
"go.jetpack.io/devbox/internal/ux"
1515
)
1616

internal/boxcli/info.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import (
99
"github.com/pkg/errors"
1010
"github.com/spf13/cobra"
1111

12-
"go.jetpack.io/devbox"
13-
"go.jetpack.io/devbox/internal/impl/devopt"
12+
"go.jetpack.io/devbox/internal/devbox"
13+
"go.jetpack.io/devbox/internal/devbox/devopt"
1414
)
1515

1616
type infoCmdFlags struct {

internal/boxcli/init.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"github.com/pkg/errors"
88
"github.com/spf13/cobra"
99

10-
"go.jetpack.io/devbox"
10+
"go.jetpack.io/devbox/internal/devbox"
1111
)
1212

1313
func initCmd() *cobra.Command {

internal/boxcli/install.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import (
99
"github.com/pkg/errors"
1010
"github.com/spf13/cobra"
1111

12-
"go.jetpack.io/devbox"
13-
"go.jetpack.io/devbox/internal/impl/devopt"
12+
"go.jetpack.io/devbox/internal/devbox"
13+
"go.jetpack.io/devbox/internal/devbox/devopt"
1414
)
1515

1616
func installCmd() *cobra.Command {

internal/boxcli/integrate.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ import (
1212

1313
"github.com/spf13/cobra"
1414
"github.com/zealic/go2node"
15-
"go.jetpack.io/devbox"
1615
"go.jetpack.io/devbox/internal/debug"
17-
"go.jetpack.io/devbox/internal/impl/devopt"
16+
"go.jetpack.io/devbox/internal/devbox"
17+
"go.jetpack.io/devbox/internal/devbox/devopt"
1818
)
1919

2020
type integrateCmdFlags struct {

internal/boxcli/midcobra/telemetry.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ import (
1111
"github.com/pkg/errors"
1212
"github.com/spf13/cobra"
1313
"github.com/spf13/pflag"
14-
"go.jetpack.io/devbox"
1514
"go.jetpack.io/devbox/internal/boxcli/featureflag"
1615
"go.jetpack.io/devbox/internal/boxcli/usererr"
16+
"go.jetpack.io/devbox/internal/devbox"
17+
"go.jetpack.io/devbox/internal/devbox/devopt"
1718
"go.jetpack.io/devbox/internal/envir"
18-
"go.jetpack.io/devbox/internal/impl/devopt"
1919
"go.jetpack.io/devbox/internal/telemetry"
2020
)
2121

internal/boxcli/multi/multi.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@ import (
44
"io/fs"
55
"path/filepath"
66

7-
"go.jetpack.io/devbox"
87
"go.jetpack.io/devbox/internal/debug"
8+
"go.jetpack.io/devbox/internal/devbox"
9+
"go.jetpack.io/devbox/internal/devbox/devopt"
910
"go.jetpack.io/devbox/internal/devconfig"
10-
"go.jetpack.io/devbox/internal/impl/devopt"
1111
)
1212

13-
func Open(opts *devopt.Opts) ([]devbox.Devbox, error) {
13+
func Open(opts *devopt.Opts) ([]*devbox.Devbox, error) {
1414
defer debug.FunctionTimer().End()
1515

16-
var boxes []devbox.Devbox
16+
var boxes []*devbox.Devbox
1717
err := filepath.WalkDir(
1818
".",
1919
func(path string, dirEntry fs.DirEntry, err error) error {

internal/boxcli/pull.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ import (
1212
"github.com/pkg/errors"
1313
"github.com/spf13/cobra"
1414

15-
"go.jetpack.io/devbox"
1615
"go.jetpack.io/devbox/internal/boxcli/usererr"
16+
"go.jetpack.io/devbox/internal/devbox"
17+
"go.jetpack.io/devbox/internal/devbox/devopt"
1718
"go.jetpack.io/devbox/internal/goutil"
18-
"go.jetpack.io/devbox/internal/impl/devopt"
1919
"go.jetpack.io/devbox/internal/pullbox/s3"
2020
"go.jetpack.io/pkg/auth"
2121
)

internal/boxcli/push.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import (
88
"github.com/spf13/cobra"
99
"go.jetpack.io/pkg/auth"
1010

11-
"go.jetpack.io/devbox"
11+
"go.jetpack.io/devbox/internal/devbox"
12+
"go.jetpack.io/devbox/internal/devbox/devopt"
1213
"go.jetpack.io/devbox/internal/goutil"
13-
"go.jetpack.io/devbox/internal/impl/devopt"
1414
)
1515

1616
type pushCmdFlags struct {

internal/boxcli/rm.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ package boxcli
66
import (
77
"github.com/pkg/errors"
88
"github.com/spf13/cobra"
9-
"go.jetpack.io/devbox"
10-
"go.jetpack.io/devbox/internal/impl/devopt"
9+
"go.jetpack.io/devbox/internal/devbox"
10+
"go.jetpack.io/devbox/internal/devbox/devopt"
1111
)
1212

1313
type removeCmdFlags struct {

internal/boxcli/run.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ import (
1212
"github.com/spf13/cobra"
1313
"github.com/spf13/pflag"
1414

15-
"go.jetpack.io/devbox"
1615
"go.jetpack.io/devbox/internal/boxcli/usererr"
1716
"go.jetpack.io/devbox/internal/debug"
18-
"go.jetpack.io/devbox/internal/impl/devopt"
17+
"go.jetpack.io/devbox/internal/devbox"
18+
"go.jetpack.io/devbox/internal/devbox/devopt"
1919
"go.jetpack.io/devbox/internal/redact"
2020
)
2121

internal/boxcli/services.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ package boxcli
66
import (
77
"github.com/pkg/errors"
88
"github.com/spf13/cobra"
9-
"go.jetpack.io/devbox"
10-
"go.jetpack.io/devbox/internal/impl/devopt"
9+
"go.jetpack.io/devbox/internal/devbox"
10+
"go.jetpack.io/devbox/internal/devbox/devopt"
1111
)
1212

1313
type servicesCmdFlags struct {

internal/boxcli/shell.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ import (
99
"github.com/pkg/errors"
1010
"github.com/spf13/cobra"
1111

12-
"go.jetpack.io/devbox"
1312
"go.jetpack.io/devbox/internal/boxcli/usererr"
13+
"go.jetpack.io/devbox/internal/devbox"
14+
"go.jetpack.io/devbox/internal/devbox/devopt"
1415
"go.jetpack.io/devbox/internal/envir"
15-
"go.jetpack.io/devbox/internal/impl/devopt"
1616
)
1717

1818
type shellCmdFlags struct {

internal/boxcli/shellenv.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import (
99
"strings"
1010

1111
"github.com/spf13/cobra"
12-
"go.jetpack.io/devbox"
13-
"go.jetpack.io/devbox/internal/impl/devopt"
12+
"go.jetpack.io/devbox/internal/devbox"
13+
"go.jetpack.io/devbox/internal/devbox/devopt"
1414
)
1515

1616
type shellEnvCmdFlags struct {

internal/boxcli/update.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import (
77
"github.com/pkg/errors"
88
"github.com/spf13/cobra"
99

10-
"go.jetpack.io/devbox"
1110
"go.jetpack.io/devbox/internal/boxcli/multi"
1211
"go.jetpack.io/devbox/internal/boxcli/usererr"
13-
"go.jetpack.io/devbox/internal/impl/devopt"
12+
"go.jetpack.io/devbox/internal/devbox"
13+
"go.jetpack.io/devbox/internal/devbox/devopt"
1414
)
1515

1616
type updateCmdFlags struct {

internal/conf/doc.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
// Use of this source code is governed by the license in the LICENSE file.
33

44
// Package conf is future home of the config (devbox.json) management code.
5-
// it will merge exiting plugin and impl/config.go code.
5+
// it will merge exiting plugin and devbox/config.go code.
66
package conf

internal/impl/devbox.go renamed to internal/devbox/devbox.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// Copyright 2023 Jetpack Technologies Inc and contributors. All rights reserved.
22
// Use of this source code is governed by the license in the LICENSE file.
33

4-
// Package impl creates isolated development environments.
5-
package impl
4+
// Package devbox creates isolated development environments.
5+
package devbox
66

77
import (
88
"bytes"
@@ -24,10 +24,10 @@ import (
2424
"github.com/pkg/errors"
2525
"github.com/samber/lo"
2626
"go.jetpack.io/devbox/internal/cachehash"
27+
"go.jetpack.io/devbox/internal/devbox/envpath"
28+
"go.jetpack.io/devbox/internal/devbox/generate"
2729
"go.jetpack.io/devbox/internal/devpkg"
2830
"go.jetpack.io/devbox/internal/devpkg/pkgtype"
29-
"go.jetpack.io/devbox/internal/impl/envpath"
30-
"go.jetpack.io/devbox/internal/impl/generate"
3131
"go.jetpack.io/devbox/internal/searcher"
3232
"go.jetpack.io/devbox/internal/shellgen"
3333
"go.jetpack.io/devbox/internal/telemetry"
@@ -36,10 +36,10 @@ import (
3636
"go.jetpack.io/devbox/internal/cmdutil"
3737
"go.jetpack.io/devbox/internal/conf"
3838
"go.jetpack.io/devbox/internal/debug"
39+
"go.jetpack.io/devbox/internal/devbox/devopt"
3940
"go.jetpack.io/devbox/internal/devconfig"
4041
"go.jetpack.io/devbox/internal/envir"
4142
"go.jetpack.io/devbox/internal/fileutil"
42-
"go.jetpack.io/devbox/internal/impl/devopt"
4343
"go.jetpack.io/devbox/internal/lock"
4444
"go.jetpack.io/devbox/internal/nix"
4545
"go.jetpack.io/devbox/internal/plugin"
@@ -74,6 +74,10 @@ type Devbox struct {
7474

7575
var legacyPackagesWarningHasBeenShown = false
7676

77+
func InitConfig(dir string, writer io.Writer) (bool, error) {
78+
return devconfig.Init(dir, writer)
79+
}
80+
7781
func Open(opts *devopt.Opts) (*Devbox, error) {
7882
projectDir, err := findProjectDir(opts.Dir)
7983
if err != nil {

0 commit comments

Comments
 (0)