Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetPackages ¶
GetPackages returns all the go sdk packages under the given root directory
Types ¶
type BreakingChanges ¶
type BreakingChanges struct { Consts map[string]delta.Signature `json:"consts,omitempty"` Funcs map[string]delta.FuncSig `json:"funcs,omitempty"` Interfaces map[string]delta.InterfaceDef `json:"interfaces,omitempty"` Structs map[string]delta.StructDef `json:"structs,omitempty"` Removed *delta.Content `json:"removed,omitempty"` }
BreakingChanges represents a set of breaking changes.
func (BreakingChanges) IsEmpty ¶
func (bc BreakingChanges) IsEmpty() bool
IsEmpty returns true if there are no breaking changes.
type CommitPkgReport ¶
type CommitPkgReport struct { // BreakingChanges includes the commit hashes that contains breaking changes BreakingChanges []string `json:"breakingChanges,omitempty"` // CommitsReports stores the package report with the key of commit hashes CommitsReports map[string]Package `json:"deltas"` }
CommitPkgReport represents a collection of per-package reports, one for each commit hash
func (CommitPkgReport) HasAdditiveChanges ¶
func (c CommitPkgReport) HasAdditiveChanges() bool
HasAdditiveChanges returns true if the report contains additive changes
func (CommitPkgReport) HasBreakingChanges ¶
func (c CommitPkgReport) HasBreakingChanges() bool
HasBreakingChanges returns true if the report contains breaking changes
func (CommitPkgReport) IsEmpty ¶
func (c CommitPkgReport) IsEmpty() bool
IsEmpty returns true if the report contains no data
type CommitPkgsReport ¶
type CommitPkgsReport struct { // AffectedPackages stores the package list with key of commit hashes AffectedPackages map[string]PkgsList `json:"affectedPackages"` // BreakingChanges stores the commit hashes that contain breaking changes BreakingChanges []string `json:"breakingChanges,omitempty"` // CommitsReports stores the detailed reports with the key of commit hashes CommitsReports map[string]PkgsReport `json:"deltas"` }
CommitPkgsReport represents a collection of reports, one for each commit hash.
func (CommitPkgsReport) HasAdditiveChanges ¶
func (c CommitPkgsReport) HasAdditiveChanges() bool
HasAdditiveChanges returns true if the package contains additive changes.
func (CommitPkgsReport) HasBreakingChanges ¶
func (c CommitPkgsReport) HasBreakingChanges() bool
HasBreakingChanges returns true if the report contains breaking changes.
func (CommitPkgsReport) IsEmpty ¶
func (c CommitPkgsReport) IsEmpty() bool
IsEmpty returns true if the report contains no data.
func (*CommitPkgsReport) UpdateAffectedPackages ¶
func (c *CommitPkgsReport) UpdateAffectedPackages(commit string, r PkgsReport)
UpdateAffectedPackages updates the collection of affected packages with the packages that were touched in the specified commit
type GenerationOption ¶
type GenerationOption struct { // OnlyBreakingChanges ... OnlyBreakingChanges bool // OnlyAdditiveChanges ... OnlyAdditiveChanges bool }
GenerationOption ...
type ModifiedPackages ¶
ModifiedPackages contains a collection of package reports, it's structured as "package path":pkgReport
func (ModifiedPackages) HasAdditiveChanges ¶
func (m ModifiedPackages) HasAdditiveChanges() bool
HasAdditiveChanges returns true if any package contained in has an additive change
func (ModifiedPackages) HasBreakingChanges ¶
func (m ModifiedPackages) HasBreakingChanges() bool
HasBreakingChanges returns true if any package contained in has a breaking change
type Package ¶
type Package struct { AdditiveChanges *delta.Content `json:"additiveChanges,omitempty"` BreakingChanges *BreakingChanges `json:"breakingChanges,omitempty"` }
Package represents a per-package report that contains additive and breaking changes.
func Generate ¶
func Generate(lhs, rhs exports.Content, option *GenerationOption) Package
Generate generates a package report based on the delta between lhs and rhs. onlyBreakingChanges - pass true to include only breaking changes in the report. onlyAdditions - pass true to include only addition changes in the report.
func (Package) HasAdditiveChanges ¶
HasAdditiveChanges returns true if the package report contains additive changes.
func (Package) HasBreakingChanges ¶
HasBreakingChanges returns true if the package report contains breaking changes.
func (Package) IsEmpty ¶
IsEmpty returns true if the report contains no data (e.g. no changes in exported types).
func (Package) ToMarkdown ¶
ToMarkdown creates a report of the package changes in markdown format.
type PkgsReport ¶
type PkgsReport struct { // AddedPackages stores the added packages in the report AddedPackages PkgsList `json:"added,omitempty"` // ModifiedPackages stores the details of all modified packages ModifiedPackages ModifiedPackages `json:"modified,omitempty"` // RemovedPackages stores the removed packages in the report RemovedPackages PkgsList `json:"removed,omitempty"` }
PkgsReport represents a complete report of added, removed, and modified packages
func (PkgsReport) HasAdditiveChanges ¶
func (r PkgsReport) HasAdditiveChanges() bool
HasAdditiveChanges returns true if the package report contains additive changes
func (PkgsReport) HasBreakingChanges ¶
func (r PkgsReport) HasBreakingChanges() bool
HasBreakingChanges returns true if the package report contains breaking changes
func (PkgsReport) IsEmpty ¶
func (r PkgsReport) IsEmpty() bool
IsEmpty returns true if the report contains no data
func (*PkgsReport) ToMarkdown ¶
func (r *PkgsReport) ToMarkdown() string
ToMarkdown writes the report to string in the markdown form