github.com/gogo/protobuf@v1.3.2/Makefile (about) 1 # Protocol Buffers for Go with Gadgets 2 # 3 # Copyright (c) 2013, The GoGo Authors. All rights reserved. 4 # http://github.com/gogo/protobuf 5 # 6 # Redistribution and use in source and binary forms, with or without 7 # modification, are permitted provided that the following conditions are 8 # met: 9 # 10 # * Redistributions of source code must retain the above copyright 11 # notice, this list of conditions and the following disclaimer. 12 # * Redistributions in binary form must reproduce the above 13 # copyright notice, this list of conditions and the following disclaimer 14 # in the documentation and/or other materials provided with the 15 # distribution. 16 # 17 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 29 GO_VERSION:=$(shell go version) 30 BENCHLIST?=all 31 32 # Skip known issues from purego tests 33 # https://github.com/gogo/protobuf/issues/447 34 # https://github.com/gogo/protobuf/issues/448 35 SKIPISSUE:="/jsonpb|/test/casttype/|/test/oneof/combos/" 36 37 .PHONY: nuke regenerate tests clean install gofmt vet contributors 38 39 all: clean install regenerate install tests errcheck vet 40 41 buildserverall: clean install regenerate install tests vet js purego 42 43 install: 44 go install ./proto 45 go install ./gogoproto 46 go install ./jsonpb 47 go install ./protoc-gen-gogo 48 go install ./protoc-gen-gofast 49 go install ./protoc-gen-gogofast 50 go install ./protoc-gen-gogofaster 51 go install ./protoc-gen-gogoslick 52 go install ./protoc-gen-gostring 53 go install ./protoc-min-version 54 go install ./protoc-gen-combo 55 go install ./gogoreplace 56 57 clean: 58 go clean ./... 59 60 nuke: 61 go clean -i -cache ./... 62 63 gofmt: 64 gofmt -l -s -w . 65 66 regenerate: 67 make -C protoc-gen-gogo regenerate 68 make -C gogoproto regenerate 69 make -C proto/test_proto regenerate 70 make -C proto/proto3_proto regenerate 71 make -C jsonpb/jsonpb_test_proto regenerate 72 make -C conformance regenerate 73 make -C protobuf regenerate 74 make -C test regenerate 75 make -C test/example regenerate 76 make -C test/unrecognized regenerate 77 make -C test/group regenerate 78 make -C test/unrecognizedgroup regenerate 79 make -C test/enumstringer regenerate 80 make -C test/unmarshalmerge regenerate 81 make -C test/moredefaults regenerate 82 make -C test/issue8 regenerate 83 make -C test/enumprefix regenerate 84 make -C test/enumcustomname regenerate 85 make -C test/packed regenerate 86 make -C test/protosize regenerate 87 make -C test/tags regenerate 88 make -C test/oneof regenerate 89 make -C test/oneof3 regenerate 90 make -C test/theproto3 regenerate 91 make -C test/mapdefaults regenerate 92 make -C test/mapsproto2 regenerate 93 make -C test/issue42order regenerate 94 make -C proto generate-test-pbs 95 make -C test/importdedup regenerate 96 make -C test/importduplicate regenerate 97 make -C test/custombytesnonstruct regenerate 98 make -C test/required regenerate 99 make -C test/casttype regenerate 100 make -C test/castvalue regenerate 101 make -C vanity/test regenerate 102 make -C test/sizeunderscore regenerate 103 make -C test/issue34 regenerate 104 make -C test/empty-issue70 regenerate 105 make -C test/indeximport-issue72 regenerate 106 make -C test/fuzztests regenerate 107 make -C test/oneofembed regenerate 108 make -C test/asymetric-issue125 regenerate 109 make -C test/filedotname regenerate 110 make -C test/nopackage regenerate 111 make -C test/types regenerate 112 make -C test/proto3extension regenerate 113 make -C test/stdtypes regenerate 114 make -C test/data regenerate 115 make -C test/typedecl regenerate 116 make -C test/issue260 regenerate 117 make -C test/issue261 regenerate 118 make -C test/issue262 regenerate 119 make -C test/issue312 regenerate 120 make -C test/enumdecl regenerate 121 make -C test/typedecl_all regenerate 122 make -C test/enumdecl_all regenerate 123 make -C test/int64support regenerate 124 make -C test/issue322 regenerate 125 make -C test/issue330 regenerate 126 make -C test/importcustom-issue389 regenerate 127 make -C test/merge regenerate 128 make -C test/cachedsize regenerate 129 make -C test/deterministic regenerate 130 make -C test/issue438 regenerate 131 make -C test/issue444 regenerate 132 make -C test/issue449 regenerate 133 make -C test/xxxfields regenerate 134 make -C test/issue435 regenerate 135 make -C test/issue411 regenerate 136 make -C test/issue498 regenerate 137 make -C test/issue503 regenerate 138 make -C test/issue530 regenerate 139 make -C test/issue617 regenerate 140 make -C test/issue620 regenerate 141 make -C test/protobuffer regenerate 142 make -C test/issue630 regenerate 143 144 make gofmt 145 146 tests: 147 go build ./test/enumprefix 148 go test ./... 149 (cd test/stdtypes && make test) 150 151 vet: 152 go get golang.org/x/tools/go/analysis/passes/shadow/cmd/shadow 153 go vet ./... 154 go vet -vettool=$(shell which shadow) ./... 155 156 errcheck: 157 go get github.com/kisielk/errcheck 158 errcheck ./test/... 159 160 drone: 161 sudo apt-get install protobuf-compiler 162 (cd $(GOPATH)/src/github.com/gogo/protobuf && make buildserverall) 163 164 testall: 165 go get -u github.com/golang/protobuf/proto 166 make -C protoc-gen-gogo test 167 make -C vanity/test test 168 make -C test/registration test 169 make -C conformance test 170 make -C test/issue427 test 171 make tests 172 173 bench: 174 go get golang.org/x/tools/cmd/benchcmp 175 (cd test/mixbench && go build .) 176 ./test/mixbench/mixbench -benchlist "${BENCHLIST}" 177 178 contributors: 179 git log --format='%aN <%aE>' | sort -fu > CONTRIBUTORS 180 181 js: 182 ifeq (go1.12, $(findstring go1.12, $(GO_VERSION))) 183 go get -u github.com/gopherjs/gopherjs 184 gopherjs build github.com/gogo/protobuf/protoc-gen-gogo 185 endif 186 187 purego: 188 go test -tags purego $$(go list ./... | grep -Ev $(SKIPISSUE)) 189 190 update: 191 (cd protobuf && make update)