Improve archive package user experience (#927)

This commit is contained in:
Vishal
2018-11-29 23:00:38 +08:00
committed by Ta-Ching Chen
parent 7cedf8d580
commit 19b52938c3
10 changed files with 235 additions and 110 deletions
+21 -10
View File
@@ -252,10 +252,15 @@ func fnCreate(c *cli.Context) error {
}
}
srcArchiveName := c.String("src")
deployArchiveName := c.String("code")
if len(deployArchiveName) == 0 {
deployArchiveName = c.String("deploy")
srcArchiveName := c.StringSlice("src")
var deployArchiveName []string
codeFlag := false
code := c.String("code")
if len(code) == 0 {
deployArchiveName = c.StringSlice("deploy")
} else {
deployArchiveName = append(deployArchiveName, c.String("code"))
codeFlag = true
}
// fatal when both src & deploy archive are empty
if len(srcArchiveName) == 0 && len(deployArchiveName) == 0 {
@@ -265,7 +270,7 @@ func fnCreate(c *cli.Context) error {
buildcmd := c.String("buildcmd")
// create new package in the same namespace as the function.
pkgMetadata = createPackage(client, fnNamespace, envName, envNamespace, srcArchiveName, deployArchiveName, buildcmd, specFile)
pkgMetadata = createPackage(client, fnNamespace, envName, envNamespace, srcArchiveName, deployArchiveName, buildcmd, specFile, codeFlag)
fmt.Printf("package '%v' created\n", pkgMetadata.Name)
}
@@ -466,11 +471,17 @@ func fnUpdate(c *cli.Context) error {
envNamespace = ""
}
deployArchiveName := c.String("code")
if len(deployArchiveName) == 0 {
deployArchiveName = c.String("deploy")
var deployArchiveName []string
codeFlag := false
code := c.String("code")
if len(code) == 0 {
deployArchiveName = c.StringSlice("deploy")
} else {
deployArchiveName = append(deployArchiveName, c.String("code"))
codeFlag = true
}
srcArchiveName := c.String("src")
srcArchiveName := c.StringSlice("src")
pkgName := c.String("pkg")
entrypoint := c.String("entrypoint")
buildcmd := c.String("buildcmd")
@@ -563,7 +574,7 @@ func fnUpdate(c *cli.Context) error {
log.Fatal("Package is used by multiple functions, use --force to force update")
}
pkgMetadata, err = updatePackage(client, pkg, pkg.Spec.Environment.Name, pkg.Spec.Environment.Namespace, srcArchiveName, deployArchiveName, buildcmd, false)
pkgMetadata, err = updatePackage(client, pkg, envName, envNamespace, srcArchiveName, deployArchiveName, buildcmd, false, codeFlag)
util.CheckErr(err, fmt.Sprintf("update package '%v'", pkgName))
fmt.Printf("package '%v' updated\n", pkgMetadata.GetName())