fix: small fixes
This commit is contained in:
parent
01023c212b
commit
2c09577d0d
@ -6,6 +6,7 @@ import (
|
||||
"log/slog"
|
||||
"os"
|
||||
|
||||
"git.front.kjuulh.io/kjuulh/scaffold/internal/fetcher"
|
||||
"git.front.kjuulh.io/kjuulh/scaffold/internal/templates"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
@ -14,11 +15,16 @@ func getScaffoldCommands(registryPath *string) ([]*cobra.Command, error) {
|
||||
var (
|
||||
ctx = context.Background()
|
||||
ui = slog.New(slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{}))
|
||||
fetcher = fetcher.NewFetcher()
|
||||
templateIndexer = templates.NewTemplateIndexer()
|
||||
templateLoader = templates.NewTemplateLoader()
|
||||
fileWriter = templates.NewFileWriter().WithPromptOverride(promptOverrideFile)
|
||||
)
|
||||
|
||||
if !fetcher.Available(registryPath) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
templateFiles, err := templateIndexer.Index(ctx, *registryPath, ui)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to index templates: %w", err)
|
||||
|
@ -19,25 +19,41 @@ func NewFetcher() *Fetcher {
|
||||
return &Fetcher{}
|
||||
}
|
||||
|
||||
const readWriteExec = 0o644
|
||||
const readWriteExec = 0o744
|
||||
|
||||
const githubProject = "kjuulh/scaffold"
|
||||
|
||||
var (
|
||||
scaffoldFolder = os.ExpandEnv("$HOME/.scaffold")
|
||||
scaffoldClone = path.Join(scaffoldFolder, "upstream")
|
||||
scaffoldCache = path.Join(scaffoldFolder, "scaffold.updates.json")
|
||||
scaffoldFolder = os.ExpandEnv("$HOME/.scaffold")
|
||||
scaffoldClone = path.Join(scaffoldFolder, "upstream")
|
||||
scaffoldRegistry = path.Join(scaffoldClone, "registry")
|
||||
scaffoldCache = path.Join(scaffoldFolder, "scaffold.updates.json")
|
||||
)
|
||||
|
||||
func (f *Fetcher) Available(registryPath *string) bool {
|
||||
if *registryPath == "" {
|
||||
if _, err := os.Stat(scaffoldClone); err != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
func (f *Fetcher) CloneRepository(ctx context.Context, registryPath *string, ui *slog.Logger) error {
|
||||
if err := os.MkdirAll(scaffoldFolder, readWriteExec); err != nil {
|
||||
return fmt.Errorf("failed to create scaffold folder: %w", err)
|
||||
}
|
||||
|
||||
if *registryPath == "" {
|
||||
// update the registry path as it is shared
|
||||
*registryPath = scaffoldRegistry
|
||||
if _, err := os.Stat(scaffoldClone); err != nil {
|
||||
if !errors.Is(err, os.ErrNotExist) {
|
||||
return fmt.Errorf("failed to find the upstream folder: %w", err)
|
||||
return fmt.Errorf("failed to find the upstream folder: %s, %w", scaffoldClone, err)
|
||||
}
|
||||
|
||||
ui.Info("cloning upstream templates")
|
||||
|
@ -53,7 +53,7 @@ func (t *TemplateIndexer) Index(ctx context.Context, scaffoldRegistryFolder stri
|
||||
|
||||
templateDirEntries, err := os.ReadDir(scaffoldRegistryFolder)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to read templates dir: %w", err)
|
||||
return nil, fmt.Errorf("failed to read templates dir: %s, %w", scaffoldRegistryFolder, err)
|
||||
}
|
||||
|
||||
var (
|
||||
|
Loading…
x
Reference in New Issue
Block a user