Documentation ¶
Index ¶
- Constants
- func CollectGenerationMetadata(root string) (map[string]GenerationMetadata, error)
- func FormatPackage(dir string) error
- func GeneratedFrom(commitHash, readme, tag string) string
- type ChangelogContext
- type ChangelogProcessError
- type ChangelogProcessor
- func (p *ChangelogProcessor) GenerateChangelog(packagePath, tag string) (*ChangelogResult, error)
- func (p *ChangelogProcessor) Process(metadataMap map[string]model.Metadata) ([]ChangelogResult, error)
- func (p *ChangelogProcessor) WithLocation(metadataLocation string) *ChangelogProcessor
- func (p *ChangelogProcessor) WithReadme(readme string) *ChangelogProcessor
- type ChangelogResult
- type GenerateError
- type GenerationMetadata
- type Generator
- func (g *Generator) Generate() error
- func (g *Generator) Run() error
- func (g *Generator) Start() error
- func (g *Generator) StderrPipe() (io.ReadCloser, error)
- func (g *Generator) StdoutPipe() (io.ReadCloser, error)
- func (g *Generator) Wait() error
- func (g *Generator) WithMetadataOutput(output string) *Generator
- func (g *Generator) WithMultiAPI() *Generator
- func (g *Generator) WithOption(option model.Option) *Generator
- func (g *Generator) WithReadme(readme string) *Generator
- func (g *Generator) WithTag(tag string) *Generator
- type MetadataProcessError
- type MetadataProcessor
Constants ¶
const (
// ChangelogFilename ...
ChangelogFilename = "CHANGELOG.md"
)
Variables ¶
This section is empty.
Functions ¶
func CollectGenerationMetadata ¶
func CollectGenerationMetadata(root string) (map[string]GenerationMetadata, error)
CollectGenerationMetadata iterates every track 1 go sdk package under root, and collect all the GenerationMetadata into a map using relative path of the package as keys
func FormatPackage ¶
FormatPackage formats the given package using gofmt
func GeneratedFrom ¶
GeneratedFrom gives the information of the generation metadata, including the commit hash that this package is generated from, the readme path, and the tag
Types ¶
type ChangelogContext ¶
type ChangelogContext interface { SDKRoot() string SDKCloneRoot() string SpecRoot() string SpecCommitHash() string CodeGenVersion() string }
ChangelogContext describes all necessary data that would be needed in the processing of changelogs
type ChangelogProcessError ¶
type ChangelogProcessError struct {
Errors []error
}
ChangelogProcessError describes the errors during the processing
type ChangelogProcessor ¶
type ChangelogProcessor struct {
// contains filtered or unexported fields
}
ChangelogProcessor processes the metadata and output changelog with the desired format
func NewChangelogProcessorFromContext ¶
func NewChangelogProcessorFromContext(ctx ChangelogContext) *ChangelogProcessor
NewChangelogProcessorFromContext returns a new ChangelogProcessor
func (*ChangelogProcessor) GenerateChangelog ¶
func (p *ChangelogProcessor) GenerateChangelog(packagePath, tag string) (*ChangelogResult, error)
GenerateChangelog generates a changelog for one package
func (*ChangelogProcessor) Process ¶
func (p *ChangelogProcessor) Process(metadataMap map[string]model.Metadata) ([]ChangelogResult, error)
Process generates the changelogs using the input metadata map. Please ensure the input metadata map does not contain any package that is not under the sdk root, otherwise this might give weird results.
func (*ChangelogProcessor) WithLocation ¶
func (p *ChangelogProcessor) WithLocation(metadataLocation string) *ChangelogProcessor
WithLocation adds the information of the metadata-output-folder
func (*ChangelogProcessor) WithReadme ¶
func (p *ChangelogProcessor) WithReadme(readme string) *ChangelogProcessor
WithReadme adds the information of the path of readme.md file. This path could be relative or absolute.
type ChangelogResult ¶
type ChangelogResult struct { PackageName string PackagePath string GenerationMetadata GenerationMetadata Changelog model.Changelog }
ChangelogResult describes the result of the generated changelog for one package
type GenerateError ¶
GenerateError ...
type GenerationMetadata ¶
type GenerationMetadata struct { AutorestVersion string `json:"autorest,omitempty"` CommitHash string `json:"commit,omitempty"` Readme string `json:"readme,omitempty"` Tag string `json:"tag,omitempty"` CodeGenVersion string `json:"use,omitempty"` RepositoryURL string `json:"repository_url,omitempty"` AutorestCommand string `json:"autorest_command,omitempty"` AdditionalProperties map[string]interface{} `json:"additional_properties,omitempty"` }
GenerationMetadata contains all the metadata that has been used when generating a track 1 package
func GetGenerationMetadata ¶
func GetGenerationMetadata(pkg track1.Package) (*GenerationMetadata, error)
GetGenerationMetadata gets the GenerationMetadata in one specific package
type Generator ¶
type Generator struct {
// contains filtered or unexported fields
}
Generator collects all the related context of an autorest generation
func NewGeneratorFromOptions ¶
NewGeneratorFromOptions returns a new Generator with the given model.Options
func (*Generator) Generate ¶
Generate executes the autorest generation. The error will be of type *GenerateError
func (*Generator) StderrPipe ¶
func (g *Generator) StderrPipe() (io.ReadCloser, error)
StderrPipe returns the stderr pipeline of the command
func (*Generator) StdoutPipe ¶
func (g *Generator) StdoutPipe() (io.ReadCloser, error)
StdoutPipe returns the stdout pipeline of the command
func (*Generator) WithMetadataOutput ¶
WithMetadataOutput appends a `metadata-output-folder` option to the autorest argument list
func (*Generator) WithMultiAPI ¶
WithMultiAPI appends a multiapi flag to the autorest argument list
func (*Generator) WithOption ¶
WithOption appends an model.Option to the argument list of the autorest generation
func (*Generator) WithReadme ¶
WithReadme appends a readme argument
type MetadataProcessError ¶
MetadataProcessError ...
type MetadataProcessor ¶
type MetadataProcessor struct {
// contains filtered or unexported fields
}
MetadataProcessor processes the metadata
func NewMetadataProcessorFromLocation ¶
func NewMetadataProcessorFromLocation(metadataOutput string) *MetadataProcessor
NewMetadataProcessorFromLocation creates a new MetadataProcessor using the metadata output folder location