Add ability to resolve and install transitive dependencies

This commit is contained in:
Frederic Branczyk 2018-04-25 09:01:00 +01:00
parent 5233278a99
commit f69df626e3
No known key found for this signature in database
GPG key ID: 7741A52782A90069
4 changed files with 163 additions and 87 deletions

View file

@ -19,6 +19,7 @@ import (
"context"
"os"
"os/exec"
"path"
"strings"
"github.com/jsonnet-bundler/jsonnet-bundler/spec"
@ -34,12 +35,12 @@ func NewGitPackage(source *spec.GitSource) Interface {
}
}
func (p *GitPackage) Install(ctx context.Context, dir, version string) (string, error) {
func (p *GitPackage) Install(ctx context.Context, dir, version string) (lockVersion string, err error) {
cmd := exec.CommandContext(ctx, "git", "clone", p.Source.Remote, dir)
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
err := cmd.Run()
err = cmd.Run()
if err != nil {
return "", err
}
@ -64,5 +65,11 @@ func (p *GitPackage) Install(ctx context.Context, dir, version string) (string,
}
commitHash := strings.TrimSpace(b.String())
err = os.RemoveAll(path.Join(dir, ".git"))
if err != nil {
return "", err
}
return commitHash, nil
}