github.com/jfrog/jfrog-cli-core/v2@v2.51.0/artifactory/commands/buildinfo/collectenv.go (about) 1 package buildinfo 2 3 import ( 4 "github.com/jfrog/jfrog-cli-core/v2/common/build" 5 "github.com/jfrog/jfrog-cli-core/v2/utils/config" 6 "github.com/jfrog/jfrog-client-go/utils/errorutils" 7 "github.com/jfrog/jfrog-client-go/utils/log" 8 ) 9 10 type BuildCollectEnvCommand struct { 11 buildConfiguration *build.BuildConfiguration 12 } 13 14 func NewBuildCollectEnvCommand() *BuildCollectEnvCommand { 15 return &BuildCollectEnvCommand{} 16 } 17 18 func (bcec *BuildCollectEnvCommand) SetBuildConfiguration(buildConfiguration *build.BuildConfiguration) *BuildCollectEnvCommand { 19 bcec.buildConfiguration = buildConfiguration 20 return bcec 21 } 22 23 func (bcec *BuildCollectEnvCommand) Run() error { 24 log.Info("Collecting environment variables...") 25 buildInfoService := build.CreateBuildInfoService() 26 buildName, err := bcec.buildConfiguration.GetBuildName() 27 if err != nil { 28 return err 29 } 30 buildNumber, err := bcec.buildConfiguration.GetBuildNumber() 31 if err != nil { 32 return err 33 } 34 build, err := buildInfoService.GetOrCreateBuildWithProject(buildName, buildNumber, bcec.buildConfiguration.GetProject()) 35 if err != nil { 36 return errorutils.CheckError(err) 37 } 38 err = build.CollectEnv() 39 if err != nil { 40 return errorutils.CheckError(err) 41 } 42 log.Info("Collected environment variables for", buildName+"/"+buildNumber+".") 43 return nil 44 } 45 46 // Returns the default configured Artifactory server 47 func (bcec *BuildCollectEnvCommand) ServerDetails() (*config.ServerDetails, error) { 48 return config.GetDefaultServerConf() 49 } 50 51 func (bcec *BuildCollectEnvCommand) CommandName() string { 52 return "rt_build_collect_env" 53 }