|
@@ -9,12 +9,12 @@ import (
|
|
|
func cmdBuild(c *cli.Context) error {
|
|
func cmdBuild(c *cli.Context) error {
|
|
|
repos, err := repos(c.Bool("all"), c.Args()...)
|
|
repos, err := repos(c.Bool("all"), c.Args()...)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return err
|
|
|
|
|
|
|
+ return cli.NewMultiError(fmt.Errorf(`failed gathering repo list`), err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
repos, err = sortRepos(repos)
|
|
repos, err = sortRepos(repos)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return err
|
|
|
|
|
|
|
+ return cli.NewMultiError(fmt.Errorf(`failed sorting repo list`, err))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
uniq := c.Bool("uniq")
|
|
uniq := c.Bool("uniq")
|
|
@@ -24,12 +24,12 @@ func cmdBuild(c *cli.Context) error {
|
|
|
for _, repo := range repos {
|
|
for _, repo := range repos {
|
|
|
r, err := fetch(repo)
|
|
r, err := fetch(repo)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return err
|
|
|
|
|
|
|
+ return cli.NewMultiError(fmt.Errorf(`failed fetching repo %q`, repo), err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
entries, err := r.SortedEntries()
|
|
entries, err := r.SortedEntries()
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return err
|
|
|
|
|
|
|
+ return cli.NewMultiError(fmt.Errorf(`failed sorting entries list for %q`, repo), err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
for _, entry := range entries {
|
|
for _, entry := range entries {
|
|
@@ -39,7 +39,7 @@ func cmdBuild(c *cli.Context) error {
|
|
|
|
|
|
|
|
from, err := r.DockerFrom(&entry)
|
|
from, err := r.DockerFrom(&entry)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return err
|
|
|
|
|
|
|
+ return cli.NewMultiError(fmt.Errorf(`failed fetching/scraping FROM for %q (tags %q)`, r.RepoName, entry.TagsString()), err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if pullMissing {
|
|
if pullMissing {
|
|
@@ -52,7 +52,7 @@ func cmdBuild(c *cli.Context) error {
|
|
|
|
|
|
|
|
cacheHash, err := r.dockerCacheHash(&entry)
|
|
cacheHash, err := r.dockerCacheHash(&entry)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return err
|
|
|
|
|
|
|
+ return cli.NewMultiError(fmt.Errorf(`failed calculating "cache hash" for %q (tags %q)`, r.RepoName, entry.TagsString()), err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
cacheTag := "bashbrew/cache:" + cacheHash
|
|
cacheTag := "bashbrew/cache:" + cacheHash
|
|
@@ -64,18 +64,18 @@ func cmdBuild(c *cli.Context) error {
|
|
|
|
|
|
|
|
commit, err := r.fetchGitRepo(&entry)
|
|
commit, err := r.fetchGitRepo(&entry)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return err
|
|
|
|
|
|
|
+ return cli.NewMultiError(fmt.Errorf(`failed fetching git repo for %q (tags %q)`, r.RepoName, entry.TagsString()), err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
archive, err := gitArchive(commit, entry.Directory)
|
|
archive, err := gitArchive(commit, entry.Directory)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return err
|
|
|
|
|
|
|
+ return cli.NewMultiError(fmt.Errorf(`failed generating git archive for %q (tags %q)`, r.RepoName, entry.TagsString()), err)
|
|
|
}
|
|
}
|
|
|
defer archive.Close()
|
|
defer archive.Close()
|
|
|
|
|
|
|
|
err = dockerBuild(cacheTag, archive)
|
|
err = dockerBuild(cacheTag, archive)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return err
|
|
|
|
|
|
|
+ return cli.NewMultiError(fmt.Errorf(`failed building %q (tags %q)`, r.RepoName, entry.TagsString()), err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -84,7 +84,7 @@ func cmdBuild(c *cli.Context) error {
|
|
|
|
|
|
|
|
err := dockerTag(cacheTag, tag)
|
|
err := dockerTag(cacheTag, tag)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return err
|
|
|
|
|
|
|
+ return cli.NewMultiError(fmt.Errorf(`failed tagging %q as %q`, cacheTag, tag), err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|