This is an automated email from the ASF dual-hosted git repository.

pdesai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-cli.git


The following commit(s) were added to refs/heads/master by this push:
     new 34f1d89  Integrating wskdeploy into wsk CLI (#394)
34f1d89 is described below

commit 34f1d89e3f1578efe906ae42a42ff836cb343cac
Author: Priti Desai <[email protected]>
AuthorDate: Tue Dec 18 13:21:50 2018 -0800

    Integrating wskdeploy into wsk CLI (#394)
    
    * introducing project management using wskdeploy
    
    * introducing project management using wskdeploy
    
    * integrating wskdeploy into wsk CLI
    
    * go fmt
    
    * fixing typo
    
    * updating deps
    
    * adding . after newline, introducing IDs
    
    * adding Ids into messages
---
 build.gradle                     |  9 ++--
 commands/messages.go             |  4 ++
 commands/project.go              | 98 ++++++++++++++++++++++++++++++++++++++++
 commands/wsk.go                  |  1 +
 wski18n/resources/en_US.all.json | 16 +++++++
 5 files changed, 124 insertions(+), 4 deletions(-)

diff --git a/build.gradle b/build.gradle
index eca828e..f4d418c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -44,20 +44,21 @@ dependencies {
     golang {
         // BEGIN - Imported from Godeps
         build(['name':'github.com/cloudfoundry/jibber_jabber', 
'version':'bcc4c8345a21301bf47c032ff42dd1aae2fe3027', 'transitive':false])
-        build(['name':'github.com/fatih/color', 
'version':'87d4004f2ab62d0d255e0a38f1680aa534549fe3', 'transitive':false])
+        build(['name':'github.com/fatih/color', 
'version':'570b54cabe6b8eb0bc2dfce68d964677d63b5260', 'transitive':false])
         build(['name':'github.com/google/go-querystring/query', 
'version':'9235644dd9e52eeae6fa48efd539fdc351a0af53', 'transitive':false])
         build(['name':'github.com/hokaccha/go-prettyjson', 
'version':'f75235bd99dad4e98ff360db8372d5c0ef1d054a', 'transitive':false])
         build(['name':'github.com/inconshreveable/mousetrap', 
'version':'76626ae9c91c4f2a10f34cad8ce83ea42c93bb75', 'transitive':false])
         build(['name':'github.com/mattn/go-colorable', 
'version':'d228849504861217f796da67fae4f6e347643f15', 'transitive':false])
-        build(['name':'github.com/mattn/go-isatty', 
'version':'66b8e73f3f5cda9f96b69efd03dd3d7fc4a5cdb8', 'transitive':false])
+        build(['name':'github.com/mattn/go-isatty', 
'version':'a5cdd64afdee435007ee3e9f6ed4684af949d568', 'transitive':false])
         build(['name':'github.com/mitchellh/go-homedir', 
'version':'1111e456ffea841564ac0fa5f69c26ef44dafec9', 'transitive':false])
-        build(['name':'github.com/nicksnyder/go-i18n/i18n/...', 
'version':'37e5c2de3e03e4b82693e3fcb4a6aa2cc4eb07e3', 'transitive':false])
+        build(['name':'github.com/nicksnyder/go-i18n/i18n/...', 
'version':'991e81cc94f6c54209edb3192cb98e3995ad71c1', 'transitive':false])
         build(['name':'github.com/spf13/cobra', 
'version':'1238ba19d24b0b9ceee2094e1cb31947d45c3e86', 'transitive':false])
         build(['name':'github.com/spf13/pflag', 
'version':'367864438f1b1a3c7db4da06a2f55b144e6784e0', 'transitive':false])
         build(['name':'golang.org/x/sys/unix', 
'version':'7f918dd405547ecb864d14a8ecbbfe205b5f930f', 'transitive':false])
-        build(['name':'gopkg.in/yaml.v2', 
'version':'cd8b52f8269e0feb286dfeef29f8fe4d5b397e0b', 'transitive':false])
+        build(['name':'gopkg.in/yaml.v2', 
'version':'eb3733d160e74a9c7e442f435eb3bea458e1d19f', 'transitive':false])
         build(['name':'github.com/ghodss/yaml', 
'version':'0ca9ea5df5451ffdf184b4428c902747c2c11cd7', 'transitive':false])
         
build(['name':'github.com/apache/incubator-openwhisk-client-go/whisk','version':'c7013c9f456f35be34b3bf166535aaa03b834331','transitive':false])
+        
build(['name':'github.com/apache/incubator-openwhisk-wskdeploy','version':'3bcc605a7f969f5b7f76f5990caa0ef562e3404a','transitive':false])
         // END - Imported from Godeps
         test name:'github.com/stretchr/testify', 
version:'b91bfb9ebec76498946beb6af7c0230c7cc7ba6c', transitive:false //, tag: 
'v1.2.0'
         test name:'github.com/spf13/viper', 
version:'aafc9e6bc7b7bb53ddaa75a5ef49a17d6e654be5', transitive:false
diff --git a/commands/messages.go b/commands/messages.go
index 91b4f24..e04a14c 100644
--- a/commands/messages.go
+++ b/commands/messages.go
@@ -24,4 +24,8 @@ package commands
  */
 const (
        FEED_CONFIGURATION_FAILURE = "FEED_CONFIGURATION_FAILURE"
+       CMD_DESC_LONG_DEPLOY       = "CMD_DESC_LONG_DEPLOY"
+       CMD_DESC_LONG_SYNC         = "CMD_DESC_LONG_SYNC"
+       CMD_DESC_LONG_UNDEPLOY     = "CMD_DESC_LONG_UNDEPLOY"
+       CMD_DESC_LONG_EXPORT       = "CMD_DESC_LONG_EXPORT"
 )
diff --git a/commands/project.go b/commands/project.go
new file mode 100644
index 0000000..c109e3f
--- /dev/null
+++ b/commands/project.go
@@ -0,0 +1,98 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package commands
+
+import (
+       "github.com/apache/incubator-openwhisk-cli/wski18n"
+       "github.com/apache/incubator-openwhisk-wskdeploy/cmd"
+       "github.com/apache/incubator-openwhisk-wskdeploy/utils"
+       wskdeploy_wski18n 
"github.com/apache/incubator-openwhisk-wskdeploy/wski18n"
+       "github.com/spf13/cobra"
+)
+
+var projectCmd = &cobra.Command{
+       Use:   "project",
+       Short: "The OpenWhisk Project Management Tool",
+}
+
+var projectDeployCmd = &cobra.Command{
+       Use:           "deploy",
+       Short:         wski18n.T(wskdeploy_wski18n.ID_CMD_DESC_SHORT_ROOT),
+       Long:          wski18n.T(CMD_DESC_LONG_DEPLOY),
+       SilenceUsage:  true,
+       SilenceErrors: true,
+       RunE: func(cobraCMD *cobra.Command, args []string) error {
+               return cmd.Deploy(cobraCMD)
+       },
+}
+
+var projectUnDeployCmd = &cobra.Command{
+       Use:           "undeploy",
+       Short:         wski18n.T(wskdeploy_wski18n.ID_CMD_DESC_SHORT_UNDEPLOY),
+       Long:          wski18n.T(CMD_DESC_LONG_UNDEPLOY),
+       SilenceUsage:  true,
+       SilenceErrors: true,
+       RunE: func(cobraCMD *cobra.Command, args []string) error {
+               return cmd.Undeploy(cobraCMD)
+       },
+}
+
+var projectSyncCmd = &cobra.Command{
+       Use:           "sync",
+       Short:         wski18n.T(wskdeploy_wski18n.ID_CMD_DESC_SHORT_SYNC),
+       Long:          wski18n.T(CMD_DESC_LONG_SYNC),
+       SilenceUsage:  true,
+       SilenceErrors: true,
+       RunE: func(cobraCMD *cobra.Command, args []string) error {
+               utils.Flags.Sync = true
+               return cmd.Deploy(cobraCMD)
+       },
+}
+
+var projectExportCmd = &cobra.Command{
+       Use:           "export",
+       Short:         wski18n.T(wskdeploy_wski18n.ID_CMD_DESC_SHORT_EXPORT),
+       Long:          wski18n.T(CMD_DESC_LONG_EXPORT),
+       SilenceUsage:  true,
+       SilenceErrors: true,
+       RunE: func(cobraCMD *cobra.Command, args []string) error {
+               return cmd.ExportCmdImp(cobraCMD, args)
+       },
+}
+
+func init() {
+       projectCmd.PersistentFlags().StringVar(&utils.Flags.CfgFile, 
cmd.FLAG_CONFIG, "", wski18n.T(wskdeploy_wski18n.ID_CMD_FLAG_CONFIG))
+       projectCmd.PersistentFlags().StringVarP(&utils.Flags.ManifestPath, 
cmd.FLAG_MANIFEST, "", "", wski18n.T(wskdeploy_wski18n.ID_CMD_FLAG_MANIFEST))
+       projectCmd.PersistentFlags().StringVarP(&utils.Flags.ProjectPath, 
cmd.FLAG_PROJECT, "", ".", wski18n.T(wskdeploy_wski18n.ID_CMD_FLAG_PROJECT))
+       projectCmd.PersistentFlags().StringVarP(&utils.Flags.DeploymentPath, 
cmd.FLAG_DEPLOYMENT, "", "", 
wski18n.T(wskdeploy_wski18n.ID_CMD_FLAG_DEPLOYMENT))
+       projectCmd.PersistentFlags().BoolVarP(&utils.Flags.Strict, 
cmd.FLAG_STRICT, "", false, wski18n.T(wskdeploy_wski18n.ID_CMD_FLAG_STRICT))
+       projectCmd.PersistentFlags().BoolVarP(&utils.Flags.Preview, 
cmd.FLAG_PREVIEW, "", false, wski18n.T(wskdeploy_wski18n.ID_CMD_FLAG_PREVIEW))
+       projectCmd.PersistentFlags().StringSliceVarP(&utils.Flags.Param, 
cmd.FLAG_PARAM, "", []string{}, wski18n.T(wskdeploy_wski18n.ID_CMD_FLAG_PARAM))
+       projectCmd.PersistentFlags().StringVarP(&utils.Flags.ParamFile, 
cmd.FLAG_PARAMFILE, "", "", wski18n.T(wskdeploy_wski18n.ID_CMD_FLAG_PARAM_FILE))
+       projectCmd.PersistentFlags().StringVarP(&utils.Flags.ApiHost, 
cmd.FLAG_API_HOST, "", "", wski18n.T(wskdeploy_wski18n.ID_CMD_FLAG_API_HOST))
+       projectCmd.PersistentFlags().StringVarP(&utils.Flags.Namespace, 
cmd.FLAG_NAMESPACE, cmd.FLAG_NAMESPACE_SHORT, "", 
wski18n.T(wskdeploy_wski18n.ID_CMD_FLAG_NAMESPACE))
+       projectCmd.PersistentFlags().StringVarP(&utils.Flags.Auth, 
cmd.FLAG_AUTH, cmd.FLAG_AUTH_SHORT, "", 
wski18n.T(wskdeploy_wski18n.ID_CMD_FLAG_AUTH_KEY))
+       projectCmd.PersistentFlags().BoolVarP(&utils.Flags.Verbose, 
cmd.FLAG_VERBOSE, cmd.FLAG_VERBOSE_SHORT, false, 
wski18n.T(wskdeploy_wski18n.ID_CMD_FLAG_VERBOSE))
+       projectCmd.PersistentFlags().StringVarP(&utils.Flags.Key, cmd.FLAG_KEY, 
cmd.FLAG_KEY_SHORT, "", wski18n.T(wskdeploy_wski18n.ID_CMD_FLAG_KEY_FILE))
+       projectCmd.PersistentFlags().StringVarP(&utils.Flags.Cert, 
cmd.FLAG_CERT, cmd.FLAG_CERT_SHORT, "", 
wski18n.T(wskdeploy_wski18n.ID_CMD_FLAG_CERT_FILE))
+
+       projectCmd.AddCommand(projectDeployCmd)
+       projectCmd.AddCommand(projectUnDeployCmd)
+       projectCmd.AddCommand(projectSyncCmd)
+       projectCmd.AddCommand(projectExportCmd)
+}
diff --git a/commands/wsk.go b/commands/wsk.go
index 963f437..28bf6d3 100644
--- a/commands/wsk.go
+++ b/commands/wsk.go
@@ -57,6 +57,7 @@ func init() {
                namespaceCmd,
                listCmd,
                apiCmd,
+               projectCmd,
        )
 
        WskCmd.PersistentFlags().BoolVarP(&Flags.Global.Verbose, "verbose", 
"v", false, wski18n.T("verbose output"))
diff --git a/wski18n/resources/en_US.all.json b/wski18n/resources/en_US.all.json
index a837d5e..a0e81b1 100644
--- a/wski18n/resources/en_US.all.json
+++ b/wski18n/resources/en_US.all.json
@@ -1586,5 +1586,21 @@
   {
     "id": "A response type of 'http' is required when using path parameters.",
     "translation": "A response type of 'http' is required when using path 
parameters."
+  },
+  {
+    "id": "CMD_DESC_LONG_DEPLOY",
+    "translation": "To begin working with deploy, run the 'wsk project deploy' 
command:\n\n\t$ wsk project deploy\n\nThis will deploy OpenWhisk assets 
specified in manifest.yaml or manifest.yml.\nIf the working directory doesn't 
contain a manifest file, wsk project deploy prints this help message.\n\nThe 
most common ways of using wsk project deploy to deploy and/or undeploy 
OpenWhisk assets are:\n\n$ wsk project deploy\n$ wsk project deploy --manifest 
path/to/manifest.yaml\n$ wsk project [...]
+  },
+  {
+    "id": "CMD_DESC_LONG_UNDEPLOY",
+    "translation": "Undeploy removes OpenWhisk assets which were deployed from 
the manifest and deployment YAML.\n\nTo begin deleting OpenWhisk assets from 
the manifest file, run:\n$ wsk project undeploy\n$ wsk project undeploy 
--manifest path/to/manifest.yaml\n$ wsk project undeploy --manifest 
path/to/manifest.yaml --deployment path/to/deployment.yaml\n$ wsk project 
undeploy --projectname PROJECT (only works for deployments in sync mode)"
+  },
+  {
+    "id": "CMD_DESC_LONG_SYNC",
+    "translation": "A tool to sync deployment and undeployment of OpenWhisk 
packages using a manifest and optional deployment files using 
YAML.\n\nDifferent ways of running sync:\n$ wsk project sync\n$ wsk project 
sync --manifest path/to/manifest.yaml\n$ wsk project sync --manifest 
path/to/manifest.yaml --deployment path/to/manifest.yaml\n$ wsk project sync 
--manifest path/to/manifest.yaml --projectname PROJECT"
+  },
+  {
+    "id": "CMD_DESC_LONG_EXPORT",
+    "translation": "Exports managed project assets from OpenWhisk to manifest 
and function files.\n\nThe most common way to run export:\n$ wsk project export 
--projectname PROJECT --manifest path/to/exported-manifest.yaml"
   }
 ]

Reply via email to