Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions devbox.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import (
"go.jetpack.io/devbox/internal/devconfig"
"go.jetpack.io/devbox/internal/impl"
"go.jetpack.io/devbox/internal/impl/devopt"
"go.jetpack.io/devbox/internal/planner/plansdk"
"go.jetpack.io/devbox/internal/services"
)

Expand Down Expand Up @@ -46,9 +45,6 @@ type Devbox interface {
Services() (services.Services, error)
// Shell generates the devbox environment and launches nix-shell as a child process.
Shell(ctx context.Context) error
// ShellPlan creates a plan of the actions that devbox will take to generate its
// shell environment.
ShellPlan(ctx context.Context) (*plansdk.FlakePlan, error)
StartProcessManager(ctx context.Context, requestedServices []string, background bool, processComposeFileOrDir string) error
StartServices(ctx context.Context, services ...string) error
StopServices(ctx context.Context, allProjects bool, services ...string) error
Expand Down
56 changes: 0 additions & 56 deletions internal/boxcli/plan.go

This file was deleted.

1 change: 0 additions & 1 deletion internal/boxcli/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ func RootCmd() *cobra.Command {
command.AddCommand(installCmd())
command.AddCommand(integrateCmd())
command.AddCommand(logCmd())
command.AddCommand(planCmd())
command.AddCommand(removeCmd())
command.AddCommand(runCmd())
command.AddCommand(searchCmd())
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Copyright 2023 Jetpack Technologies Inc and contributors. All rights reserved.
// Use of this source code is governed by the license in the LICENSE file.

package plansdk
package analyzer

import (
"path/filepath"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Copyright 2023 Jetpack Technologies Inc and contributors. All rights reserved.
// Use of this source code is governed by the license in the LICENSE file.

package plansdk
package analyzer

import (
"regexp"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Copyright 2023 Jetpack Technologies Inc and contributors. All rights reserved.
// Use of this source code is governed by the license in the LICENSE file.

package plansdk
package analyzer

import (
"testing"
Expand Down
6 changes: 3 additions & 3 deletions internal/initrec/recommenders/dotnet/dotnet.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ import (
"strings"

"github.com/pkg/errors"
"go.jetpack.io/devbox/internal/initrec/analyzer"

"go.jetpack.io/devbox/internal/cuecfg"
"go.jetpack.io/devbox/internal/initrec/recommenders"
"go.jetpack.io/devbox/internal/planner/plansdk"
)

type Project struct {
Expand All @@ -31,7 +31,7 @@ type Recommender struct {
var _ recommenders.Recommender = (*Recommender)(nil)

func (r *Recommender) IsRelevant() bool {
a, err := plansdk.NewAnalyzer(r.SrcDir)
a, err := analyzer.NewAnalyzer(r.SrcDir)
if err != nil {
// We should log that an error has occurred.
return false
Expand All @@ -56,7 +56,7 @@ func (r *Recommender) Packages() []string {
}

func project(srcDir string) (*Project, error) {
a, err := plansdk.NewAnalyzer(srcDir)
a, err := analyzer.NewAnalyzer(srcDir)
if err != nil {
// We should log that an error has occurred.
return nil, err
Expand Down
4 changes: 2 additions & 2 deletions internal/initrec/recommenders/haskell/haskell.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
package haskell

import (
"go.jetpack.io/devbox/internal/initrec/analyzer"
"go.jetpack.io/devbox/internal/initrec/recommenders"
"go.jetpack.io/devbox/internal/planner/plansdk"
)

// This Project struct corresponds to the package.yaml generated during `stack new <project-name>`.
Expand All @@ -27,7 +27,7 @@ type Recommender struct {
var _ recommenders.Recommender = (*Recommender)(nil)

func (r *Recommender) IsRelevant() bool {
a, err := plansdk.NewAnalyzer(r.SrcDir)
a, err := analyzer.NewAnalyzer(r.SrcDir)
if err != nil {
// We should log that an error has occurred.
return false
Expand Down
10 changes: 5 additions & 5 deletions internal/initrec/recommenders/java/java.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ import (

"github.com/creekorful/mvnparser"
"github.com/pkg/errors"
"go.jetpack.io/devbox/internal/initrec/analyzer"

"go.jetpack.io/devbox/internal/cuecfg"
"go.jetpack.io/devbox/internal/fileutil"
"go.jetpack.io/devbox/internal/initrec/recommenders"
"go.jetpack.io/devbox/internal/planner/plansdk"
)

// misc. nix packages
Expand Down Expand Up @@ -113,8 +113,8 @@ func getJavaPackage(srcDir string, builderTool string) (string, error) {
return defaultJava, nil
}

func parseJavaVersion(srcDir string, builderTool string) (*plansdk.Version, error) {
sourceVersion, _ := plansdk.NewVersion("0")
func parseJavaVersion(srcDir string, builderTool string) (*analyzer.Version, error) {
sourceVersion, _ := analyzer.NewVersion("0")

if builderTool == MavenType {
pomXMLPath := filepath.Join(srcDir, mavenFileName)
Expand All @@ -126,7 +126,7 @@ func parseJavaVersion(srcDir string, builderTool string) (*plansdk.Version, erro
}
compilerSourceVersion, ok := parsedPom.Properties["maven.compiler.source"]
if ok {
sourceVersion, err = plansdk.NewVersion(compilerSourceVersion)
sourceVersion, err = analyzer.NewVersion(compilerSourceVersion)
if err != nil {
return nil, errors.WithMessage(err, "error parsing java version from pom file")
}
Expand All @@ -144,7 +144,7 @@ func parseJavaVersion(srcDir string, builderTool string) (*plansdk.Version, erro
line := fileScanner.Text()
if strings.Contains(line, "sourceCompatibility = ") {
compilerSourceVersion := strings.TrimSpace(strings.Split(line, "=")[1])
sourceVersion, err = plansdk.NewVersion(compilerSourceVersion)
sourceVersion, err = analyzer.NewVersion(compilerSourceVersion)
if err != nil {
return nil, errors.WithMessage(err, "error parsing java version from gradle file")
}
Expand Down
6 changes: 3 additions & 3 deletions internal/initrec/recommenders/javascript/nodejs.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import (

"go.jetpack.io/devbox/internal/cuecfg"
"go.jetpack.io/devbox/internal/fileutil"
"go.jetpack.io/devbox/internal/initrec/analyzer"
"go.jetpack.io/devbox/internal/initrec/recommenders"
"go.jetpack.io/devbox/internal/planner/plansdk"
)

type Recommender struct {
Expand Down Expand Up @@ -62,9 +62,9 @@ func (r *Recommender) nodePackage(project *nodeProject) string {
return defaultNodeJSPkg
}

func (r *Recommender) nodeVersion(project *nodeProject) *plansdk.Version {
func (r *Recommender) nodeVersion(project *nodeProject) *analyzer.Version {
if r != nil {
if v, err := plansdk.NewVersion(project.Engines.Node); err == nil {
if v, err := analyzer.NewVersion(project.Engines.Node); err == nil {
return v
}
}
Expand Down
8 changes: 4 additions & 4 deletions internal/initrec/recommenders/python/python_poetry.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ import (
"path/filepath"

"github.com/pelletier/go-toml/v2"
"go.jetpack.io/devbox/internal/initrec/analyzer"

"go.jetpack.io/devbox/internal/fileutil"
"go.jetpack.io/devbox/internal/initrec/recommenders"
"go.jetpack.io/devbox/internal/planner/plansdk"
)

type RecommenderPoetry struct {
Expand All @@ -37,15 +37,15 @@ func (r *RecommenderPoetry) Packages() []string {
}

// TODO: This can be generalized to all python planners
func (r *RecommenderPoetry) PythonVersion() *plansdk.Version {
defaultVersion, _ := plansdk.NewVersion("3.10.6")
func (r *RecommenderPoetry) PythonVersion() *analyzer.Version {
defaultVersion, _ := analyzer.NewVersion("3.10.6")
project := r.pyProject()

if project == nil {
return defaultVersion
}

if v, err := plansdk.NewVersion(project.Tool.Poetry.Dependencies.Python); err == nil {
if v, err := analyzer.NewVersion(project.Tool.Poetry.Dependencies.Python); err == nil {
return v
}
return defaultVersion
Expand Down
4 changes: 2 additions & 2 deletions internal/initrec/recommenders/zig/zig.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
package zig

import (
"go.jetpack.io/devbox/internal/initrec/analyzer"
"go.jetpack.io/devbox/internal/initrec/recommenders"
"go.jetpack.io/devbox/internal/planner/plansdk"
)

type Recommender struct {
Expand All @@ -16,7 +16,7 @@ type Recommender struct {
var _ recommenders.Recommender = (*Recommender)(nil)

func (r *Recommender) IsRelevant() bool {
a, err := plansdk.NewAnalyzer(r.SrcDir)
a, err := analyzer.NewAnalyzer(r.SrcDir)
if err != nil {
// We should log that an error has occurred.
return false
Expand Down
24 changes: 9 additions & 15 deletions internal/searcher/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"net/http"
"net/url"

"github.com/pkg/errors"
"go.jetpack.io/devbox/internal/boxcli/usererr"
"go.jetpack.io/devbox/internal/devpkg"
"go.jetpack.io/devbox/internal/envir"
Expand All @@ -19,33 +20,26 @@ import (

const searchAPIEndpoint = "https://search.devbox.sh"

func searchHost() string {
return envir.GetValueOrDefault(envir.DevboxSearchHost, searchAPIEndpoint)
}

type client struct {
endpoint string
host string
}

var cachedClient *client

func Client() *client {
if cachedClient == nil {
endpoint, _ := url.JoinPath(searchHost(), "search")
// TODO: how to handle error
cachedClient = &client{
endpoint: endpoint,
}
return &client{
host: envir.GetValueOrDefault(envir.DevboxSearchHost, searchAPIEndpoint),
}
return cachedClient
}

func (c *client) Search(query string, options ...func() string) (*SearchResult, error) {
if query == "" {
return nil, fmt.Errorf("query should not be empty")
}

searchURL := c.endpoint + "?q=" + url.QueryEscape(query)
endpoint, err := url.JoinPath(c.host, "search")
if err != nil {
return nil, errors.WithStack(err)
}
searchURL := endpoint + "?q=" + url.QueryEscape(query)

for _, op := range options {
searchURL += op()
Expand Down