launchpad

package
v0.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 16, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FetchProjectGroupRepos added in v0.2.1

func FetchProjectGroupRepos(projectGroup string, lpConfig config.LaunchpadConfig) ([]repositories.RepositoryInfo, error)

FetchProjectGroupRepos creates a slice of RepositoryInfo types representing the repos associated with a given ProjectGroup in Launchpad.

func NewLaunchpadRepository added in v0.2.1

func NewLaunchpadRepository(project ProjectEntry, lpGroup string) repositories.Repository

NewLaunchpadRepository creates a new representation for a Launchpad Git repo

Types

type Project

type Project struct {
	// contains filtered or unexported fields
}

Project is a representation of a Launchpad project

func NewProject

func NewProject(name string) *Project

NewProject returns a new Launchpad Project

func (*Project) DefaultBranch

func (p *Project) DefaultBranch() (branch string, err error)

DefaultBranch returns the default VCS branch for a Launchpad project

func (*Project) Name

func (p *Project) Name() string

Name reports the name of the Launchpad project

func (*Project) NewCommits

func (p *Project) NewCommits() (int, error)

GetNewCommits parses the git log page for a Launchpad project and returns the number of commits that have happened on the default branch since the last tag

func (*Project) Tags

func (p *Project) Tags() (tags []*Tag, err error)

Tags returns a list of tags for a Launchpad project

type ProjectEntry

type ProjectEntry struct {
	Active                            bool          `json:"active"`
	ActiveMilestonesCollectionLink    string        `json:"active_milestones_collection_link"`
	AllMilestonesCollectionLink       string        `json:"all_milestones_collection_link"`
	AllSpecificationsCollectionLink   string        `json:"all_specifications_collection_link"`
	BranchSharingPolicy               string        `json:"branch_sharing_policy"`
	BrandLink                         string        `json:"brand_link"`
	BugReportedAcknowledgement        interface{}   `json:"bug_reported_acknowledgement"`
	BugReportingGuidelines            interface{}   `json:"bug_reporting_guidelines"`
	BugSharingPolicy                  string        `json:"bug_sharing_policy"`
	BugSupervisorLink                 string        `json:"bug_supervisor_link"`
	BugTrackerLink                    interface{}   `json:"bug_tracker_link"`
	CommercialSubscriptionIsDue       bool          `json:"commercial_subscription_is_due"`
	CommercialSubscriptionLink        interface{}   `json:"commercial_subscription_link"`
	DateCreated                       time.Time     `json:"date_created"`
	Description                       string        `json:"description"`
	DevelopmentFocusLink              string        `json:"development_focus_link"`
	DisplayName                       string        `json:"display_name"`
	DownloadURL                       interface{}   `json:"download_url"`
	DriverLink                        string        `json:"driver_link"`
	FreshmeatProject                  interface{}   `json:"freshmeat_project"`
	HomepageURL                       interface{}   `json:"homepage_url"`
	HTTPEtag                          string        `json:"http_etag"`
	IconLink                          string        `json:"icon_link"`
	InformationType                   string        `json:"information_type"`
	IsPermitted                       string        `json:"is_permitted"`
	LicenseApproved                   string        `json:"license_approved"`
	LicenseInfo                       interface{}   `json:"license_info"`
	Licenses                          []string      `json:"licenses"`
	LogoLink                          string        `json:"logo_link"`
	Name                              string        `json:"name"`
	OfficialAnswers                   bool          `json:"official_answers"`
	OfficialBlueprints                bool          `json:"official_blueprints"`
	OfficialBugs                      bool          `json:"official_bugs"`
	OfficialBugTags                   []interface{} `json:"official_bug_tags"`
	OfficialCodehosting               bool          `json:"official_codehosting"`
	OwnerLink                         string        `json:"owner_link"`
	Private                           bool          `json:"private"`
	ProgrammingLanguage               interface{}   `json:"programming_language"`
	ProjectGroupLink                  string        `json:"project_group_link"`
	ProjectReviewed                   string        `json:"project_reviewed"`
	QualifiesForFreeHosting           bool          `json:"qualifies_for_free_hosting"`
	RecipesCollectionLink             string        `json:"recipes_collection_link"`
	RegistrantLink                    string        `json:"registrant_link"`
	ReleasesCollectionLink            string        `json:"releases_collection_link"`
	RemoteProduct                     interface{}   `json:"remote_product"`
	ResourceTypeLink                  string        `json:"resource_type_link"`
	ReviewerWhiteboard                string        `json:"reviewer_whiteboard"`
	ScreenshotsURL                    interface{}   `json:"screenshots_url"`
	SelfLink                          string        `json:"self_link"`
	SeriesCollectionLink              string        `json:"series_collection_link"`
	SourceforgeProject                interface{}   `json:"sourceforge_project"`
	SpecificationSharingPolicy        string        `json:"specification_sharing_policy"`
	Summary                           string        `json:"summary"`
	Title                             string        `json:"title"`
	TranslationFocusLink              interface{}   `json:"translation_focus_link"`
	TranslationgroupLink              interface{}   `json:"translationgroup_link"`
	Translationpermission             string        `json:"translationpermission"`
	TranslationsUsage                 string        `json:"translations_usage"`
	ValidSpecificationsCollectionLink string        `json:"valid_specifications_collection_link"`
	Vcs                               string        `json:"vcs"`
	WebLink                           string        `json:"web_link"`
	WikiURL                           interface{}   `json:"wiki_url"`
}

ProjectEntry is the Launchpad API representation of a project

type ProjectGroupProjectsResponse

type ProjectGroupProjectsResponse struct {
	Start            int            `json:"start"`
	TotalSize        int            `json:"total_size"`
	Entries          []ProjectEntry `json:"entries"`
	ResourceTypeLink string         `json:"resource_type_link"`
}

ProjectGroupProjectsResponse is a representation of the response given when querying the projects associated with a Project Group on Launchpad

type Tag

type Tag struct {
	Name      string
	Commit    string
	Timestamp *time.Time
	// contains filtered or unexported fields
}

Tag is a representation of a git tag in Launchpad

func NewTag

func NewTag(project string, tag string) *Tag

NewTag returns a new Tag based on the name of a tag

func (*Tag) Process

func (t *Tag) Process() error

Process populates the tag with details of the relevant commit

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL