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/openwhisk-wskdeploy.git
The following commit(s) were added to refs/heads/master by this push:
new 7126d6c Remove unused Godeps files; update README for Go Modules
(#1114)
7126d6c is described below
commit 7126d6ccb50a63b11ce23a9f4166edb76bb9bfa1
Author: Matt Rutkowski <[email protected]>
AuthorDate: Wed Feb 17 17:03:33 2021 -0600
Remove unused Godeps files; update README for Go Modules (#1114)
* Remove unused Godeps files; update README for Go Modules
* Remove unused Godeps files; update README for Go Modules
* Remove unused Godeps files; update README for Go Modules
* Remove unused Godeps files; update README for Go Modules
* Remove unused Godeps files; update README for Go Modules
* Update README to include dependency mgmt using go get
* Clean up Dockerfile from godeps commands
* Remove godep from travis config
---
.travis.yml | 1 -
Dockerfile | 10 +-
Godeps/Godeps.json | 176 ----------------------------
Godeps/Readme | 5 -
Makefile | 6 +-
README.md | 244 +++++++++++++++++++++++++--------------
build.gradle | 1 -
docs/creating_tagged_releases.md | 11 +-
8 files changed, 165 insertions(+), 289 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 3444ab7..79555d2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -42,7 +42,6 @@ install:
- export DEPLOY_BUILD_READY=false
- go get -u golang.org/x/lint/golint
- go get -u github.com/stretchr/testify
- - go get -u github.com/tools/godep
before_script:
- GO_FILES=$(find . -iname '*.go' -type f -not -path
"./wski18n/i18n_resources.go")
- export BAD_GO=$(gofmt -s -l $(echo $GO_FILES))
diff --git a/Dockerfile b/Dockerfile
index 34fe6e4..f3dd5c7 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -15,7 +15,7 @@
# limitations under the License.
#
-FROM golang:1.9
+FROM golang:1.15
# Install zip
RUN apt-get -y update && \
@@ -23,16 +23,8 @@ RUN apt-get -y update && \
ENV GOPATH=/
-# Download and install tools
-RUN echo "Installing the godep tool"
-RUN go get github.com/tools/godep
-
ADD . /src/github.com/apache/openwhisk-wskdeploy
-# Load all of the dependencies from the previously generated/saved godep
generated godeps.json file
-RUN echo "Restoring Go dependencies"
-RUN cd /src/github.com/apache/openwhisk-wskdeploy && /bin/godep restore -v
-
# All of the Go CLI binaries will be placed under a build folder
RUN rm -rf /src/github.com/apache/openwhisk-wskdeploy/build
RUN mkdir /src/github.com/apache/openwhisk-wskdeploy/build
diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json
deleted file mode 100644
index 28eb422..0000000
--- a/Godeps/Godeps.json
+++ /dev/null
@@ -1,176 +0,0 @@
-{
- "ImportPath": "github.com/apache/openwhisk-wskdeploy",
- "GoVersion": "go1.9",
- "GodepVersion": "v62",
- "Deps": [
- {
- "ImportPath": "github.com/cloudfoundry/jibber_jabber",
- "Rev": "bcc4c8345a21301bf47c032ff42dd1aae2fe3027"
- },
- {
- "ImportPath": "github.com/fatih/color",
- "Comment": "v1.5.0",
- "Rev": "570b54cabe6b8eb0bc2dfce68d964677d63b5260"
- },
- {
- "ImportPath": "github.com/fsnotify/fsnotify",
- "Comment": "v1.4.2-2-gfd9ec7d",
- "Rev": "fd9ec7deca8bf46ecd2a795baaacf2b3a9be1197"
- },
- {
- "ImportPath": "github.com/google/go-querystring/query",
- "Rev": "9235644dd9e52eeae6fa48efd539fdc351a0af53"
- },
- {
- "ImportPath": "github.com/hashicorp/hcl",
- "Rev": "973f376f0e7cf09c96e445b44712416c0cb22ec4"
- },
- {
- "ImportPath": "github.com/hashicorp/hcl/hcl/ast",
- "Rev": "973f376f0e7cf09c96e445b44712416c0cb22ec4"
- },
- {
- "ImportPath": "github.com/hashicorp/hcl/hcl/parser",
- "Rev": "973f376f0e7cf09c96e445b44712416c0cb22ec4"
- },
- {
- "ImportPath": "github.com/hashicorp/hcl/hcl/scanner",
- "Rev": "973f376f0e7cf09c96e445b44712416c0cb22ec4"
- },
- {
- "ImportPath": "github.com/hashicorp/hcl/hcl/strconv",
- "Rev": "973f376f0e7cf09c96e445b44712416c0cb22ec4"
- },
- {
- "ImportPath": "github.com/hashicorp/hcl/hcl/token",
- "Rev": "973f376f0e7cf09c96e445b44712416c0cb22ec4"
- },
- {
- "ImportPath": "github.com/hashicorp/hcl/json/parser",
- "Rev": "973f376f0e7cf09c96e445b44712416c0cb22ec4"
- },
- {
- "ImportPath": "github.com/hashicorp/hcl/json/scanner",
- "Rev": "973f376f0e7cf09c96e445b44712416c0cb22ec4"
- },
- {
- "ImportPath": "github.com/hashicorp/hcl/json/token",
- "Rev": "973f376f0e7cf09c96e445b44712416c0cb22ec4"
- },
- {
- "ImportPath": "github.com/hokaccha/go-prettyjson",
- "Rev": "f75235bd99dad4e98ff360db8372d5c0ef1d054a"
- },
- {
- "ImportPath": "github.com/inconshreveable/mousetrap",
- "Rev": "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"
- },
- {
- "ImportPath": "github.com/magiconair/properties",
- "Comment": "v1.7.0-5-g0723e35",
- "Rev": "0723e352fa358f9322c938cc2dadda874e9151a9"
- },
- {
- "ImportPath": "github.com/mattn/go-colorable",
- "Comment": "v0.0.6-9-gd228849",
- "Rev": "d228849504861217f796da67fae4f6e347643f15"
- },
- {
- "ImportPath": "github.com/mattn/go-isatty",
- "Rev": "66b8e73f3f5cda9f96b69efd03dd3d7fc4a5cdb8"
- },
- {
- "ImportPath": "github.com/mitchellh/mapstructure",
- "Rev": "f3009df150dadf309fdee4a54ed65c124afad715"
- },
- {
- "ImportPath": "github.com/nicksnyder/go-i18n/i18n",
- "Comment": "v1.6.0-1-g991e81c",
- "Rev": "991e81cc94f6c54209edb3192cb98e3995ad71c1"
- },
- {
- "ImportPath":
"github.com/nicksnyder/go-i18n/i18n/bundle",
- "Comment": "v1.6.0-1-g991e81c",
- "Rev": "991e81cc94f6c54209edb3192cb98e3995ad71c1"
- },
- {
- "ImportPath":
"github.com/nicksnyder/go-i18n/i18n/language",
- "Comment": "v1.6.0-1-g991e81c",
- "Rev": "991e81cc94f6c54209edb3192cb98e3995ad71c1"
- },
- {
- "ImportPath":
"github.com/nicksnyder/go-i18n/i18n/translation",
- "Comment": "v1.6.0-1-g991e81c",
- "Rev": "991e81cc94f6c54209edb3192cb98e3995ad71c1"
- },
- {
- "ImportPath":
"github.com/apache/openwhisk-client-go/whisk",
- "Rev": "ee5b8709787cd37201c42e38040e9709f6d1e9c8"
- },
- {
- "ImportPath":
"github.com/apache/openwhisk-client-go/wski18n",
- "Rev": "ee5b8709787cd37201c42e38040e9709f6d1e9c8"
- },
- {
- "ImportPath": "github.com/pelletier/go-buffruneio",
- "Rev": "df1e16fde7fc330a0ca68167c23bf7ed6ac31d6d"
- },
- {
- "ImportPath": "github.com/pelletier/go-toml",
- "Comment": "v0.3.5-16-g45932ad",
- "Rev": "45932ad32dfdd20826f5671da37a5f3ce9f26a8d"
- },
- {
- "ImportPath": "github.com/spf13/afero",
- "Rev": "06b7e5f50606ecd49148a01a6008942d9b669217"
- },
- {
- "ImportPath": "github.com/spf13/afero/mem",
- "Rev": "06b7e5f50606ecd49148a01a6008942d9b669217"
- },
- {
- "ImportPath": "github.com/spf13/cast",
- "Rev": "2580bc98dc0e62908119e4737030cc2fdfc45e4c"
- },
- {
- "ImportPath": "github.com/spf13/cobra",
- "Rev": "6e91dded25d73176bf7f60b40dd7aa1f0bf9be8d"
- },
- {
- "ImportPath": "github.com/spf13/jwalterweatherman",
- "Rev": "33c24e77fb80341fe7130ee7c594256ff08ccc46"
- },
- {
- "ImportPath": "github.com/spf13/pflag",
- "Rev": "5ccb023bc27df288a957c5e994cd44fd19619465"
- },
- {
- "ImportPath": "github.com/spf13/viper",
- "Rev": "651d9d916abc3c3d6a91a12549495caba5edffd2"
- },
- {
- "ImportPath": "golang.org/x/sys/unix",
- "Rev": "9a2e24c3733eddc63871eda99f253e2db29bd3b9"
- },
- {
- "ImportPath": "golang.org/x/text/transform",
- "Rev": "a8b38433e35b65ba247bb267317037dee1b70cea"
- },
- {
- "ImportPath": "golang.org/x/text/unicode/norm",
- "Rev": "a8b38433e35b65ba247bb267317037dee1b70cea"
- },
- {
- "ImportPath": "gopkg.in/yaml.v2",
- "Rev": "eb3733d160e74a9c7e442f435eb3bea458e1d19f"
- },
- {
- "ImportPath": "github.com/palantir/stacktrace",
- "Rev": "78658fd2d1772b755720ed8c44367d11ee5380d6"
- },
- {
- "ImportPath": "github.com/ghodss/yaml",
- "Rev": "25d852aebe32c875e9c044af3eef9c7dc6bc777f"
- }
- ]
-}
diff --git a/Godeps/Readme b/Godeps/Readme
deleted file mode 100644
index 4cdaa53..0000000
--- a/Godeps/Readme
+++ /dev/null
@@ -1,5 +0,0 @@
-This directory tree is generated automatically by godep.
-
-Please do not edit.
-
-See https://github.com/tools/godep for more information.
diff --git a/Makefile b/Makefile
index bf632b0..e8663b0 100644
--- a/Makefile
+++ b/Makefile
@@ -26,13 +26,9 @@ BUILD=`git rev-parse HEAD`
BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"`
-deps:
- @echo "Installing dependencies"
- godep restore -v
-
LDFLAGS=-ldflags "-X main.Version=${VERSION} -X main.GitCommit=${BUILD} -X
main.BuildDate=${BUILD_DATE} -X main.Build=`git rev-parse HEAD` "
-test: deps
+test:
@echo "Testing"
go test ./... -tags=unit
diff --git a/README.md b/README.md
index 47c1e1f..0e985fb 100644
--- a/README.md
+++ b/README.md
@@ -24,14 +24,32 @@
`wskdeploy` is a utility to help you describe and deploy any part of the
OpenWhisk programming model using a Manifest file written in YAML. Use it to
deploy all your OpenWhisk
[Packages](https://github.com/apache/openwhisk/blob/master/docs/packages.md),
[Actions](https://github.com/apache/openwhisk/blob/master/docs/actions.md),
[Triggers, and
Rules](https://github.com/apache/openwhisk/blob/master/docs/triggers_rules.md)
using a single command!
-`wskdeploy export --projectname managed_project_name` allows to "export" a
specified managed project into a local file system. Namely, a
`managed_project_name.yml` Manifest file will be created automatically. This
Manifest file can be used with `wskdeploy` to redeploy the managed project at a
different OpenWhisk instance. If the managed project contains dependencies on
other managed projects, then these projects will be exported automatically into
their respective manifests.
+#### Running `wskdeploy` standalone
-You can use this in addition to the OpenWhisk CLI. In fact, this utility uses
the [OpenWhisk "Go" Client](https://github.com/apache/openwhisk-client-go) to
create its HTTP REST calls for deploying and undeploying your packages.
+You can use this utility separately from the OpenWhisk CLI as it uses the same
[OpenWhisk "Go" Client](https://github.com/apache/openwhisk-client-go) as the
Openwhisk CLI does to create its HTTP REST calls for deploying and undeploying
your Openwhisk packages and entities.
-## Here are some quick links for:
+#### Running `wskdeploy` as part of the `wsk` CLI
-- [Downloading wskdeploy](#downloading-released-binaries) - released binaries
for Linux, Mac OS and Windows
-- [Running wskdeploy](#running-wskdeploy) - run wskdeploy as a binary or Go
program
+Alternatively, you can use the `wskdeploy` functionality within the OpenWhisk
CLI as it is now embedded as the `deploy` command. That is, you can invoke it
as `wsk deploy` using all the same parameters documented for the standalone
utility.
+
+#### Using `wskdeploy` to manage OpenWhisk entities as projects
+
+In addition to simple deployment, `wskdeploy` also has the powerful `export`
command to manage sets of OpenWhisk entities that work together as a named
project. The command:
+
+```sh
+wskdeploy export --projectname <managed_project_name>`
+```
+
+allows you to "export" a specified project into a local file system and manage
it as a single entity.
+
+In the above example, a `<managed_project_name>.yml` Manifest file would be
created automatically which can be used with `wskdeploy` to redeploy the
managed project on a different OpenWhisk instance. If the managed project
contains dependencies on other managed projects, then these projects will be
exported automatically into their respective manifests.
+
+## Getting started
+
+Here are some quick links to help you get started:
+
+- [Downloading released binaries](#downloading-released-binaries) - released
binaries for Linux, Mac OS and Windows
+- [Running wskdeploy](#running-wskdeploy) - run `wskdeploy` as a binary or Go
program
- :eight_spoked_asterisk: [Writing Package
Manifests](docs/programming_guide.md#wskdeploy-utility-by-example) - a
step-by-step guide on writing Package Manifest files for ```wskdeploy```
- :eight_spoked_asterisk: [Exporting OpenWhisk assets](docs/export.md) - how
to use `export` feature
- [Building the project](#building-the-project) - download and build the
GoLang source code
@@ -41,37 +59,79 @@ You can use this in addition to the OpenWhisk CLI. In
fact, this utility uses t
---
+## Downloading released binaries
+
+Binaries of `wskdeploy` are available for download on the project's GitHub
release page:
+-
[https://github.com/apache/openwhisk-wskdeploy/releases](https://github.com/apache/openwhisk-wskdeploy/releases).
+
+For each release, we typically provide binaries built for Linux, Mac OS
(Darwin) and Windows on the AMD64 architecture. However, we provide
instructions on how to build your own binaries as well from source code with
the Go tool. See [Building the project](#building-the-project).
+
+_If you are a Developer or Contributor, **we recommend building from the
latest source code** from the project's master branch._
+
+for end-users, please use versioned releases of binaries.
+-
[https://github.com/apache/openwhisk-wskdeploy/releases](https://github.com/apache/openwhisk-wskdeploy/releases)
+
+---
+
+## Running ```wskdeploy```
+
+Start by verifying the utility can display the command line help:
+```sh
+$ ./wskdeploy --help
+```
+
+then try deploying an OpenWhisk Manifest and Deployment file:
+```sh
+$ ./wskdeploy -m tests/usecases/triggerrule/manifest.yml -d
tests/usecases/triggerrule/deployment.yml
+```
+
+---
+
## Building the project
### GoLang setup
-The wskdeploy utility is a GoLang program so you will first need to [Download
and install GoLang](https://golang.org/doc/install) onto your local machine.
+The wskdeploy utility is a GoLang program so you will first need to [Download
and install GoLang](https://golang.org/dl/) onto your local machine.
+
+> **Note** Go version 1.15 or higher is recommended
Make sure your `$GOPATH` is defined correctly in your environment. For
detailed setup of your GoLang development environment, please read [How to
Write Go Code](https://golang.org/doc/code.html).
+### Download the source code from GitHub
-### Get the source code from GitHub
+As the code is managed using GitHub, it is easiest to retrieve the code using
the `git clone` command.
-Once your environment is setup, download `wskdeploy` and its dependencies:
+if you just want to build the code and do not intend to be a Contributor, you
can clone the latest code from the Apache repository:
```sh
-$ cd $GOPATH
-$ go get github.com/apache/openwhisk-wskdeploy # see known issues below if
you get an error
-$ go get github.com/tools/godep # get the dependency manager
+git clone [email protected]:apache/openwhisk-wskdeploy
```
-### Build the binary
+or you can specify a release (tag) if you do not want the latest code by using
the `--branch <tag>` flag. For example, you can clone the source code for the
tagged 1.1.0 [release](https://github.com/apache/openwhisk-wskdeploy/releases)
+
+```sh
+git clone --branch 1.1.0 [email protected]:apache/openwhisk-wskdeploy
+```
+
+You can also pull the code from a fork of the repository. If you intend to
become a Contributor to the project, read the section [Contributing to the
project](#contributing-to-the-project) below on how to setup a fork.
+
+
+### Building using `go build`
+
+Use the Go utility to build the ```wskdeploy``` binary
+
+Change into the cloned project directory and use `go build` with the target
output name for the binary:
-Use the Go utility to build the ```wskdeploy``` binary as follows:
```sh
-$ cd src/github.com/apache/openwhisk-wskdeploy/
-$ godep restore
$ go build -o wskdeploy
```
-### building for other Operating Systems (GOOS) and Architectures (GOARCH)
+an executable named `wskdeploy` will be created in the current directory for
your current operating system and architecture.
+
+### Building for other Operating Systems (GOOS) and Architectures (GOARCH)
If you would like to build the binary for a specific operating system, you may
add the arguments GOOS and GOARCH into the Go build command. You may set
+
- ```GOOS``` to "linux", "darwin" or "windows"
- ```GOARCH``` to "amd64" or "386"
@@ -81,37 +141,45 @@ For example, run the following command to build the binary
for 64-bit Linux:
$ GOOS=linux GOARCH=amd64 go build -o wskdeploy
```
-### build using GoDep tool
+### How to Cross Compile Binary with Gradle/Docker
-If you want to build with the godep tool, please execute the following
commands.
+If you don't want to bother with go installation, build, git clone etc, and
you can do it with Gradle/Docker.
-```sh
-$ go get github.com/tools/godep # Install the godep tool.
-$ godep get # Download and install packages with specified
dependencies.
-$ godep go build -o wskdeploy # build the wskdeploy tool.
-```
+After compiling, a suitable wskdeploy binary that works for your OS platform
will be available under /bin directory.
-<!--
-----------------------------------------------------------------------------
-->
+1. First you need a docker daemon running locally on your machine.
-## Running ```wskdeploy```
+2. Make sure you have Java 8 or above installed.
-After building the wskdeploy binary, you can run it as follows:
+3. Clone the wskdeploy repo with command ```git clone
https://github.com/apache/openwhisk-wskdeploy.git```
-#### Running the Binary file
+4. If you use Windows OS, type ```gradlew.bat -version ```. For
Unix/Linux/Mac, please type ```./gradlew -version```.
-Start by verifying the utility can display the command line help:
-```sh
-$ ./wskdeploy --help
-```
+5. Make sure you can see the correct Gradle version info on your console.
Currently the expected Gradle
+version is 3.3.
+
+6. For Windows type ```gradlew.bat distDocker```. For Linux/Unix/Mac, please
type ```./gradlew distDocker```. These
+commands will start the wskdeploy cross compile for your specific OS platform
inside a Docker container.
+
+7. After build success, you should find a correct binary under current /bin
dir of you openwhisk-deploy clone dir.
+
+If you would like to build the binaries available for all the operating
systems and architectures, run the following command:
-then try deploying an OpenWhisk Manifest and Deployment file:
```sh
-$ ./wskdeploy -m tests/usecases/triggerrule/manifest.yml -d
tests/usecases/triggerrule/deployment.yml
+$ ./gradlew distDocker -PcrossCompileWSKDEPLOY=true
```
-#### Running as a Go program
+Then, you will find the binaries and their compressed packages generated under
the folder ```bin/<os>/<arch>/``` for each supported Operating System and CPU
Architecture pair.
+
+### Building for Internationalization
+
+Please follow this process for building any changes to translatable strings:
+- [How to generate the file i18n_resources.go for
internationalization](https://github.com/apache/openwhisk-wskdeploy/blob/master/wski18n/README.md)
+
+### Running as a Go program
+
+Since ```wskdeploy``` is a GoLang program, you may choose to run it using the
Go utility. After building the wskdeploy binary, you can run it as follows:
-Since ```wskdeploy``` is a GoLang program, you may choose to run it using the
Go utility:
```sh
$ go run main.go --help
```
@@ -120,86 +188,93 @@ and deploying using the Go utility would look like:
```sh
$ go run main.go -m tests/usecases/triggerrule/manifest.yml -d
tests/usecases/triggerrule/deployment.yml
```
-<!--
-----------------------------------------------------------------------------
-->
-## Downloading released binaries
+---
-Binaries of `wskdeploy` are available for download on the project's GitHub
release page:
--
[https://github.com/apache/openwhisk-wskdeploy/releases](https://github.com/apache/openwhisk-wskdeploy/releases).
+## Contributing to the project
-For each release, we typically provide binaries built for Linux, Mac OS
(Darwin) and Windows on the AMD64 architecture. However, we provide
instructions on how to build your own binaries as well from source code with
the Go tool. See [Building the project](#building-the-project).
+### Git repository setup
-_If you are a Developer or Contributor, **we recommend building from the
latest source code** from the project's master branch._
+1.
[Fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo)
the Apache repository
-<!--
-----------------------------------------------------------------------------
-->
+ If you intend to contribute code, you will want to fork the
`apache/openwhisk-wskdeploy` repository into your github account and use that
as the source for your clone.
-## Contributing to the project
+1. Clone the repository from your fork:
-Start by creating a fork of `openwhisk-wskdeploy` and then change the git
`origin` to point to your forked repository, as follows:
+ ```sh
+ git clone
[email protected]:${GITHUB_ACCOUNT_USERNAME}/openwhisk-wskdeploy.git
+ ```
-```sh
-$ cd $GOPATH/src/github.com/apache/openwhisk-wskdeploy
-$ git remote rename origin upstream
-$ git remote add origin https://github.com/<your fork>/openwhisk-wskdeploy
-$ git fetch --all
-$ git branch --set-upstream-to origin/master # track master from origin now
-```
+1. Add the Apache repository as a remote with the `upstream` alias:
-You can now use `git push` to push changes to your repository and submit pull
requests.
+ ```sh
+ git remote add upstream [email protected]:apache/openwhisk-wskdeploy
+ ```
-### Developers should use "go deps" and "go build" not "go get"
+ You can now use `git push` to push local `commit` changes to your `origin`
repository and submit pull requests to the `upstream` project repository.
-The Whisk deploy project is setup for development purposes and uses "go deps"
for dependency management. We do NOT recommend using "go get" as this will use
the latest dependencies for all imported GitHub repos. which is not supported.
+ 1. Optionally, prevent accidental pushes to `upstream` using this command:
-- See: [https://github.com/tools/godep](https://github.com/tools/godep)
+ ```sh
+ git remote set-url --push upstream no_push
+ ```
-Specifically, for development please use ```go build```:
+> Be sure to [Sync your
fork](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/syncing-a-fork)
before starting any contributions to keep it up-to-date with the upstream
repository.
-```
-$ git clone [email protected]:<your fork>/openwhisk-wskdeploy
-$ cd openwhisk-wskdeploy
-$ go build
-```
+### Adding new dependencies
-for end-users, please use versioned releases of binaries.
--
[https://github.com/apache/openwhisk-wskdeploy/releases](https://github.com/apache/openwhisk-wskdeploy/releases)
+Please use `go get` to add new dependencies to the `go.mod` file:
-### How to Cross Compile Binary with Gradle/Docker
+```sh
+go get github.com/project/[email protected]
+```
-If you don't want to bother with go installation, build, git clone etc, and
you can do it with Gradle/Docker.
+> Please avoid using commit hashes for referencing non-OpenWhisk libraries.
-After compiling, a suitable wskdeploy binary that works for your OS platform
will be available under /bin directory.
+### Removing unused dependencies
-1. First you need a docker daemon running locally on your machine.
+Please us `go tidy` to remove any unused dependencies after any significant
code changes:
-2. Make sure you have Java 1.7 or above installed.
+```sh
+go mod tidy
+```
-3. Clone the wskdeploy repo with command ```git clone
https://github.com/apache/openwhisk-wskdeploy.git```
+### Updating dependency versions
-4. If you use Windows OS, type ```gradlew.bat -version ```. For
Unix/Linux/Mac, please type ```./gradlew -version```.
+Although you might be tempted to edit the go.mod file directly, please use the
recommended method of using the `go get` command:
-5. Make sure you can see the correct Gradle version info on your console.
Currently the expected Gradle
-version is 3.3.
+Using "latest" version:
-6. For Windows type ```gradlew.bat distDocker```. For Linux/Unix/Mac, please
type ```./gradlew distDocker```. These
-commands will start the wskdeploy cross compile for your specific OS platform
inside a Docker container.
+```sh
+go get github.com/project/libname
+```
-7. After build success, you should find a correct binary under current /bin
dir of you openwhisk-deploy clone dir.
+Using a release tag:
-If you would like to build the binaries available for all the operating
systems and architectures, run the following command:
+```sah
+go get github.com/project/libname
+```
+
+Using a commit hash:
```sh
-$ ./gradlew distDocker -PcrossCompileWSKDEPLOY=true
+go get github.com/project/libname@aee5cab1c
```
-Then, you will find the binaries and their compressed packages generated under
the folder ```bin/<os>/<arch>/``` for each supported Operating System and CPU
Architecture pair.
+### Updating Go version
-### Building for Internationalization
+Although you could edit the version directly in the go.mod file, it is better
to use the `go edit` command:
-Please follow this process for building any changes to translatable strings:
-- [How to generate the file i18n_resources.go for
internationalization](https://github.com/apache/openwhisk-wskdeploy/blob/master/wski18n/README.md)
+```sh
+go mod edit -go=1.14
+```
+
+### Creating Tagged Releases
-<!--
-----------------------------------------------------------------------------
-->
+Committers can find instructions on how to create tagged releases here:
+-
[creating_tagged_releases.md](https://github.com/apache/openwhisk-wskdeploy/tree/master/docs/creating_tagged_releases.md)
+
+---
## Troubleshooting
@@ -242,8 +317,3 @@ This is caused by newer `git` versions not forwarding
requests anymore. One solu
```
$ git config --global http.https://gopkg.in.followRedirects true
```
-
-## Creating Tagged Releases
-
-Committers can find instructions on how to create tagged releases here:
--
[creating_tagged_releases.md](https://github.com/apache/openwhisk-wskdeploy/tree/master/docs/creating_tagged_releases.md)
diff --git a/build.gradle b/build.gradle
index 07fbe7c..803a820 100644
--- a/build.gradle
+++ b/build.gradle
@@ -87,7 +87,6 @@ dependencies {
rat {
excludes += [
- 'Godeps/*',
'.gradletasknamecache', 'gradle/wrapper/**', 'gradlew*', 'build/**',
// Gradle
'.gitignore', '.rat-excludes',
'i18n_resources.go',
diff --git a/docs/creating_tagged_releases.md b/docs/creating_tagged_releases.md
index 82675ac..4314b95 100644
--- a/docs/creating_tagged_releases.md
+++ b/docs/creating_tagged_releases.md
@@ -24,23 +24,24 @@ The most convenient way to create a tagged release for
wskdeploy is to build the
1. Add a tag to a commit id: ```git tag -a <tag/version> <commit hash>```
-for example, using the (7 min.) leading characters on commit hash:
+for example, using the leading characters on commit hash (minimum of 7
characters):
+
```
-$ git tag -a 0.8.9 c08b0f
+$ git tag -a 1.0.9 c08b0f3
```
2. Push the tag upstream: ```git push -f upstream <tag/version>```
for example:
```
-$ git push -f upstream 0.8.9
+$ git push -f upstream 1.0.9
```
-Travis will start the build of 0.8.9 automatically by the event of tag
creation.
+will start a Travis build of 1.0.9 automatically from seeing the tag creation
event.
If the travis build passed, binaries will be pushed into releases page.
-If we modify the tag by pointing to a different commit, use ```git push -f
upstream 0.8.9<tag>``` to overwrite the old tag. New binaries from travis build
will overwrite the old binaries as well.
+If we modify the tag by pointing to a different commit, use ```git push -f
upstream 1.0.9<tag>``` to overwrite the old tag. New binaries from travis build
will overwrite the old binaries as well.
You can download the binaries, and delete them from the releases page in
GitHub if we do not want them to be public.