agent/version/gen/version-gen.go
func main() {

	versionStr, _ := ioutil.ReadFile(filepath.Join("..", "..", "VERSION"))

	// default values
	info := versionInfo{
		Version: strings.TrimSpace(string(versionStr)),
		Dirty:   true,
		Hash:    "UNKNOWN",
	}

	if strings.TrimSpace(os.Getenv("ECS_RELEASE")) == "cleanbuild" {
		// 'clean' release; all other releases assumed dirty
		info.Dirty = gitDirty()
	}
	if os.Getenv("ECS_UNKNOWN_VERSION") == "" {
		// When the version file is updated, the above is set
		// Setting UNKNOWN version allows the version committed in git to never
		// have a commit hash so that it does not churn with every commit. This
		// env var should not be set when building, and go generate should be
		// run before any build, such that the commithash will be set correctly.
		info.Hash = gitHash()
	}

	outFile, err := os.Create("version.go")
	if err != nil {
		log.Fatalf("Unable to create output version file: %v", err)
	}
	t := template.Must(template.New("version").Parse(versiongoTemplate))

	err = t.Execute(outFile, info)
	if err != nil {
		log.Fatalf("Error applying template: %v", err)
	}
}
func main() {

	versionStr, _ := ioutil.ReadFile(filepath.Join("..", "..", "VERSION"))

	// default values
	info := versionInfo{
		Version: strings.TrimSpace(string(versionStr)),
		Dirty:   true,
		Hash:    "UNKNOWN",
	}

	if strings.TrimSpace(os.Getenv("ECS_RELEASE")) == "cleanbuild" {
		// 'clean' release; all other releases assumed dirty
		info.Dirty = gitDirty()
	}
	if os.Getenv("ECS_UNKNOWN_VERSION") == "" {
		// When the version file is updated, the above is set
		// Setting UNKNOWN version allows the version committed in git to never
		// have a commit hash so that it does not churn with every commit. This
		// env var should not be set when building, and go generate should be
		// run before any build, such that the commithash will be set correctly.
		info.Hash = gitHash()
	}

	outFile, err := os.Create("version.go")
	if err != nil {
		log.Fatalf("Unable to create output version file: %v", err)
	}
	t := template.Must(template.New("version").Parse(versiongoTemplate))

	err = t.Execute(outFile, info)
	if err != nil {
		log.Fatalf("Error applying template: %v", err)
	}
}
func main ( ) { versionStr , _ := ioutil . ReadFile ( filepath . Join ( " " , " " , " " ) ) // default values info := versionInfo { Version : strings . TrimSpace ( string ( versionStr ) ) , Dirty : true , Hash : " " , } if strings . TrimSpace ( os . Getenv ( " " ) ) == " " { // 'clean' release; all other releases assumed dirty info . Dirty = gitDirty ( ) } if os . Getenv ( " " ) == " " { // When the version file is updated, the above is set // Setting UNKNOWN version allows the version committed in git to never // have a commit hash so that it does not churn with every commit. This // env var should not be set when building, and go generate should be // run before any build, such that the commithash will be set correctly. info . Hash = gitHash ( ) } outFile , err := os . Create ( " " ) if err != nil { log . Fatalf ( " " , err ) } t := template . Must ( template . New ( " " ) . Parse ( versiongoTemplate ) ) err = t . Execute ( outFile , info ) if err != nil { log . Fatalf ( " " , err ) } }
// version-gen is a simple program that generates the agent's version file,
// containing information about the agent's version, commit hash, and repository
// cleanliness.
version - gen is a simple program that generates the agent s version file containing information about the agent s version commit hash and repository cleanliness .