17
									
								
								.circleci/config.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								.circleci/config.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| version: 2.1 | ||||
|  | ||||
| orbs: | ||||
|   moul: moul/build@1.14.0 # https://github.com/moul/build | ||||
|  | ||||
| workflows: | ||||
|   main: | ||||
|     jobs: | ||||
|       - moul/golang-build: | ||||
|           gopkg: moul.io/protoc-gen-gotemplate | ||||
|       - moul/golang-build: | ||||
|           gopkg: moul.io/protoc-gen-gotemplate | ||||
|           tag: '1.12' | ||||
|       - moul/golang-build: | ||||
|           gopkg: moul.io/protoc-gen-gotemplate | ||||
|           tag: '1.11' | ||||
|       - moul/docker-build | ||||
							
								
								
									
										15
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| # Auto detect text files and perform LF normalization | ||||
| * text=auto | ||||
|  | ||||
| # Collapse vendored and generated files on GitHub | ||||
| vendor/* linguist-vendored | ||||
| rules.mk linguist-vendored | ||||
| */vendor/* linguist-vendored | ||||
| *.gen.* linguist-generated | ||||
| *.pb.go linguist-generated | ||||
| go.sum linguist-generated | ||||
| go.mod linguist-generated | ||||
| gen.sum linguist-generated | ||||
|  | ||||
| # Reduce conflicts on markdown files | ||||
| *.md merge=union | ||||
							
								
								
									
										45
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										45
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,28 +1,25 @@ | ||||
| vendor/**/.travis.yml | ||||
| # Temporary files | ||||
| *~ | ||||
| *# | ||||
| .#* | ||||
| coverage.txt | ||||
|  | ||||
| /protoc-gen-gotemplate | ||||
|  | ||||
| # Compiled Object files, Static and Dynamic libs (Shared Objects) | ||||
| *.o | ||||
| *.a | ||||
| *.so | ||||
|  | ||||
| # Folders | ||||
| _obj | ||||
| _test | ||||
|  | ||||
| # Architecture specific extensions/prefixes | ||||
| *.[568vq] | ||||
| [568vq].out | ||||
|  | ||||
| *.cgo1.go | ||||
| *.cgo2.c | ||||
| _cgo_defun.c | ||||
| _cgo_gotypes.go | ||||
| _cgo_export.* | ||||
|  | ||||
| _testmain.go | ||||
| # Vendors | ||||
| package-lock.json | ||||
| node_modules/ | ||||
| vendor/ | ||||
|  | ||||
| # Binaries for programs and plugins | ||||
| dist/ | ||||
| gin-bin | ||||
| *.exe | ||||
| *.exe~ | ||||
| *.dll | ||||
| *.so | ||||
| *.dylib | ||||
|  | ||||
| # Test binary, build with `go test -c` | ||||
| *.test | ||||
| *.prof | ||||
|  | ||||
| # Output of the go coverage tool, specifically when used with LiteIDE | ||||
| *.out | ||||
|   | ||||
							
								
								
									
										19
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								.travis.yml
									
									
									
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| language: go | ||||
| go: 1.11.x | ||||
| go_import_path: moul.io/protoc-gen-gotemplate | ||||
| install: | ||||
| - go get github.com/Masterminds/glide | ||||
| - wget https://raw.githubusercontent.com/grpc-ecosystem/grpc-gateway/v1.5.0/.travis/install-protoc.sh && chmod +x install-protoc.sh && ./install-protoc.sh 3.4.0 | ||||
| - go get -u github.com/golang/protobuf/protoc-gen-go | ||||
| - go get github.com/securego/gosec/cmd/gosec/... | ||||
| - curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s v1.12.2 | ||||
| script: | ||||
| - make install | ||||
| - make test | ||||
| - PATH=$PATH:$(pwd)/bin make lint | ||||
| cache: | ||||
|   directories: | ||||
|   - $HOME/local | ||||
| env: | ||||
|   global: | ||||
|   - "PATH=$PATH:$HOME/local/bin" | ||||
							
								
								
									
										28
									
								
								AUTHORS
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								AUTHORS
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| # This file lists all individuals having contributed content to the repository. | ||||
| # For how it is generated, see 'https://github.com/moul/rules.mk' | ||||
|  | ||||
| Alexandre Beslic <abeslic@abronan.com> | ||||
| Anastasia DERUELLE <anastasia.deruelle@gmail.com> | ||||
| Gero <geronimo@eclypsium.com> | ||||
| gfanton <guilhem.fanton@gmail.com> | ||||
| Guilhem Fanton <guilhem.fanton@gmail.com> | ||||
| Jan Weitz <jan@iosphere.de> | ||||
| jhayotte <julien.hayotte@gmail.com> | ||||
| Julien Hayotte <julien.hayotte@gmail.com> | ||||
| Manfred Touron <m@42.am> | ||||
| Mathieu Acthernoene <zoontek@gmail.com> | ||||
| Mike Lee <mike.lee@safeguardproperties.com> | ||||
| moul-bot <41326314+moul-bot@users.noreply.github.com> | ||||
| Pat Moroney <pat@pat.email> | ||||
| Pat Moroney <pmoroney@name.com> | ||||
| Peter Monko <piotrek.monko@gmail.com> | ||||
| Pierre Roullon <pierre.roullon@gmail.com> | ||||
| Quentin Perez <qperez@ocs.online.net> | ||||
| Renovate Bot <bot@renovateapp.com> | ||||
| Sacha Froment <sfroment42@gmail.com> | ||||
| Shogo Iwano <shiwano@gmail.com> | ||||
| Thomas KERAMBLOCH <tkerambloch@vente-privee.com> | ||||
| Tommy PAGEARD <tpageard@vente-privee.com> | ||||
| Valerio Gheri <valerio.gheri@gmail.com> | ||||
| Victor Login <batazor111@gmail.com> | ||||
| webii <michal.jaglewicz@gmail.com> | ||||
							
								
								
									
										34
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								Makefile
									
									
									
									
									
								
							| @@ -1,14 +1,14 @@ | ||||
