github.com/jfrog/jfrog-cli-core/v2@v2.52.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  }