@@ -56,6 +56,7 @@ type GenerateParam struct {
5656 ForceStableVersion bool
5757 TypeSpecEmitOption string
5858 TspClientOptions []string
59+ ReleasedTags []string
5960}
6061
6162type Generator interface {
@@ -170,7 +171,16 @@ func (ctx *GenerateContext) GenerateForSingleRPNamespace(generateParam *Generate
170171 if _ , err := os .Stat (changelogPath ); os .IsNotExist (err ) {
171172 generator = & SwaggerOnBoardGenerator {SwaggerCommonGenerator : commonGenerator }
172173 } else {
173- generator = & SwaggerUpdateGenerator {SwaggerCommonGenerator : commonGenerator }
174+ tags , err := GetAllVersionTags (fmt .Sprintf ("sdk/resourcemanager/%s/%s" , generateParam .RPName , generateParam .NamespaceName ))
175+ if err != nil {
176+ return nil , err
177+ }
178+ if len (tags ) == 0 {
179+ generator = & SwaggerOnBoardGenerator {SwaggerCommonGenerator : commonGenerator }
180+ } else {
181+ generateParam .ReleasedTags = tags
182+ generator = & SwaggerUpdateGenerator {SwaggerCommonGenerator : commonGenerator }
183+ }
174184 }
175185
176186 err = generator .PreGenerate (generateParam )
@@ -393,14 +403,7 @@ func (t *SwaggerUpdateGenerator) PreChangeLog(generateParam *GenerateParam) (*ex
393403
394404 log .Printf ("Get ori exports for changelog generation..." )
395405
396- tags , err := GetAllVersionTags (fmt .Sprintf ("sdk/resourcemanager/%s/%s" , generateParam .RPName , generateParam .NamespaceName ))
397- if err != nil {
398- return nil , err
399- }
400-
401- if len (tags ) == 0 {
402- return nil , fmt .Errorf ("github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/%s/%s hasn't been released, it's supposed to OnBoard" , generateParam .RPName , generateParam .NamespaceName )
403- }
406+ tags := generateParam .ReleasedTags
404407
405408 previousVersionTag := GetPreviousVersionTag (isCurrentPreview , tags )
406409
@@ -567,7 +570,16 @@ func (ctx *GenerateContext) GenerateForTypeSpec(generateParam *GenerateParam) (*
567570 if _ , err := os .Stat (changelogPath ); os .IsNotExist (err ) {
568571 generator = & TypeSpecOnBoardGenerator {TypeSpecCommonGenerator : commonGenerator }
569572 } else {
570- generator = & TypeSpecUpdateGeneraor {TypeSpecCommonGenerator : commonGenerator }
573+ tags , err := GetAllVersionTags (moduleRelativePath )
574+ if err != nil {
575+ return nil , err
576+ }
577+ if len (tags ) == 0 {
578+ generator = & TypeSpecOnBoardGenerator {TypeSpecCommonGenerator : commonGenerator }
579+ } else {
580+ generateParam .ReleasedTags = tags
581+ generator = & TypeSpecUpdateGeneraor {TypeSpecCommonGenerator : commonGenerator }
582+ }
571583 }
572584
573585 err = generator .PreGenerate (generateParam )
@@ -736,7 +748,6 @@ func (t *TypeSpecUpdateGeneraor) PreChangeLog(generateParam *GenerateParam) (*ex
736748 var err error
737749 version := t .Version
738750 packagePath := t .PackagePath
739- moduleRelativePath := t .ModuleRelativePath
740751
741752 previousVersion := ""
742753 isCurrentPreview := false
@@ -755,14 +766,7 @@ func (t *TypeSpecUpdateGeneraor) PreChangeLog(generateParam *GenerateParam) (*ex
755766
756767 log .Printf ("Get ori exports for changelog generation..." )
757768
758- tags , err := GetAllVersionTags (moduleRelativePath )
759- if err != nil {
760- return nil , err
761- }
762-
763- if len (tags ) == 0 {
764- return nil , fmt .Errorf ("github.com/Azure/azure-sdk-for-go/%s hasn't been released, it's supposed to OnBoard" , moduleRelativePath )
765- }
769+ tags := generateParam .ReleasedTags
766770
767771 previousVersionTag := GetPreviousVersionTag (isCurrentPreview , tags )
768772
0 commit comments