| .PHONY: build | ||||
| build: | ||||
| 	go build -v -i -o protoc-gen-gotemplate . | ||||
| GOPKG ?= moul.io/protoc-gen-gotemplate | ||||
| DOCKER_IMAGE ?= moul/golang-repo-template | ||||
| GOBINS ?= . ./cmd/web-editor | ||||
| GOLIBS ?= . | ||||
|  | ||||
| .PHONY: install | ||||
| install: | ||||
| 	go install . | ||||
| 	go install ./cmd/web-editor | ||||
| all: test install | ||||
|  | ||||
| .PHONY: test | ||||
| test:	install | ||||
| include rules.mk | ||||
|  | ||||
| .PHONY: examples | ||||
| examples:	install | ||||
| 	cd examples/time && make | ||||
| 	cd examples/enum && make | ||||
| 	cd examples/import && make | ||||
| @@ -18,19 +18,7 @@ test:	install | ||||
| 	cd examples/flow && make | ||||
| 	cd examples/sitemap && make | ||||
| 	cd examples/go-generate && make | ||||
| # 	cd examples/single-package-mode && make | ||||
|   #cd examples/single-package-mode && make | ||||
| 	cd examples/helpers && make | ||||
| 	cd examples/arithmetics && make | ||||
| #	cd examples/go-kit && make | ||||
|  | ||||
| .PHONY: docker.build | ||||
| docker.build: | ||||
| 	docker build --pull -t moul/protoc-gen-gotemplate . | ||||
|  | ||||
| .PHONY: docker.push | ||||
| docker.push: docker.build | ||||
| 	docker push moul/protoc-gen-gotemplate | ||||
|  | ||||
| .PHONY: lint | ||||
| lint: | ||||
| 	golangci-lint run --verbose . ./helpers ./cmd/... | ||||
|   #cd examples/go-kit && make | ||||
|   | ||||
							
								
								
									
										33
									
								
								go.mod
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										33
									
								
								go.mod
									
									
									
										generated
									
									
									
								
							| @@ -1,21 +1,22 @@ | ||||
