Add flag to specify git tag (#58)
close #57 Reviewed-on: https://gitea.com/gitea/changelog/pulls/58 Reviewed-by: Andrew Thornton <art27@cantab.net> Reviewed-by: Norwin <noerw@noreply.gitea.io>
This commit is contained in:
parent
0ec4342863
commit
f3ee0e5726
|
@ -2,6 +2,7 @@
|
||||||
// Use of this source code is governed by a MIT-style
|
// Use of this source code is governed by a MIT-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
//go:build ignore
|
||||||
// +build ignore
|
// +build ignore
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
|
@ -11,6 +11,7 @@ import (
|
||||||
|
|
||||||
var (
|
var (
|
||||||
MilestoneFlag string
|
MilestoneFlag string
|
||||||
|
TagFlag string
|
||||||
ConfigPathFlag string
|
ConfigPathFlag string
|
||||||
TokenFlag string
|
TokenFlag string
|
||||||
DetailsFlag bool
|
DetailsFlag bool
|
||||||
|
|
|
@ -30,7 +30,7 @@ func runContributors(cmd *cli.Context) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
s, err := service.New(cfg.Service, cfg.Repo, cfg.BaseURL, MilestoneFlag, TokenFlag, IssuesFlag)
|
s, err := service.New(cfg.Service, cfg.Repo, cfg.BaseURL, MilestoneFlag, TagFlag, TokenFlag, IssuesFlag)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,7 @@ func runGenerate(cmd *cli.Context) error {
|
||||||
|
|
||||||
processGroups(cfg.Groups)
|
processGroups(cfg.Groups)
|
||||||
|
|
||||||
s, err := service.New(cfg.Service, cfg.Repo, cfg.BaseURL, MilestoneFlag, TokenFlag, IssuesFlag)
|
s, err := service.New(cfg.Service, cfg.Repo, cfg.BaseURL, MilestoneFlag, TagFlag, TokenFlag, IssuesFlag)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
6
main.go
6
main.go
|
@ -33,6 +33,12 @@ func main() {
|
||||||
Usage: "Targeted milestone",
|
Usage: "Targeted milestone",
|
||||||
Destination: &cmd.MilestoneFlag,
|
Destination: &cmd.MilestoneFlag,
|
||||||
},
|
},
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "tag",
|
||||||
|
Aliases: []string{"T"},
|
||||||
|
Usage: "Git tag for milestone url, if not set milestone is used",
|
||||||
|
Destination: &cmd.TagFlag,
|
||||||
|
},
|
||||||
&cli.StringFlag{
|
&cli.StringFlag{
|
||||||
Name: "config",
|
Name: "config",
|
||||||
Aliases: []string{"c"},
|
Aliases: []string{"c"},
|
||||||
|
|
|
@ -14,6 +14,7 @@ import (
|
||||||
// Gitea defines a Gitea service
|
// Gitea defines a Gitea service
|
||||||
type Gitea struct {
|
type Gitea struct {
|
||||||
Milestone string
|
Milestone string
|
||||||
|
GitTag string
|
||||||
Token string
|
Token string
|
||||||
BaseURL string
|
BaseURL string
|
||||||
Owner string
|
Owner string
|
||||||
|
@ -40,7 +41,7 @@ func (ge *Gitea) Generate() (string, []Entry, error) {
|
||||||
from = "issues"
|
from = "issues"
|
||||||
}
|
}
|
||||||
|
|
||||||
tagURL := getGiteaTagURL(client, ge.BaseURL, ge.Owner, ge.Repo, ge.Milestone, from, milestone.ID)
|
tagURL := getGiteaTagURL(client, ge.BaseURL, ge.Owner, ge.Repo, ge.Milestone, ge.GitTag, from, milestone.ID)
|
||||||
|
|
||||||
perPage := ge.perPage(client)
|
perPage := ge.perPage(client)
|
||||||
for p := 1; ; p++ {
|
for p := 1; ; p++ {
|
||||||
|
@ -81,11 +82,11 @@ func (ge *Gitea) Generate() (string, []Entry, error) {
|
||||||
return tagURL, entries, nil
|
return tagURL, entries, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func getGiteaTagURL(c *gitea.Client, baseURL, owner, repo, mileName, from string, mileID int64) string {
|
func getGiteaTagURL(c *gitea.Client, baseURL, owner, repo, mileName, gitTag, from string, mileID int64) string {
|
||||||
if err := c.CheckServerVersionConstraint(">=1.12"); err != nil {
|
if err := c.CheckServerVersionConstraint(">=1.12"); err != nil {
|
||||||
return fmt.Sprintf("## [%s](%s/%s/%s/%s?q=&type=all&state=closed&milestone=%d) - %s", mileName, baseURL, owner, repo, from, mileID, time.Now().Format("2006-01-02"))
|
return fmt.Sprintf("## [%s](%s/%s/%s/%s?q=&type=all&state=closed&milestone=%d) - %s", mileName, baseURL, owner, repo, from, mileID, time.Now().Format("2006-01-02"))
|
||||||
}
|
}
|
||||||
return fmt.Sprintf("## [%s](%s/%s/%s/releases/tag/%s) - %s", mileName, baseURL, owner, repo, mileName, time.Now().Format("2006-01-02"))
|
return fmt.Sprintf("## [%s](%s/%s/%s/releases/tag/%s) - %s", mileName, baseURL, owner, repo, gitTag, time.Now().Format("2006-01-02"))
|
||||||
}
|
}
|
||||||
|
|
||||||
func convertToEntry(issue gitea.Issue) Entry {
|
func convertToEntry(issue gitea.Issue) Entry {
|
||||||
|
|
|
@ -15,6 +15,7 @@ import (
|
||||||
// GitHub defines a GitHub service
|
// GitHub defines a GitHub service
|
||||||
type GitHub struct {
|
type GitHub struct {
|
||||||
Milestone string
|
Milestone string
|
||||||
|
GitTag string
|
||||||
Token string
|
Token string
|
||||||
Repo string
|
Repo string
|
||||||
Issues bool
|
Issues bool
|
||||||
|
@ -22,7 +23,7 @@ type GitHub struct {
|
||||||
|
|
||||||
// Generate returns a GitHub changelog
|
// Generate returns a GitHub changelog
|
||||||
func (gh *GitHub) Generate() (string, []Entry, error) {
|
func (gh *GitHub) Generate() (string, []Entry, error) {
|
||||||
tagURL := fmt.Sprintf("## [%s](https://github.com/%s/releases/tag/v%s) - %s", gh.Milestone, gh.Repo, gh.Milestone, time.Now().Format("2006-01-02"))
|
tagURL := fmt.Sprintf("## [%s](https://github.com/%s/releases/tag/%s) - %s", gh.Milestone, gh.Repo, gh.GitTag, time.Now().Format("2006-01-02"))
|
||||||
|
|
||||||
client := github.NewClient(nil)
|
client := github.NewClient(nil)
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
|
|
@ -12,11 +12,16 @@ import (
|
||||||
const defaultGitea = "https://gitea.com"
|
const defaultGitea = "https://gitea.com"
|
||||||
|
|
||||||
// New returns a service from a string
|
// New returns a service from a string
|
||||||
func New(serviceType, repo, baseURL, milestone, token string, issues bool) (Service, error) {
|
func New(serviceType, repo, baseURL, milestone, tag, token string, issues bool) (Service, error) {
|
||||||
|
if len(tag) == 0 {
|
||||||
|
tag = milestone
|
||||||
|
}
|
||||||
|
|
||||||
switch strings.ToLower(serviceType) {
|
switch strings.ToLower(serviceType) {
|
||||||
case "github":
|
case "github":
|
||||||
return &GitHub{
|
return &GitHub{
|
||||||
Milestone: milestone,
|
Milestone: milestone,
|
||||||
|
GitTag: tag,
|
||||||
Token: token,
|
Token: token,
|
||||||
Repo: repo,
|
Repo: repo,
|
||||||
Issues: issues,
|
Issues: issues,
|
||||||
|
@ -28,6 +33,7 @@ func New(serviceType, repo, baseURL, milestone, token string, issues bool) (Serv
|
||||||
}
|
}
|
||||||
return &Gitea{
|
return &Gitea{
|
||||||
Milestone: milestone,
|
Milestone: milestone,
|
||||||
|
GitTag: tag,
|
||||||
Token: token,
|
Token: token,
|
||||||
BaseURL: baseURL,
|
BaseURL: baseURL,
|
||||||
Owner: ownerRepo[0],
|
Owner: ownerRepo[0],
|
||||||
|
|
Loading…
Reference in New Issue