github.com/jfrog/jfrog-cli-core/v2@v2.51.0/common/build/argsutils.go (about)

     1  package build
     2  
     3  import (
     4  	"github.com/jfrog/jfrog-cli-core/v2/utils/coreutils"
     5  )
     6  
     7  func ExtractBuildDetailsFromArgs(args []string) (cleanArgs []string, buildConfig *BuildConfiguration, err error) {
     8  	var flagIndex, valueIndex int
     9  	var buildName, buildNumber, project, module string
    10  	buildConfig = &BuildConfiguration{}
    11  	cleanArgs = append([]string(nil), args...)
    12  
    13  	// Extract build-info information from the args.
    14  	flagIndex, valueIndex, buildName, err = coreutils.FindFlag("--build-name", cleanArgs)
    15  	if err != nil {
    16  		return
    17  	}
    18  	coreutils.RemoveFlagFromCommand(&cleanArgs, flagIndex, valueIndex)
    19  
    20  	flagIndex, valueIndex, buildNumber, err = coreutils.FindFlag("--build-number", cleanArgs)
    21  	if err != nil {
    22  		return
    23  	}
    24  	coreutils.RemoveFlagFromCommand(&cleanArgs, flagIndex, valueIndex)
    25  
    26  	flagIndex, valueIndex, project, err = coreutils.FindFlag("--project", cleanArgs)
    27  	if err != nil {
    28  		return
    29  	}
    30  	coreutils.RemoveFlagFromCommand(&cleanArgs, flagIndex, valueIndex)
    31  
    32  	flagIndex, valueIndex, module, err = coreutils.FindFlag("--module", cleanArgs)
    33  	if err != nil {
    34  		return
    35  	}
    36  	coreutils.RemoveFlagFromCommand(&cleanArgs, flagIndex, valueIndex)
    37  	buildConfig = NewBuildConfiguration(buildName, buildNumber, module, project)
    38  	err = buildConfig.ValidateBuildAndModuleParams()
    39  	return
    40  }