Skip to content

Commit aa80a7c

Browse files
committed
Added create version command
1 parent 5263b28 commit aa80a7c

File tree

4 files changed

+69
-31
lines changed

4 files changed

+69
-31
lines changed

application/cli/cli.go

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,34 @@ import (
99

1010
const category = "Application Lifecycle"
1111

12+
//
13+
//func GetJfrogApplicationCli() components.App {
14+
// appContext := app.NewAppContext()
15+
// appEntity := components.CreateEmbeddedApp(
16+
// category,
17+
// nil,
18+
// components.Namespace{
19+
// Name: "app",
20+
// Description: "Tools for Application Lifecycle management",
21+
// Category: category,
22+
// Commands: []components.Command{
23+
// system.GetPingCommand(appContext),
24+
// version.GetCreateAppVersionCommand(appContext),
25+
// },
26+
// },
27+
// )
28+
// return appEntity
29+
//}
30+
1231
func GetJfrogApplicationCli() components.App {
1332
appContext := app.NewAppContext()
14-
appEntity := components.CreateEmbeddedApp(
15-
category,
16-
nil,
17-
components.Namespace{
18-
Name: "app",
19-
Description: "Tools for Application Lifecycle management",
20-
Category: category,
21-
Commands: []components.Command{
22-
system.GetPingCommand(appContext),
23-
version.GetCreateAppVersionCommand(appContext),
24-
},
33+
appEntity := components.CreateApp(
34+
"app",
35+
"1.0.0",
36+
"JFrog Application CLI",
37+
[]components.Command{
38+
system.GetPingCommand(appContext),
39+
version.GetCreateAppVersionCommand(appContext),
2540
},
2641
)
2742
return appEntity

application/commands/flags.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ const (
1515
accessToken = "access-token"
1616
ProjectFlag = "project"
1717

18-
ApplicationKey = "app"
19-
PackageTypeFlag = "package-type"
20-
PackageNameFlag = "package-name"
21-
PackageVersionFlag = "package-version"
22-
PackageRepoNameFlag = "package-repo-name"
18+
ApplicationKeyFlag = "app"
19+
PackageTypeFlag = "package-type"
20+
PackageNameFlag = "package-name"
21+
PackageVersionFlag = "package-version"
22+
PackageRepositoryFlag = "package-repository"
2323
)
2424

2525
// Flag keys mapped to their corresponding components.Flag definition.
@@ -31,11 +31,11 @@ var flagsMap = map[string]components.Flag{
3131
accessToken: components.NewStringFlag(accessToken, "JFrog access token.", func(f *components.StringFlag) { f.Mandatory = false }),
3232
ProjectFlag: components.NewStringFlag(ProjectFlag, "Project key associated with the created evidence.", func(f *components.StringFlag) { f.Mandatory = false }),
3333

34-
ApplicationKey: components.NewStringFlag(ApplicationKey, "Application key.", func(f *components.StringFlag) { f.Mandatory = true }),
35-
PackageTypeFlag: components.NewStringFlag(PackageTypeFlag, "Package type.", func(f *components.StringFlag) { f.Mandatory = false }),
36-
PackageNameFlag: components.NewStringFlag(PackageNameFlag, "Package name.", func(f *components.StringFlag) { f.Mandatory = false }),
37-
PackageVersionFlag: components.NewStringFlag(PackageVersionFlag, "Package version.", func(f *components.StringFlag) { f.Mandatory = false }),
38-
PackageRepoNameFlag: components.NewStringFlag(PackageRepoNameFlag, "Package repository Name.", func(f *components.StringFlag) { f.Mandatory = false }),
34+
ApplicationKeyFlag: components.NewStringFlag(ApplicationKeyFlag, "Application key.", func(f *components.StringFlag) { f.Mandatory = true }),
35+
PackageTypeFlag: components.NewStringFlag(PackageTypeFlag, "Package type.", func(f *components.StringFlag) { f.Mandatory = false }),
36+
PackageNameFlag: components.NewStringFlag(PackageNameFlag, "Package name.", func(f *components.StringFlag) { f.Mandatory = false }),
37+
PackageVersionFlag: components.NewStringFlag(PackageVersionFlag, "Package version.", func(f *components.StringFlag) { f.Mandatory = false }),
38+
PackageRepositoryFlag: components.NewStringFlag(PackageRepositoryFlag, "Package storing repository.", func(f *components.StringFlag) { f.Mandatory = false }),
3939
}
4040

4141
var commandFlags = map[string][]string{
@@ -45,11 +45,11 @@ var commandFlags = map[string][]string{
4545
accessToken,
4646
ServerId,
4747
ProjectFlag,
48-
ApplicationKey,
48+
ApplicationKeyFlag,
4949
PackageTypeFlag,
5050
PackageNameFlag,
5151
PackageVersionFlag,
52-
PackageRepoNameFlag,
52+
PackageRepositoryFlag,
5353
},
5454

5555
Ping: {

application/commands/version/create_app_version_cmd.go

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,27 @@ func (cv *createAppVersionCommand) prepareAndRunCommand(ctx *components.Context)
4141
return err
4242
}
4343
cv.serverDetails = serverDetails
44-
cv.requestPayload = &model.CreateAppVersionRequest{}
44+
cv.requestPayload = cv.buildRequestPayload(ctx)
4545
return commonCLiCommands.Exec(cv)
4646
}
4747

48+
func (cv *createAppVersionCommand) buildRequestPayload(ctx *components.Context) *model.CreateAppVersionRequest {
49+
packages := []model.CreateVersionPackage{
50+
{
51+
Type: ctx.GetStringFlagValue(commands.PackageTypeFlag),
52+
Name: ctx.GetStringFlagValue(commands.PackageNameFlag),
53+
Version: ctx.GetStringFlagValue(commands.PackageVersionFlag),
54+
Repository: ctx.GetStringFlagValue(commands.PackageRepositoryFlag),
55+
},
56+
}
57+
58+
return &model.CreateAppVersionRequest{
59+
ApplicationKey: ctx.GetStringFlagValue(commands.ApplicationKeyFlag),
60+
Version: ctx.Arguments[0],
61+
Packages: packages,
62+
}
63+
}
64+
4865
func validateCreateAppVersionContext(ctx *components.Context) error {
4966
if show, err := pluginsCommon.ShowCmdHelpIfNeeded(ctx, ctx.Arguments); show || err != nil {
5067
return err
@@ -62,7 +79,7 @@ func validateCreateAppVersionContext(ctx *components.Context) error {
6279
//if err != nil {
6380
// return err
6481
//}
65-
//err = utils.AssertValueProvided(ctx, commands.PackageRepoNameFlag)
82+
//err = utils.AssertValueProvided(ctx, commands.PackageRepositoryFlag)
6683
//return err
6784
}
6885

@@ -73,8 +90,14 @@ func GetCreateAppVersionCommand(appContext app.Context) components.Command {
7390
Description: "Create application version",
7491
Category: common.CategoryVersion,
7592
Aliases: []string{"cav"},
76-
Arguments: []components.Argument{},
77-
Flags: commands.GetCommandFlags(commands.CreateAppVersion),
78-
Action: cmd.prepareAndRunCommand,
93+
Arguments: []components.Argument{
94+
{
95+
Name: "version-name",
96+
Description: "The name of the version",
97+
Optional: false,
98+
},
99+
},
100+
Flags: commands.GetCommandFlags(commands.CreateAppVersion),
101+
Action: cmd.prepareAndRunCommand,
79102
}
80103
}

application/model/create_app_version_request.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package model
22

33
type CreateAppVersionRequest struct {
4-
ApplicationKey string `json:"application_key"`
5-
Version string `json:"version"`
6-
Packages []*CreateVersionPackage `json:"packages"`
4+
ApplicationKey string `json:"application_key"`
5+
Version string `json:"version"`
6+
Packages []CreateVersionPackage `json:"packages"`
77
}
88

99
type CreateVersionPackage struct {

0 commit comments

Comments
 (0)