| module moul.io/protoc-gen-gotemplate | ||||
|  | ||||
| require ( | ||||
| 	github.com/Masterminds/semver v1.2.2 // indirect | ||||
| 	github.com/Masterminds/sprig v2.14.1+incompatible | ||||
| 	github.com/aokoli/goutils v0.0.0-20170502144750-e57d01ace047 // indirect | ||||
| 	github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect | ||||
| 	github.com/golang/protobuf v0.0.0-20161117033126-8ee79997227b | ||||
| 	github.com/gorilla/context v0.0.0-20160226214623-1ea25387ff6f // indirect | ||||
| 	github.com/gorilla/handlers v0.0.0-20161028133215-e1b2144f2167 | ||||
| 	github.com/gorilla/mux v1.5.0 | ||||
| 	github.com/grpc-ecosystem/grpc-gateway v1.2.2 | ||||
| 	github.com/huandu/xstrings v0.0.0-20151130125119-3959339b3335 | ||||
| 	github.com/imdario/mergo v0.0.0-20171009183408-7fe0c75c13ab // indirect | ||||
| 	github.com/satori/go.uuid v1.1.0 // indirect | ||||
| 	github.com/Masterminds/goutils v1.1.0 // indirect | ||||
| 	github.com/Masterminds/semver v1.5.0 // indirect | ||||
| 	github.com/Masterminds/sprig v2.22.0+incompatible | ||||
| 	github.com/golang/protobuf v1.3.2 | ||||
| 	github.com/google/uuid v1.1.1 // indirect | ||||
| 	github.com/gorilla/handlers v1.4.2 | ||||
| 	github.com/gorilla/mux v1.7.3 | ||||
| 	github.com/grpc-ecosystem/grpc-gateway v1.12.1 | ||||
| 	github.com/huandu/xstrings v1.3.0 | ||||
| 	github.com/imdario/mergo v0.3.8 // indirect | ||||
| 	github.com/mitchellh/copystructure v1.0.0 // indirect | ||||
| 	github.com/mitchellh/reflectwalk v1.0.1 // indirect | ||||
| 	github.com/stretchr/testify v1.3.0 // indirect | ||||
| 	golang.org/x/crypto v0.0.0-20170516161655-0fe963104e9d // indirect | ||||
| 	golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 // indirect | ||||
| 	google.golang.org/genproto v0.0.0-20170517234824-bb3573be0c48 | ||||
| 	gopkg.in/yaml.v2 v2.2.2 // indirect | ||||
| 	golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d // indirect | ||||
| 	google.golang.org/genproto v0.0.0-20200113173426-e1de0a7b01eb | ||||
| 	gopkg.in/yaml.v2 v2.2.7 // indirect | ||||
| ) | ||||
|  | ||||
| go 1.13 | ||||
|   | ||||
							
								
								
									
										105
									
								
								go.sum
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										105
									
								
								go.sum
									
									
									
										generated
									
									
									
								
							| @@ -1,41 +1,86 @@ | ||||
