Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrNoMatchingVersion = errors.New("no matching versions")
Functions ¶
Types ¶
type Auth ¶
Auth defines a typical VCS authentication mechanism, such as SSH key or username/password.
type EphemeralTagStorage ¶
type EphemeralTagStorage struct {
// contains filtered or unexported fields
}
func NewEphemeralTagStorage ¶
func NewEphemeralTagStorage() *EphemeralTagStorage
type Module ¶
type Module interface { Timestamp(ctx context.Context, version Version) (time.Time, error) Zip(ctx context.Context, version Version) (io.ReadCloser, error) }
Module is a source code snapshot for which one can get the commit timestamp or the actual ZIP with the source code in it.
type VCS ¶
VCS is a version control system client. It can list available versions from the remote, as well as fetch module data such as timestamp or zip snapshot.
func NewCommand ¶
func NewGit ¶
NewGit return a go-git VCS client implementation that provides information about the specific module using the pgiven authentication mechanism.
func NewGitWithEphemeralTags ¶
func NewGitWithEphemeralTags(l logger, dir string, module string, auth Auth, storage *EphemeralTagStorage) VCS
NewGitWithEphemeralTags return a go-git VCS client implementation that provides information about the specific module using the given authentication mechanism while adding support to ephemeral tags.