mirror of
https://github.com/TECHNOFAB11/jsonnet-bundler.git
synced 2025-12-11 23:50:05 +01:00
Add correct lockfile handling
This commit is contained in:
parent
061fe0fb19
commit
74c4caa0cf
5 changed files with 162 additions and 49 deletions
|
|
@ -220,7 +220,21 @@ func parseGithubDependency(urlString string) *spec.Dependency {
|
|||
}
|
||||
|
||||
func installCommand(jsonnetHome string, urls ...*url.URL) int {
|
||||
m, err := pkg.LoadJsonnetfile(pkg.JsonnetFile)
|
||||
workdir := "."
|
||||
|
||||
useLock, err := pkg.LockExists(workdir)
|
||||
if err != nil {
|
||||
kingpin.Fatalf("failed to check if jsonnetfile.lock.json exists: %v", err)
|
||||
return 1
|
||||
}
|
||||
|
||||
jsonnetfile, err := pkg.ChooseJsonnetFile(workdir)
|
||||
if err != nil {
|
||||
kingpin.Fatalf("failed to choose jsonnetfile: %v", err)
|
||||
return 1
|
||||
}
|
||||
|
||||
m, err := pkg.LoadJsonnetfile(jsonnetfile)
|
||||
if err != nil {
|
||||
kingpin.Fatalf("failed to load jsonnetfile: %v", err)
|
||||
return 1
|
||||
|
|
@ -269,34 +283,37 @@ func installCommand(jsonnetHome string, urls ...*url.URL) int {
|
|||
return 3
|
||||
}
|
||||
|
||||
lock, err := pkg.Install(context.TODO(), m, jsonnetHome)
|
||||
lock, err := pkg.Install(context.TODO(), jsonnetfile, m, jsonnetHome)
|
||||
if err != nil {
|
||||
kingpin.Fatalf("failed to install: %v", err)
|
||||
return 3
|
||||
}
|
||||
|
||||
b, err := json.MarshalIndent(m, "", " ")
|
||||
if err != nil {
|
||||
kingpin.Fatalf("failed to encode jsonnet file: %v", err)
|
||||
return 3
|
||||
}
|
||||
// If installing from lock file there is no need to write any files back.
|
||||
if !useLock {
|
||||
b, err := json.MarshalIndent(m, "", " ")
|
||||
if err != nil {
|
||||
kingpin.Fatalf("failed to encode jsonnet file: %v", err)
|
||||
return 3
|
||||
}
|
||||
|
||||
err = ioutil.WriteFile(pkg.JsonnetFile, b, 0644)
|
||||
if err != nil {
|
||||
kingpin.Fatalf("failed to write jsonnet file: %v", err)
|
||||
return 3
|
||||
}
|
||||
err = ioutil.WriteFile(pkg.JsonnetFile, b, 0644)
|
||||
if err != nil {
|
||||
kingpin.Fatalf("failed to write jsonnet file: %v", err)
|
||||
return 3
|
||||
}
|
||||
|
||||
b, err = json.MarshalIndent(lock, "", " ")
|
||||
if err != nil {
|
||||
kingpin.Fatalf("failed to encode jsonnet file: %v", err)
|
||||
return 3
|
||||
}
|
||||
b, err = json.MarshalIndent(lock, "", " ")
|
||||
if err != nil {
|
||||
kingpin.Fatalf("failed to encode jsonnet file: %v", err)
|
||||
return 3
|
||||
}
|
||||
|
||||
err = ioutil.WriteFile(pkg.JsonnetLockFile, b, 0644)
|
||||
if err != nil {
|
||||
kingpin.Fatalf("failed to write lock file: %v", err)
|
||||
return 3
|
||||
err = ioutil.WriteFile(pkg.JsonnetLockFile, b, 0644)
|
||||
if err != nil {
|
||||
kingpin.Fatalf("failed to write lock file: %v", err)
|
||||
return 3
|
||||
}
|
||||
}
|
||||
|
||||
return 0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue