Skip to content

Commit e8a32f2

Browse files
authored
Mgmt. track2 release tool update (Azure#17972)
* fix: generator preview judge go through all the *.go file to find api version set sentence and judge if there exists preview API version * feat: add version-number for refresh-v2
1 parent d1837b9 commit e8a32f2

File tree

3 files changed

+15
-16
lines changed

3 files changed

+15
-16
lines changed

eng/tools/generator/cmd/v2/common/changlogProcessor.go

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ package common
55

66
import (
77
"encoding/json"
8-
"fmt"
98
"io/ioutil"
109
"log"
1110
"net/http"
@@ -53,38 +52,38 @@ func GetAllVersionTags(rpName, namespaceName string) ([]string, error) {
5352
return tags, nil
5453
}
5554

56-
func GetCurrentAPIVersion(packagePath string) (string, error) {
57-
log.Printf("Get current release API version from '%s' ...", packagePath)
55+
func ContainsPreviewAPIVersion(packagePath string) (bool, error) {
56+
log.Printf("Judge whether contains preview API version from '%s' ...", packagePath)
5857

5958
files, err := ioutil.ReadDir(packagePath)
6059
if err != nil {
61-
return "", err
60+
return false, err
6261
}
6362

6463
for _, file := range files {
6564
if strings.HasSuffix(file.Name(), ".go") {
6665
b, err := ioutil.ReadFile(path.Join(packagePath, file.Name()))
6766
if err != nil {
68-
return "", err
67+
return false, err
6968
}
7069

7170
lines := strings.Split(string(b), "\n")
7271
for _, line := range lines {
7372
if strings.Contains(line, "\"api-version\"") {
7473
parts := strings.Split(line, "\"")
75-
if len(parts) == 5 {
76-
return parts[3], nil
74+
if len(parts) == 5 && strings.Contains(parts[3], "preview") {
75+
return true, nil
7776
}
7877
}
7978
}
8079
}
8180
}
8281

83-
return "", fmt.Errorf("Cannot find API version for current release")
82+
return false, nil
8483
}
8584

86-
func GetPreviousVersionTag(apiVersion string, allReleases []string) string {
87-
if strings.Contains(apiVersion, "preview") {
85+
func GetPreviousVersionTag(isCurrentPreview bool, allReleases []string) string {
86+
if isCurrentPreview {
8887
// for preview api, always compare with latest release
8988
return allReleases[0]
9089
} else {

eng/tools/generator/cmd/v2/common/generation.go

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -149,15 +149,12 @@ func (ctx GenerateContext) GenerateForSingleRPNamespace(generateParam *GenerateP
149149
return nil, err
150150
}
151151

152-
currentAPIVersion, err := GetCurrentAPIVersion(packagePath)
152+
isCurrentPreview, err := ContainsPreviewAPIVersion(packagePath)
153153
if err != nil {
154154
return nil, err
155155
}
156-
if strings.Contains(currentAPIVersion, "preview") {
157-
isCurrentPreview = true
158-
}
159156

160-
previousVersionTag := GetPreviousVersionTag(currentAPIVersion, tags)
157+
previousVersionTag := GetPreviousVersionTag(isCurrentPreview, tags)
161158

162159
oriExports, err = GetExportsFromTag(*ctx.SDKRepo, packagePath, previousVersionTag)
163160
if err != nil {

eng/tools/generator/cmd/v2/refresh/refreshCmd.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ azure-rest-api-specs directory: the directory path of the azure-rest-api-specs w
4747
}
4848

4949
type Flags struct {
50+
VersionNumber string
5051
SwaggerRepo string
5152
SDKRepo string
5253
ReleaseDate string
@@ -57,6 +58,7 @@ type Flags struct {
5758
}
5859

5960
func BindFlags(flagSet *pflag.FlagSet) {
61+
flagSet.String("version-number", "", "Specify the version number of this release")
6062
flagSet.String("sdk-repo", "https://github.com/Azure/azure-sdk-for-go", "Specifies the sdk repo URL for generation")
6163
flagSet.String("spec-repo", "https://github.com/Azure/azure-rest-api-specs", "Specifies the swagger repo URL for generation")
6264
flagSet.String("release-date", "", "Specifies the release date in changelog")
@@ -68,6 +70,7 @@ func BindFlags(flagSet *pflag.FlagSet) {
6870

6971
func ParseFlags(flagSet *pflag.FlagSet) Flags {
7072
return Flags{
73+
VersionNumber: flags.GetString(flagSet, "version-number"),
7174
SDKRepo: flags.GetString(flagSet, "sdk-repo"),
7275
SwaggerRepo: flags.GetString(flagSet, "spec-repo"),
7376
ReleaseDate: flags.GetString(flagSet, "release-date"),
@@ -137,7 +140,7 @@ func (c *commandContext) execute(sdkRepoParam, specRepoParam string) error {
137140
RPName: rpName,
138141
NamespaceName: namespace.Name(),
139142
SpecficPackageTitle: "",
140-
SpecficVersion: "",
143+
SpecficVersion: c.flags.VersionNumber,
141144
SpecRPName: specRpName,
142145
ReleaseDate: c.flags.ReleaseDate,
143146
SkipGenerateExample: c.flags.SkipGenerateExample,

0 commit comments

Comments
 (0)