cue modules: move stdlib to pkg/alpha.dagger.io
In preparation for Europa, we will vendor multiple CUE modules: - `pkg/alpha.dagger.io`: legacy non-europa packages - `pkg/dagger.io`: core Europa packages - `pkg/universe.dagger.io`: Europa universe Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
This commit is contained in:
parent
e5316f3a1e
commit
282759c0e5
@ -21,7 +21,7 @@ import (
|
|||||||
"go.dagger.io/dagger/cmd/dagger/logger"
|
"go.dagger.io/dagger/cmd/dagger/logger"
|
||||||
"go.dagger.io/dagger/compiler"
|
"go.dagger.io/dagger/compiler"
|
||||||
"go.dagger.io/dagger/environment"
|
"go.dagger.io/dagger/environment"
|
||||||
"go.dagger.io/dagger/stdlib"
|
"go.dagger.io/dagger/pkg"
|
||||||
"golang.org/x/term"
|
"golang.org/x/term"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -315,7 +315,7 @@ func init() {
|
|||||||
|
|
||||||
func loadCode(packageName string) (*compiler.Value, error) {
|
func loadCode(packageName string) (*compiler.Value, error) {
|
||||||
sources := map[string]fs.FS{
|
sources := map[string]fs.FS{
|
||||||
stdlib.Path: stdlib.FS,
|
path.Join("cue.mod", "pkg"): pkg.FS,
|
||||||
}
|
}
|
||||||
|
|
||||||
src, err := compiler.Build("/config", sources, packageName)
|
src, err := compiler.Build("/config", sources, packageName)
|
||||||
@ -333,20 +333,23 @@ func walkStdlib(ctx context.Context, output, format string) {
|
|||||||
lg.Info().Str("output", output).Msg("generating stdlib")
|
lg.Info().Str("output", output).Msg("generating stdlib")
|
||||||
|
|
||||||
packages := map[string]*Package{}
|
packages := map[string]*Package{}
|
||||||
err := fs.WalkDir(stdlib.FS, ".", func(p string, d fs.DirEntry, err error) error {
|
err := fs.WalkDir(pkg.FS, pkg.AlphaModule, func(p string, d fs.DirEntry, err error) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if p == "." || !d.IsDir() || d.Name() == "cue.mod" {
|
|
||||||
|
if p == "." || d.Name() == pkg.AlphaModule || !d.IsDir() || d.Name() == "cue.mod" {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
p = strings.TrimPrefix(p, pkg.AlphaModule+"/")
|
||||||
|
|
||||||
// Ignore tests directories
|
// Ignore tests directories
|
||||||
if d.Name() == "tests" {
|
if d.Name() == "tests" {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
pkgName := fmt.Sprintf("%s/%s", stdlib.ModuleName, p)
|
pkgName := fmt.Sprintf("%s/%s", pkg.AlphaModule, p)
|
||||||
lg.Info().Str("package", pkgName).Str("format", format).Msg("generating doc")
|
lg.Info().Str("package", pkgName).Str("format", format).Msg("generating doc")
|
||||||
val, err := loadCode(pkgName)
|
val, err := loadCode(pkgName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -9,7 +9,7 @@ import (
|
|||||||
|
|
||||||
"github.com/gofrs/flock"
|
"github.com/gofrs/flock"
|
||||||
"github.com/rs/zerolog/log"
|
"github.com/rs/zerolog/log"
|
||||||
"go.dagger.io/dagger/stdlib"
|
"go.dagger.io/dagger/pkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -17,7 +17,7 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func isUniverse(repoName string) bool {
|
func isUniverse(repoName string) bool {
|
||||||
return strings.HasPrefix(strings.ToLower(repoName), stdlib.ModuleName)
|
return strings.HasPrefix(strings.ToLower(repoName), pkg.AlphaModule)
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsUniverseLatest check that current universe is up-to-date or no
|
// IsUniverseLatest check that current universe is up-to-date or no
|
||||||
@ -32,7 +32,7 @@ func IsUniverseLatest(ctx context.Context, workspace string) (bool, error) {
|
|||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
||||||
req, err := newRequire("alpha.dagger.io", UniverseVersionConstraint)
|
req, err := newRequire(pkg.AlphaModule, UniverseVersionConstraint)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ import (
|
|||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"go.dagger.io/dagger/stdlib"
|
"go.dagger.io/dagger/pkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Require struct {
|
type Require struct {
|
||||||
@ -27,7 +27,7 @@ func newRequire(repoName, versionConstraint string) (*Require, error) {
|
|||||||
switch {
|
switch {
|
||||||
case strings.HasPrefix(repoName, "github.com"):
|
case strings.HasPrefix(repoName, "github.com"):
|
||||||
return parseGithubRepoName(repoName, versionConstraint)
|
return parseGithubRepoName(repoName, versionConstraint)
|
||||||
case strings.HasPrefix(repoName, stdlib.ModuleName):
|
case strings.HasPrefix(repoName, pkg.AlphaModule):
|
||||||
return parseDaggerRepoName(repoName, versionConstraint)
|
return parseDaggerRepoName(repoName, versionConstraint)
|
||||||
case strings.Contains(repoName, ".git"):
|
case strings.Contains(repoName, ".git"):
|
||||||
return parseGitRepoName(repoName, versionConstraint)
|
return parseGitRepoName(repoName, versionConstraint)
|
||||||
@ -56,7 +56,7 @@ func parseGithubRepoName(repoName, versionConstraint string) (*Require, error) {
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var daggerRepoNameRegex = regexp.MustCompile(stdlib.ModuleName + `([a-zA-Z0-9/_.-]*)@?([0-9a-zA-Z.-]*)`)
|
var daggerRepoNameRegex = regexp.MustCompile(pkg.AlphaModule + `([a-zA-Z0-9/_.-]*)@?([0-9a-zA-Z.-]*)`)
|
||||||
|
|
||||||
func parseDaggerRepoName(repoName, versionConstraint string) (*Require, error) {
|
func parseDaggerRepoName(repoName, versionConstraint string) (*Require, error) {
|
||||||
repoMatches := daggerRepoNameRegex.FindStringSubmatch(repoName)
|
repoMatches := daggerRepoNameRegex.FindStringSubmatch(repoName)
|
||||||
@ -66,7 +66,7 @@ func parseDaggerRepoName(repoName, versionConstraint string) (*Require, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return &Require{
|
return &Require{
|
||||||
repo: stdlib.ModuleName,
|
repo: pkg.AlphaModule,
|
||||||
path: repoMatches[1],
|
path: repoMatches[1],
|
||||||
version: repoMatches[2],
|
version: repoMatches[2],
|
||||||
versionConstraint: versionConstraint,
|
versionConstraint: versionConstraint,
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user