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:
Andrea Luzzardi 2022-01-11 12:40:02 -08:00
parent e5316f3a1e
commit 282759c0e5
277 changed files with 33 additions and 31 deletions

View File

@ -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 {

View File

@ -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
} }

View File

@ -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