diff --git a/cmd/version.go b/cmd/version.go index af312c1c6..406936a4f 100644 --- a/cmd/version.go +++ b/cmd/version.go @@ -29,14 +29,15 @@ func printVersion(_ *cobra.Command, _ []string) { switch versionCmdOutputFormat { case "text": - fmt.Println("Application: ", internal.ApplicationName) - fmt.Println("Version: ", versionInfo.Version) - fmt.Println("BuildDate: ", versionInfo.BuildDate) - fmt.Println("GitCommit: ", versionInfo.GitCommit) - fmt.Println("GitDescription: ", versionInfo.GitDescription) - fmt.Println("Platform: ", versionInfo.Platform) - fmt.Println("GoVersion: ", versionInfo.GoVersion) - fmt.Println("Compiler: ", versionInfo.Compiler) + fmt.Println("Application: ", internal.ApplicationName) + fmt.Println("Version: ", versionInfo.Version) + fmt.Println("JsonSchemaVersion: ", internal.JSONSchemaVersion) + fmt.Println("BuildDate: ", versionInfo.BuildDate) + fmt.Println("GitCommit: ", versionInfo.GitCommit) + fmt.Println("GitDescription: ", versionInfo.GitDescription) + fmt.Println("Platform: ", versionInfo.Platform) + fmt.Println("GoVersion: ", versionInfo.GoVersion) + fmt.Println("Compiler: ", versionInfo.Compiler) case "json": enc := json.NewEncoder(os.Stdout) diff --git a/internal/version/build.go b/internal/version/build.go index bbd491105..a0d5fc1d2 100644 --- a/internal/version/build.go +++ b/internal/version/build.go @@ -7,6 +7,8 @@ import ( "fmt" "runtime" "strings" + + "github.com/anchore/syft/internal" ) const valueNotProvided = "[not provided]" @@ -20,13 +22,14 @@ var platform = fmt.Sprintf("%s/%s", runtime.GOOS, runtime.GOARCH) // Version defines the application version details (generally from build information) type Version struct { - Version string `json:"version"` // application semantic version - GitCommit string `json:"gitCommit"` // git SHA at build-time - GitDescription string `json:"gitDescription"` // output of 'git describe --dirty --always --tags' - BuildDate string `json:"buildDate"` // date of the build - GoVersion string `json:"goVersion"` // go runtime version at build-time - Compiler string `json:"compiler"` // compiler used at build-time - Platform string `json:"platform"` // GOOS and GOARCH at build-time + Version string `json:"version"` // application semantic version + JSONSchemaVersion string `json:"jsonSchemaVersion"` // application semantic JSON schema version + GitCommit string `json:"gitCommit"` // git SHA at build-time + GitDescription string `json:"gitDescription"` // output of 'git describe --dirty --always --tags' + BuildDate string `json:"buildDate"` // date of the build + GoVersion string `json:"goVersion"` // go runtime version at build-time + Compiler string `json:"compiler"` // compiler used at build-time + Platform string `json:"platform"` // GOOS and GOARCH at build-time } func (v Version) IsProductionBuild() bool { @@ -39,12 +42,13 @@ func (v Version) IsProductionBuild() bool { // FromBuild provides all version details func FromBuild() Version { return Version{ - Version: version, - GitCommit: gitCommit, - GitDescription: gitDescription, - BuildDate: buildDate, - GoVersion: runtime.Version(), - Compiler: runtime.Compiler, - Platform: platform, + Version: version, + JSONSchemaVersion: internal.JSONSchemaVersion, + GitCommit: gitCommit, + GitDescription: gitDescription, + BuildDate: buildDate, + GoVersion: runtime.Version(), + Compiler: runtime.Compiler, + Platform: platform, } }