Documentation
¶
Overview ¶
Package github provides functionality for interacting with GitHub repositories, including fetching release information, matching assets to specific requirements, and downloading files from repository releases. It supports authentication via GitHub tokens and provides utility functions for handling repository data.
Index ¶
- type GitHub
- func (g *GitHub) Get(attribute string) string
- func (g *GitHub) Initialize(name string) error
- func (g *GitHub) Install(d common.InstallData, progressListener getter.ProgressTracker) (output string, found file.File, err error)
- func (g *GitHub) LatestVersion() (string, error)
- func (g *GitHub) MatchAssetsToRequirements(_ []string, version string, requirements match.Requirements) (string, error)
- func (g *GitHub) Path(_ string, extensions []string, version string, requirements match.Requirements) error
- func (g *GitHub) PopulateOwnerAndRepo(name string) (err error)
- func (g *GitHub) Version(_ string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GitHub ¶
type GitHub struct {
Data common.Metadata `yaml:"-"`
Repo string
Owner string
Token string `mask:"fixed"`
Pre bool
// contains filtered or unexported fields
}
GitHub represents a GitHub repository configuration and state.
func (*GitHub) Initialize ¶
Initialize sets up the GitHub repository configuration from the given name. Returns an error if the repository name format is invalid.
func (*GitHub) Install ¶
func (g *GitHub) Install( d common.InstallData, progressListener getter.ProgressTracker, ) (output string, found file.File, err error)
Install downloads the GitHub release asset using the provided configuration. Returns the operation output, downloaded file information, and any errors.
func (*GitHub) LatestVersion ¶
LatestVersion fetches the latest release version from GitHub. Returns the tag name of the latest release, respecting the Pre flag setting.
func (*GitHub) MatchAssetsToRequirements ¶
func (g *GitHub) MatchAssetsToRequirements( _ []string, version string, requirements match.Requirements, ) (string, error)
MatchAssetsToRequirements finds release assets matching the given requirements. Returns the download URL of the best matching asset, considering platform, architecture, and other specified requirements.
func (*GitHub) Path ¶
func (g *GitHub) Path(_ string, extensions []string, version string, requirements match.Requirements) error
Path finds a matching release asset and stores its URL in metadata. Uses version, extensions, and requirements to find the appropriate asset.
func (*GitHub) PopulateOwnerAndRepo ¶
PopulateOwnerAndRepo sets the Owner and Repo fields from a name string. Expects name in "owner/repo" format if fields are not already set. Returns an error if the format is invalid or fields are partially set.