|
| 1 | +package commands |
| 2 | + |
| 3 | +import pluginsCommon "github.com/jfrog/jfrog-cli-core/v2/plugins/common" |
| 4 | +import "github.com/jfrog/jfrog-cli-core/v2/plugins/components" |
| 5 | + |
| 6 | +const ( |
| 7 | + Ping = "ping" |
| 8 | + CreateAppVersion = "create-app-version" |
| 9 | +) |
| 10 | + |
| 11 | +const ( |
| 12 | + ServerId = "server-id" |
| 13 | + url = "url" |
| 14 | + user = "user" |
| 15 | + accessToken = "access-token" |
| 16 | + ProjectFlag = "project" |
| 17 | + |
| 18 | + ApplicationKeyFlag = "app-key" |
| 19 | + PackageTypeFlag = "package-type" |
| 20 | + PackageNameFlag = "package-name" |
| 21 | + PackageVersionFlag = "package-version" |
| 22 | + PackageRepositoryFlag = "package-repository" |
| 23 | + SpecFlag = "spec" |
| 24 | + SpecVarsFlag = "spec-vars" |
| 25 | +) |
| 26 | + |
| 27 | +// Flag keys mapped to their corresponding components.Flag definition. |
| 28 | +var flagsMap = map[string]components.Flag{ |
| 29 | + // Common commands flags |
| 30 | + ServerId: components.NewStringFlag(ServerId, "Server ID configured using the config command.", func(f *components.StringFlag) { f.Mandatory = false }), |
| 31 | + url: components.NewStringFlag(url, "JFrog Platform URL.", func(f *components.StringFlag) { f.Mandatory = false }), |
| 32 | + user: components.NewStringFlag(user, "JFrog username.", func(f *components.StringFlag) { f.Mandatory = false }), |
| 33 | + accessToken: components.NewStringFlag(accessToken, "JFrog access token.", func(f *components.StringFlag) { f.Mandatory = false }), |
| 34 | + ProjectFlag: components.NewStringFlag(ProjectFlag, "Project key associated with the created evidence.", func(f *components.StringFlag) { f.Mandatory = false }), |
| 35 | + |
| 36 | + ApplicationKeyFlag: components.NewStringFlag(ApplicationKeyFlag, "Application key.", func(f *components.StringFlag) { f.Mandatory = true }), |
| 37 | + PackageTypeFlag: components.NewStringFlag(PackageTypeFlag, "Package type.", func(f *components.StringFlag) { f.Mandatory = false }), |
| 38 | + PackageNameFlag: components.NewStringFlag(PackageNameFlag, "Package name.", func(f *components.StringFlag) { f.Mandatory = false }), |
| 39 | + PackageVersionFlag: components.NewStringFlag(PackageVersionFlag, "Package version.", func(f *components.StringFlag) { f.Mandatory = false }), |
| 40 | + PackageRepositoryFlag: components.NewStringFlag(PackageRepositoryFlag, "Package storing repository.", func(f *components.StringFlag) { f.Mandatory = false }), |
| 41 | + SpecFlag: components.NewStringFlag(SpecFlag, "A path to the specification file.", func(f *components.StringFlag) { f.Mandatory = false }), |
| 42 | + SpecVarsFlag: components.NewStringFlag(SpecVarsFlag, "List of semicolon-separated(;) variables in the form of \"key1=value1;key2=value2;...\" (wrapped by quotes) to be replaced in the File Spec. In the File Spec, the variables should be used as follows: ${key1}.` `", func(f *components.StringFlag) { f.Mandatory = false }), |
| 43 | +} |
| 44 | + |
| 45 | +var commandFlags = map[string][]string{ |
| 46 | + CreateAppVersion: { |
| 47 | + url, |
| 48 | + user, |
| 49 | + accessToken, |
| 50 | + ServerId, |
| 51 | + ProjectFlag, |
| 52 | + ApplicationKeyFlag, |
| 53 | + PackageTypeFlag, |
| 54 | + PackageNameFlag, |
| 55 | + PackageVersionFlag, |
| 56 | + PackageRepositoryFlag, |
| 57 | + SpecFlag, |
| 58 | + SpecVarsFlag, |
| 59 | + }, |
| 60 | + |
| 61 | + Ping: { |
| 62 | + url, |
| 63 | + user, |
| 64 | + accessToken, |
| 65 | + ServerId, |
| 66 | + }, |
| 67 | +} |
| 68 | + |
| 69 | +func GetCommandFlags(cmdKey string) []components.Flag { |
| 70 | + return pluginsCommon.GetCommandFlags(cmdKey, commandFlags, flagsMap) |
| 71 | +} |
0 commit comments