diff --git a/internal/rosa/git.go b/internal/rosa/git.go index 1cdc163..0153f54 100644 --- a/internal/rosa/git.go +++ b/internal/rosa/git.go @@ -76,3 +76,26 @@ make \ ) } func init() { artifactsF[Git] = Toolchain.newGit } + +// NewViaGit returns a [pkg.Artifact] for cloning a git repository. +func (t Toolchain) NewViaGit( + name, url, rev string, + checksum pkg.Checksum, +) pkg.Artifact { + return t.New(name+"-"+rev, 0, []pkg.Artifact{ + t.Load(NSSCACert), + t.Load(OpenSSL), + t.Load(Libpsl), + t.Load(Curl), + t.Load(Libexpat), + t.Load(Git), + }, &checksum, nil, ` +git \ + -c advice.detachedHead=false \ + clone \ + --revision=`+rev+` \ + `+url+` \ + /work +rm -rf /work/.git +`, resolvconf()) +}