github.com/jfrog/jfrog-cli-core/v2@v2.51.0/artifactory/commands/buildinfo/clean.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/log" 7 ) 8 9 type BuildCleanCommand struct { 10 buildConfiguration *build.BuildConfiguration 11 } 12 13 func NewBuildCleanCommand() *BuildCleanCommand { 14 return &BuildCleanCommand{} 15 } 16 17 func (bcc *BuildCleanCommand) SetBuildConfiguration(buildConfiguration *build.BuildConfiguration) *BuildCleanCommand { 18 bcc.buildConfiguration = buildConfiguration 19 return bcc 20 } 21 22 func (bcc *BuildCleanCommand) CommandName() string { 23 return "rt_build_clean" 24 } 25 26 // Returns the default Artifactory server 27 func (bcc *BuildCleanCommand) ServerDetails() (*config.ServerDetails, error) { 28 return config.GetDefaultServerConf() 29 } 30 31 func (bcc *BuildCleanCommand) Run() error { 32 log.Info("Cleaning build info...") 33 buildName, err := bcc.buildConfiguration.GetBuildName() 34 if err != nil { 35 return err 36 } 37 buildNumber, err := bcc.buildConfiguration.GetBuildNumber() 38 if err != nil { 39 return err 40 } 41 err = build.RemoveBuildDir(buildName, buildNumber, bcc.buildConfiguration.GetProject()) 42 if err != nil { 43 return err 44 } 45 log.Info("Cleaned build info", buildName+"/"+buildNumber+".") 46 return nil 47 }