| github.com/Masterminds/semver v1.2.2 h1:ptelpryog9A0pR4TGFvIAvw2c8SaNrYkFtfrxhSviss= | ||||
| github.com/Masterminds/semver v1.2.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= | ||||
| github.com/Masterminds/sprig v2.14.1+incompatible h1:rTHERm50Xp1Cbb8x7xBCeDp//jMMqqR44EWw7KwSXUQ= | ||||
| github.com/Masterminds/sprig v2.14.1+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= | ||||
| github.com/aokoli/goutils v0.0.0-20170502144750-e57d01ace047 h1:Bn0iqJ/349f606hR0juIGyheAI6+hyg9XUOLhN9udLo= | ||||
| github.com/aokoli/goutils v0.0.0-20170502144750-e57d01ace047/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= | ||||
| cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= | ||||
| github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= | ||||
| github.com/Masterminds/goutils v1.1.0 h1:zukEsf/1JZwCMgHiK3GZftabmxiCw4apj3a28RPBiVg= | ||||
| github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= | ||||
| github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= | ||||
| github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= | ||||
| github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60= | ||||
| github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= | ||||
| github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= | ||||
| github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= | ||||
| github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= | ||||
| github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||
| github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= | ||||
| github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= | ||||
| github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= | ||||
| github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= | ||||
| github.com/golang/protobuf v0.0.0-20161117033126-8ee79997227b h1:fE/yi9pibxGEc0gSJuEShcsBXE2d5FW3OudsjE9tKzQ= | ||||
| github.com/golang/protobuf v0.0.0-20161117033126-8ee79997227b/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= | ||||
| github.com/gorilla/context v0.0.0-20160226214623-1ea25387ff6f h1:9oNbS1z4rVpbnkHBdPZU4jo9bSmrLpII768arSyMFgk= | ||||
| github.com/gorilla/context v0.0.0-20160226214623-1ea25387ff6f/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= | ||||
| github.com/gorilla/handlers v0.0.0-20161028133215-e1b2144f2167 h1:uANqGlSIT3JwuQVokEBcvc9WAu5+v4cVD5szF5k+iIU= | ||||
| github.com/gorilla/handlers v0.0.0-20161028133215-e1b2144f2167/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= | ||||
| github.com/gorilla/mux v1.5.0 h1:mq8bRov+5x+pZNR/uAHyUEgovR9gLgYFwDQIeuYi9TM= | ||||
| github.com/gorilla/mux v1.5.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= | ||||
| github.com/grpc-ecosystem/grpc-gateway v1.2.2 h1:oR2ZMoJtQccW6NIJ9yFxRqAr2rkmcNsCaZKT66A9zt4= | ||||
| github.com/grpc-ecosystem/grpc-gateway v1.2.2/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= | ||||
| github.com/huandu/xstrings v0.0.0-20151130125119-3959339b3335 h1:KZOP9q7J/P4eMBibPuVwuloXgd2dTbLAHRPqxw7NXOw= | ||||
| github.com/huandu/xstrings v0.0.0-20151130125119-3959339b3335/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= | ||||
| github.com/imdario/mergo v0.0.0-20171009183408-7fe0c75c13ab h1:k/Biv+LJL35wkk0Hveko1nj7as4tSHkHdZaNlzn/gcQ= | ||||
| github.com/imdario/mergo v0.0.0-20171009183408-7fe0c75c13ab/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= | ||||
| github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= | ||||
| github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= | ||||
| github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= | ||||
| github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= | ||||
| github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= | ||||
| github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= | ||||
| github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= | ||||
| github.com/gorilla/handlers v1.4.2 h1:0QniY0USkHQ1RGCLfKxeNHK9bkDHGRYGNDFBCS+YARg= | ||||
| github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= | ||||
| github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= | ||||
| github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= | ||||
| github.com/grpc-ecosystem/grpc-gateway v1.12.1 h1:zCy2xE9ablevUOrUZc3Dl72Dt+ya2FNAvC2yLYMHzi4= | ||||
| github.com/grpc-ecosystem/grpc-gateway v1.12.1/go.mod h1:8XEsbTttt/W+VvjtQhLACqCisSPWTxCZ7sBRjU6iH9c= | ||||
| github.com/huandu/xstrings v1.3.0 h1:gvV6jG9dTgFEncxo+AF7PH6MZXi/vZl25owA/8Dg8Wo= | ||||
| github.com/huandu/xstrings v1.3.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= | ||||
| github.com/imdario/mergo v0.3.8 h1:CGgOkSJeqMRmt0D9XLWExdT4m4F1vd3FV3VPt+0VxkQ= | ||||
| github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= | ||||
| github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ= | ||||
| github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= | ||||
| github.com/mitchellh/reflectwalk v1.0.0 h1:9D+8oIskB4VJBN5SFlmc27fSlIBZaov1Wpk/IfikLNY= | ||||
| github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= | ||||
| github.com/mitchellh/reflectwalk v1.0.1 h1:FVzMWA5RllMAKIdUSC8mdWo3XtwoecrH79BY70sEEpE= | ||||
| github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= | ||||
| github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | ||||
| github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | ||||
| github.com/satori/go.uuid v1.1.0 h1:B9KXyj+GzIpJbV7gmr873NsY6zpbxNy24CBtGrk7jHo= | ||||
| github.com/satori/go.uuid v1.1.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= | ||||
| github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= | ||||
| github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | ||||
| github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= | ||||
| github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= | ||||
| golang.org/x/crypto v0.0.0-20170516161655-0fe963104e9d h1:qjfFh1YMn6m60QTGoG+IlwUMhNlXJbDyCa6EkHM/N2w= | ||||
| golang.org/x/crypto v0.0.0-20170516161655-0fe963104e9d/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | ||||
| golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 h1:YUO/7uOKsKeq9UokNS62b8FYywz3ker1l1vDZRCRefw= | ||||
| golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| google.golang.org/genproto v0.0.0-20170517234824-bb3573be0c48 h1:xfoW+Di7qQQUnjptcGb4/rpc701e3RvfNmaywfMxQVI= | ||||
| google.golang.org/genproto v0.0.0-20170517234824-bb3573be0c48/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= | ||||
| golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | ||||
| golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d h1:2+ZP7EfsZV7Vvmx3TIqSlSzATMkTAKqM14YGFPoSKjI= | ||||
| golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | ||||
| golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= | ||||
| golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= | ||||
| golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= | ||||
| golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= | ||||
| golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||
| golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||
| golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||
| golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | ||||
| golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | ||||
| golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||
| golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= | ||||
| golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||
| golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||
| golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||
| golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= | ||||
| golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= | ||||
| golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= | ||||
| golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= | ||||
| google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= | ||||
| google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= | ||||
| google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= | ||||
| google.golang.org/genproto v0.0.0-20190927181202-20e1ac93f88c/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= | ||||
| google.golang.org/genproto v0.0.0-20200113173426-e1de0a7b01eb h1:EsMpWw4S8DM2QYm5idfmmWsv2N57GWi2tx3p96Gpja4= | ||||
| google.golang.org/genproto v0.0.0-20200113173426-e1de0a7b01eb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= | ||||
| google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= | ||||
| google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= | ||||
| gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= | ||||
| gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||||
| gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= | ||||
| gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||
| gopkg.in/yaml.v2 v2.2.3 h1:fvjTMHxHEw/mxHbtzPi3JCcKXQRAnQTBRo6YCJSVHKI= | ||||
| gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||
| gopkg.in/yaml.v2 v2.2.7 h1:VUgggvou5XRW9mHwD/yXxIYSMtY0zoKQf/v226p2nyo= | ||||
| gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||
| honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= | ||||
| honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= | ||||
|   | ||||
| @@ -1,6 +0,0 @@ | ||||
| { | ||||
|   "extends": [ | ||||
|     "config:base" | ||||
|   ], | ||||
|   "groupName": "all" | ||||
| } | ||||
							
								
								
									
										270
									
								
								rules.mk
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										270
									
								
								rules.mk
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,270 @@ | ||||
| # +--------------------------------------------------------------+ | ||||
| # | * * *                moul.io/rules.mk                        | | ||||
| # +--------------------------------------------------------------+ | ||||
| # |                                                              | | ||||
| # |     ++              ______________________________________   | | ||||
| # |     ++++           /                                      \  | | ||||
| # |      ++++          |                                      |  | | ||||
| # |    ++++++++++      |   https://moul.io/rules.mk is a set  |  | | ||||
| # |   +++       |      |   of common Makefile rules that can  |  | | ||||
| # |   ++         |     |   be configured from the Makefile    |  | | ||||
| # |   +  -==   ==|     |   or with environment variables.     |  | | ||||
| # |  (   <*>   <*>     |                                      |  | | ||||
| # |   |          |    /|                      Manfred Touron  |  | | ||||
| # |   |         _)   / |                        manfred.life  |  | | ||||
| # |   |      +++    /  \______________________________________/  | | ||||
| # |    \      =+   /                                             | | ||||
| # |     \      +                                                 | | ||||
| # |     |\++++++                                                 | | ||||
| # |     |  ++++      ||//                                        | | ||||
| # |  ___|   |___    _||/__                                     __| | ||||
| # | /    ---    \   \|  |||                   __ _  ___  __ __/ /| | ||||
| # |/  |       |  \    \ /                    /  ' \/ _ \/ // / / | | ||||
| # ||  |       |  |    | |                   /_/_/_/\___/\_,_/_/  | | ||||
| # +--------------------------------------------------------------+ | ||||
|  | ||||
| all: help | ||||
|  | ||||
| ## | ||||
| ## Common helpers | ||||
| ## | ||||
|  | ||||
| rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)) | ||||
|  | ||||
| ## | ||||
| ## rules.mk | ||||
| ## | ||||
| ifneq ($(wildcard rules.mk),) | ||||
| .PHONY: rulesmk.bumpdeps | ||||
| rulesmk.bumpdeps: | ||||
| 	wget -O rules.mk https://raw.githubusercontent.com/moul/rules.mk/master/rules.mk | ||||
| BUMPDEPS_STEPS += rulesmk.bumpdeps | ||||
| endif | ||||
|  | ||||
| ## | ||||
| ## Maintainer | ||||
| ## | ||||
|  | ||||
| ifneq ($(wildcard .git/HEAD),) | ||||
| .PHONY: generate.authors | ||||
| generate.authors: AUTHORS | ||||
| AUTHORS: .git/ | ||||
| 	echo "# This file lists all individuals having contributed content to the repository." > AUTHORS | ||||
| 	echo "# For how it is generated, see 'https://github.com/moul/rules.mk'" >> AUTHORS | ||||
| 	echo >> AUTHORS | ||||
| 	git log --format='%aN <%aE>' | LC_ALL=C.UTF-8 sort -uf >> AUTHORS | ||||
| GENERATE_STEPS += generate.authors | ||||
| endif | ||||
|  | ||||
| ## | ||||
| ## Golang | ||||
| ## | ||||
|  | ||||
| ifndef GOPKG | ||||
| ifneq ($(wildcard go.mod),) | ||||
| GOPKG = $(shell sed '/module/!d;s/^omdule\ //' go.mod) | ||||
| endif | ||||
| endif | ||||
| ifdef GOPKG | ||||
| GO ?= go | ||||
| GOPATH ?= $(HOME)/go | ||||
| GOLIBS ?= $(shell find . -type f -name "go.mod" | grep -v /vendor/ | sed 's@/[^/]*$$@@' | sort | uniq) | ||||
| GO_INSTALL_OPTS ?= | ||||
| GO_TEST_OPTS ?= -test.timeout=30s | ||||
|  | ||||
| ifdef GOBINS | ||||
| .PHONY: go.install | ||||
| go.install: | ||||
| 	@set -e; for dir in $(GOBINS); do ( set -xe; \ | ||||
| 	  cd $$dir; \ | ||||
| 	  $(GO) install $(GO_INSTALL_OPTS) .; \ | ||||
| 	); done | ||||
| INSTALL_STEPS += go.install | ||||
|  | ||||
| .PHONY: go.release | ||||
| go.release: | ||||
| 	goreleaser --snapshot --skip-publish --rm-dist | ||||
| 	@echo -n "Do you want to release? [y/N] " && read ans && \ | ||||
| 	  if [ $${ans:-N} = y ]; then set -xe; goreleaser --rm-dist; fi | ||||
| RELEASE_STEPS += go.release | ||||
| endif | ||||
|  | ||||
| .PHONY: go.unittest coverage.txt | ||||
| go.unittest: coverage.txt | ||||
| coverage.txt: | ||||
| 	@rm -f /tmp/coverage.txt | ||||
| 	@touch /tmp/coverage.txt | ||||
| 	@set -e; for dir in $(GOLIBS); do ( set -xe; \ | ||||
| 	  cd $$dir; \ | ||||
| 	  $(GO) test $(GO_TEST_OPTS) -cover -coverprofile=/tmp/profile.out -covermode=atomic -race ./...; \ | ||||
| 	  if [ -f /tmp/profile.out ]; then \ | ||||
| 	    cat /tmp/profile.out >> /tmp/coverage.txt; \ | ||||
| 	    rm -f /tmp/profile.out; \ | ||||
| 	  fi); done | ||||
| 	mv /tmp/coverage.txt . | ||||
|  | ||||
| .PHONY: go.coverfunc | ||||
| go.coverfunc: coverage.txt | ||||
| 	go tool cover -func=./coverage.txt | grep -v .pb.go: | grep -v .pb.gw.go: | ||||
|  | ||||
| .PHONY: go.lint | ||||
| go.lint: | ||||
| 	@set -e; for dir in $(GOLIBS); do ( set -xe; \ | ||||
| 	  cd $$dir; \ | ||||
| 	  golangci-lint run --verbose ./...; \ | ||||
| 	); done | ||||
|  | ||||
| .PHONY: go.tidy | ||||
| go.tidy: | ||||
| 	@set -e; for dir in $(GOLIBS); do ( set -xe; \ | ||||
| 	  cd $$dir; \ | ||||
| 	  $(GO)	mod tidy; \ | ||||
| 	); done | ||||
|  | ||||
| .PHONY: go.build | ||||
| go.build: | ||||
| 	@set -e; for dir in $(GOLIBS); do ( set -xe; \ | ||||
| 	  cd $$dir; \ | ||||
| 	  $(GO)	build ./...; \ | ||||
| 	); done | ||||
|  | ||||
| .PHONY: go.bump-deps | ||||
| go.bumpdeps: | ||||
| 	@set -e; for dir in $(GOLIBS); do ( set -xe; \ | ||||
| 	  cd $$dir; \ | ||||
| 	  $(GO)	get -u ./...; \ | ||||
| 	); done | ||||
|  | ||||
| .PHONY: go.bump-deps | ||||
| go.fmt: | ||||
| 	if ! command -v goimports &>/dev/null; then GO111MODULE=off go get golang.org/x/tools/cmd/goimports; fi | ||||
| 	@set -e; for dir in $(GOLIBS); do ( set -xe; \ | ||||
| 	  cd $$dir; \ | ||||
| 	  goimports -w . \ | ||||
| 	); done | ||||
|  | ||||
| BUILD_STEPS += go.build | ||||
| BUMPDEPS_STEPS += go.bumpdeps | ||||
| TIDY_STEPS += go.tidy | ||||
| LINT_STEPS += go.lint | ||||
| UNITTEST_STEPS += go.unittest | ||||
| FMT_STEPS += go.fmt | ||||
| endif | ||||
|  | ||||
| ## | ||||
| ## Node | ||||
| ## | ||||
|  | ||||
| ifndef NPM_PACKAGES | ||||
| ifneq ($(wildcard package.json),) | ||||
| NPM_PACKAGES = . | ||||
| endif | ||||
| endif | ||||
| ifdef NPM_PACKAGES | ||||
| .PHONY: npm.publish | ||||
| npm.publish: | ||||
| 	@echo -n "Do you want to npm publish? [y/N] " && read ans && \ | ||||
| 	@if [ $${ans:-N} = y ]; then \ | ||||
| 	  set -e; for dir in $(NPM_PACKAGES); do ( set -xe; \ | ||||
| 	    cd $$dir; \ | ||||
| 	    npm publish --access=public; \ | ||||
| 	  ); done; \ | ||||
| 	fi | ||||
| RELEASE_STEPS += npm.publish | ||||
| endif | ||||
|  | ||||
| ## | ||||
| ## Docker | ||||
| ## | ||||
|  | ||||
| ifndef DOCKER_IMAGE | ||||
| ifneq ($(wildcard Dockerfile),) | ||||
| DOCKER_IMAGE = $(notdir $(PWD)) | ||||
| endif | ||||
| endif | ||||
| ifdef DOCKER_IMAGE | ||||
| ifneq ($(DOCKER_IMAGE),none) | ||||
| .PHONY: docker.build | ||||
| docker.build: | ||||
| 	docker build \ | ||||
| 	  --build-arg VCS_REF=`git rev-parse --short HEAD` \ | ||||
| 	  --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ | ||||
| 	  --build-arg VERSION=`git describe --tags --always` \ | ||||
| 	  -t $(DOCKER_IMAGE) . | ||||
|  | ||||
| BUILD_STEPS += docker.build | ||||
| endif | ||||
| endif | ||||
|  | ||||
| ## | ||||
| ## Common | ||||
| ## | ||||
|  | ||||
| TEST_STEPS += $(UNITTEST_STEPS) | ||||
| TEST_STEPS += $(LINT_STEPS) | ||||
| TEST_STEPS += $(TIDY_STEPS) | ||||
|  | ||||
| ifneq ($(strip $(TEST_STEPS)),) | ||||
| .PHONY: test | ||||
| test: $(PRE_TEST_STEPS) $(TEST_STEPS) | ||||
| endif | ||||
|  | ||||
| ifdef INSTALL_STEPS | ||||
| .PHONY: install | ||||
| install: $(PRE_INSTALL_STEPS) $(INSTALL_STEPS) | ||||
| endif | ||||
|  | ||||
| ifdef UNITTEST_STEPS | ||||
| .PHONY: unittest | ||||
| unittest: $(PRE_UNITTEST_STEPS) $(UNITTEST_STEPS) | ||||
| endif | ||||
|  | ||||
| ifdef LINT_STEPS | ||||
| .PHONY: lint | ||||
| lint: $(PRE_LINT_STEPS) $(FMT_STEPS) $(LINT_STEPS) | ||||
| endif | ||||
|  | ||||
| ifdef TIDY_STEPS | ||||
| .PHONY: tidy | ||||
| tidy: $(PRE_TIDY_STEPS) $(TIDY_STEPS) | ||||
| endif | ||||
|  | ||||
| ifdef BUILD_STEPS | ||||
| .PHONY: build | ||||
| build: $(PRE_BUILD_STEPS) $(BUILD_STEPS) | ||||
| endif | ||||
|  | ||||
| ifdef RELEASE_STEPS | ||||
| .PHONY: release | ||||
| release: $(PRE_RELEASE_STEPS) $(RELEASE_STEPS) | ||||
| endif | ||||
|  | ||||
| ifdef BUMPDEPS_STEPS | ||||
| .PHONY: bumpdeps | ||||
| bumpdeps: $(PRE_BUMDEPS_STEPS) $(BUMPDEPS_STEPS) | ||||
| endif | ||||
|  | ||||
| ifdef FMT_STEPS | ||||
| .PHONY: fmt | ||||
| fmt: $(PRE_FMT_STEPS) $(FMT_STEPS) | ||||
| endif | ||||
|  | ||||
| ifdef GENERATE_STEPS | ||||
| .PHONY: generate | ||||
| generate: $(PRE_GENERATE_STEPS) $(GENERATE_STEPS) | ||||
| endif | ||||
|  | ||||
| .PHONY: help | ||||
| help: | ||||
| 	@echo "General commands:" | ||||
| 	@[ "$(BUILD_STEPS)" != "" ]     && echo "  build"     || true | ||||
| 	@[ "$(BUMPDEPS_STEPS)" != "" ]  && echo "  bumpdeps"  || true | ||||
| 	@[ "$(FMT_STEPS)" != "" ]       && echo "  fmt"       || true | ||||
| 	@[ "$(GENERATE_STEPS)" != "" ]  && echo "  generate"  || true | ||||
| 	@[ "$(INSTALL_STEPS)" != "" ]   && echo "  install"   || true | ||||
| 	@[ "$(LINT_STEPS)" != "" ]      && echo "  lint"      || true | ||||
| 	@[ "$(RELEASE_STEPS)" != "" ]   && echo "  release"   || true | ||||
| 	@[ "$(TEST_STEPS)" != "" ]      && echo "  test"      || true | ||||
| 	@[ "$(TIDY_STEPS)" != "" ]      && echo "  tidy"      || true | ||||
| 	@[ "$(UNITTEST_STEPS)" != "" ]  && echo "  unittest"  || true | ||||
| 	@# FIXME: list other commands | ||||
		Reference in New Issue
	
	Block a user