Commit e52efb9c authored by Gregory Haskins's avatar Gregory Haskins
Browse files

Merge master to convergence

This merges the master branch to the convergence branch to bring it
up to date with the developments that have occurred on master since
the convergence branch was formed.

The common ancestor of master and convergence is 981a222e as reported
by “git merge-base”.  This patch merges commits on the master branch
between 981a222e and 0e69b6dc.  There are a total of 125 commits
between these two points.  Of those, we are accepting:

d74b1c58
0a69c3b3
2e3211f3
38320456
1e7030a8
2eadb11a
7db34517
f0ba23df
25586a51
d40a0040
7c870f3f
7c3a27d9
3509c185
6138f9e3
1d8114f0
f7c328f1
f3c9a451
b61bb9f8
1ea73c1b
f5180c87
25f6eafc
23a5f246
82f5225e
23108bcf
34ef6407
58e14382
9f291fad
b7a57a90
e64fb9d2
21a4a8a0
ad4645db
93ccc88a
ac182fa8
47053cdc
453d0e14
a9dcade8
518f3c92
c22ee645
4203ea8b
df741bc7
b7813ef3
4067c99f
930bd555
a506a027
4fa1360b
2f45b742
52d71797
180bd727
506e7862
80ebaafe
925b4d35
43c4d03d
30f832fc
073ce435
a63de5fb
7f5f7278
d87662ee
f6ae4af5
d7bf8d1d
e9d3ac29
7b2e4881
8cda6b14
4d97069a
62d866d1
8de58edd
e5a81bb6
5f9b3ea0
777bdac1
8e2875b2
e827b109
ad7df188
026dbc4e
fb6f59ba
79b70e41
5a75d781
bf1ed414
ac8ab849
a0ca796b
dcfbc7ab
d4d04e91
70237c34
d0dc4b0f
7949e4f7
02431ee7
ce2ef235
4d4df362
eba45535
c7963ea7
0fa60ba2
ace31436
158480cb
79589a59
42ca84b7
55c3eaf7
f599ea78
b8e4c98c
88ce7f25
0b860c32
fac2d2e0
4e9dd2b6
cec0c009

The following patches are being deferred for SME evaluation:

a757dbe0 Julian Carrivick <cjulian@au1.ibm.com> - Standardized BDD Logging
ffbe4d1c Julian Carrivick <cjulian@au1.ibm.com> - Handle SIGTERM in empty docker-compose container
9059fa1d Julian Carrivick <cjulian@au1.ibm.com> - Add a container alias map to the bdd context
4b13232f Satheesh Kathamuthu <satheesh.ceg@gmail.com> - Table implementation in java shim with example
d7e056e7 Julian Carrivick <cjulian@au1.ibm.com> - Refactor BDD REST calls
4bf9b930 Julian Carrivick <cjulian@au1.ibm.com> - Move Docker-Compose files into their own folder
af50b6fb Julian Carrivick <cjulian@au1.ibm.com> - Increase BDD Startup Timeout
7ed95334 Satheesh Kathamuthu <satheesh.ceg@gmail.com> - Allow deploying Java chaincode from remote git repositories
5a1c5429 Julian Carrivick <cjulian@au1.ibm.com> - Add smart starting of containers during tests
4c384c87

 Satheesh Kathamuthu <satheesh.ceg@gmail.com> - Add support for Maven build in java chaincodes

This merge represents the following diffstat

 b/.baseimage-release                                        |    1
 b/.gitignore                                                |    5
 b/Makefile                                                  |  117
 b/README.md                                                 |   51
 b/bddtests/.behaverc                                        |    1
 docker/docker-compose-4-consensus-batch-nosnapshotbuffer.yml|   18
 b/bddtests/environment.py                                   |    2
 b/bddtests/peer_basic.feature                               |   10
 b/bddtests/steps/peer_basic_impl.py                         |   23
 b/bddtests/syschaincode/noop/chaincode_test.go              |    4
 b/consensus/executor/executor.go                            |    1
 b/consensus/helper/handler.go                               |    9
 b/consensus/helper/helper.go                                |    4
 b/consensus/pbft/batch.go                                   |   15
 b/consensus/pbft/batch_test.go                              |   61
 b/consensus/pbft/broadcast.go                               |   22
 b/consensus/pbft/broadcast_test.go                          |   45
 b/consensus/pbft/config.yaml                                |    3
 b/consensus/pbft/messages.pb.go                             |  352
 b/consensus/pbft/mock_ledger_test.go                        |   25
 b/consensus/pbft/mock_utilities_test.go                     |    5
 b/consensus/pbft/pbft-core.go                               |   46
 b/consensus/pbft/pbft-core_test.go                          |  277
 b/consensus/pbft/pbft-persist.go                            |   16
 b/consensus/simplebft/simplebft.pb.go                       |  226
 b/consensus/util/messagefan.go                              |   27
 b/consensus/util/messagefan_test.go                         |    9
 b/core/admin.go                                             |    9
 b/core/chaincode/chaincode_support.go                       |   23
 b/core/chaincode/chaincodetest.yaml                         |   18
 b/core/chaincode/exectransaction_test.go                    |   89
 b/core/chaincode/handler.go                                 |   52
 b/core/chaincode/platforms/car/package.go                   |    3
 b/core/chaincode/platforms/car/test/car_test.go             |    3
 b/core/chaincode/platforms/golang/package.go                |    2
 b/core/chaincode/platforms/java/package.go                  |    2
 b/core/chaincode/shim/chaincode.go                          |   64
 b/core/chaincode/shim/chaincode.pb.go                       |  105
 b/core/chaincode/shim/interfaces.go                         |    8
 b/core/chaincode/shim/mockstub.go                           |   23
 b/core/chaincode/shim/mockstub_test.go                      |   16
 b/core/comm/connection.go                                   |    6
 b/core/config.go                                            |   54
 b/core/container/dockercontroller/dockercontroller.go       |    2
 b/core/container/dockercontroller/dockercontroller_test.go  |    2
 b/core/container/util/dockerutil.go                         |   31
 b/core/container/util/dockerutil_test.go                    |   31
 b/core/container/vm.go                                      |    2
 b/core/crypto/attributes/proto/attributes.pb.go             |   49
 b/core/crypto/client_tca.go                                 |    4
 b/core/crypto/client_tcert_pool_mt.go                       |   82
 b/core/crypto/crypto_test.go                                |    9
 b/core/crypto/node_conf.go                                  |   12
 b/core/crypto/node_eca.go                                   |    4
 b/core/crypto/node_tlsca.go                                 |    4
 b/core/devops.go                                            |    1
 b/core/endorser/endorser.yaml                               |   33
 b/core/ledger/genesis/genesis_test.yaml                     |   14
 b/core/ledger/statemgmt/raw/state_impl.go                   |    4
 b/core/ledger/statemgmt/state/config.go                     |    6
 b/core/ledger/statemgmt/state/state.go                      |   28
 b/core/ledger/statemgmt/state_delta.go                      |    2
 b/core/ledger/statemgmt/trie/pkg_test.go                    |    2
 b/core/ledger/statemgmt/trie/state_trie.go                  |    4
 b/core/ledger/statemgmt/trie/state_trie_test.go             |   10
 b/core/peer/handler.go                                      |   26
 b/core/peer/peer.go                                         |    4
 b/core/peer/statetransfer/statetransfer.go                  |   40
 b/core/peer/statetransfer/statetransfer_test.go             |   69
 b/core/rest/api.go                                          |   10
 b/core/rest/api_test.go                                     |   14
 b/core/rest/rest_api.go                                     |   20
 b/core/rest/rest_api.json                                   |  111
 b/core/rest/rest_api_test.go                                |   25
 b/core/rest/rest_test.yaml                                  |    9
 b/core/util/utils.go                                        |    7
 b/devenv/Vagrantfile                                        |    2
 b/devenv/compile_protos.sh                                  |    2
 b/devenv/failure-motd.in                                    |   40
 b/devenv/setup.sh                                           |   71
 b/devenv/setupUbuntuOnPPC64le.sh                            |   89
 b/docs/API/AttributesUsage.md                               |   21
 b/docs/API/CoreAPI.md                                       |  192
 b/docs/CONTRIBUTING.md                                      |   14
 b/docs/Gerrit/gerrit.md                                     |    4
 b/docs/MAINTAINERS.md                                       |    2
 b/docs/Setup/Chaincode-setup.md                             |    6
 b/docs/Setup/JAVAChaincode.md                               |   13
 b/docs/Setup/NodeSDK-setup.md                               |  306
 b/docs/abstract_v1.md                                       |   32
 b/docs/custom_theme/searchbox.html                          |    5
 b/docs/dev-setup/build.md                                   |   15
 b/docs/images/standalone-app-developer.png                  |binary
 b/docs/images/web-app-developer.png                         |binary
 b/docs/index.md                                             |  155
 b/docs/nodeSDK/app-developer-env-setup.md                   |   50
 b/docs/nodeSDK/app-overview.md                              |   56
 b/docs/nodeSDK/images/standalone-app-developer.png          |binary
 b/docs/nodeSDK/images/web-app-developer.png                 |binary
 b/docs/nodeSDK/node-sdk-guide.md                            |   32
 b/docs/nodeSDK/node-sdk-indepth.md                          |  169
 b/docs/nodeSDK/sample-standalone-app.md                     |   49
 b/docs/nodeSDK/sample-web-app.md                            |   13
 b/docs/protocol-spec.md                                     |    4
 b/docs/protocol-spec_zh.md                                  |    6
 b/docs/releases.md                                          |   62
 b/docs/starter/fabric-starter-kit.md                        |  170
 b/events/producer/handler.go                                |    3
 b/events/producer/producer.go                               |    2
 b/examples/chaincode/go/asset_management/app/app_internal.go|   10
 b/examples/chaincode/go/asset_management/asset_management.go|    2
 s/chaincode/go/asset_management02/asset_management02_test.go|   20
 o/asset_management_with_roles/asset_management_with_roles.go|    4
 et_management_with_roles/asset_management_with_roles_test.go|    2
 ples/chaincode/go/attributes_to_state/attributes_to_state.go|    2
 ples/chaincode/go/chaincode_example02/chaincode_example02.go|    3
 ples/chaincode/go/chaincode_example04/chaincode_example04.go|    2
 b/examples/chaincode/go/rbac_tcerts_no_attrs/rbac_test.go   |   21
 b/examples/chaincode/go/utxo/Dockerfile                     |    3
 b/examples/chaincode/go/utxo/util/dah.pb.go                 |   57
 b/examples/events/block-listener/block-listener.go          |    9
 b/examples/sdk/node/Dockerfile                              |   11
 b/examples/sdk/node/app.js                                  |  163
 b/examples/sdk/node/docker-compose.yml                      |   50
 b/examples/sdk/node/web-app.js                              |  118
 b/gossip/proto/message.pb.go                                |  295
 b/images/app/Dockerfile.in                                  |    2
 b/images/ccenv/Dockerfile.in                                |    3
 b/images/javaenv/Dockerfile.in                              |    4
 b/images/src/Dockerfile.in                                  |    2
 b/membersrvc/ca/aca.go                                      |   16
 b/membersrvc/ca/aca_test.go                                 |   18
 b/membersrvc/ca/ca.go                                       |   80
 b/membersrvc/ca/ca_test.yaml                                |    6
 b/membersrvc/ca/eca.go                                      |    7
 b/membersrvc/ca/eca_test.go                                 |    8
 b/membersrvc/ca/ecaa.go                                     |    4
 b/membersrvc/ca/ecap.go                                     |    4
 b/membersrvc/ca/membersrvc_test.go                          |    2
 b/membersrvc/ca/tca_test.go                                 |   13
 b/membersrvc/ca/tcap.go                                     |    6
 b/membersrvc/ca/tlsca_test.go                               |    7
 b/membersrvc/membersrvc.yaml                                |    2
 b/membersrvc/protos/ca.pb.go                                |  923
 b/membersrvc/protos/ca.proto                                |   16
 b/membersrvc/server.go                                      |    5
 b/metadata/metadata.go                                      |   19
 b/mkdocs.yml                                                |   20
 b/orderer/atomicbroadcast/ab.pb.go                          |  187
 b/peer/chaincode/common.go                                  |   28
 b/peer/chaincode/common_test.go                             |   63
 b/peer/core.yaml                                            |   28
 b/peer/network/list.go                                      |    4
 b/peer/network/login.go                                     |    2
 b/peer/node/status.go                                       |    4
 b/peer/node/stop.go                                         |    4
 b/peer/version/version.go                                   |    5
 b/proposals/r1/Custom-Events-High-level-specification.md    |   98
 b/proposals/r1/Next-Consensus-Architecture-Proposal.md      |  756
 b/proposals/r1/Next-Ledger-Architecture-Proposal.md         |  223
 b/proposals/r1/Release-Process.md                           |   55
 b/proposals/r1/System-Chaincode-Specification.md            |  114
 b/proposals/r1/blocks-2.png                                 |binary
 b/proposals/r1/flow-2.png                                   |binary
 b/protos/api.pb.go                                          |  120
 b/protos/chaincode.pb.go                                    |  205
 b/protos/chaincode.proto                                    |    2
 b/protos/chaincodeevent.pb.go                               |   27
 b/protos/devops.pb.go                                       |  242
 b/protos/devops.proto                                       |    5
 b/protos/events.pb.go                                       |  148
 b/protos/fabric.pb.go                                       |  295
 b/protos/fabric_next.pb.go                                  |  185
 b/protos/server_admin.pb.go                                 |   88
 b/protos/transaction.go                                     |   22
 b/scripts/goListFiles.sh                                    |   16
 b/scripts/goUnitTests.sh                                    |   24
 b/sdk/node/Makefile                                         |   65
 b/sdk/node/README.md                                        |  103
 b/sdk/node/bin/run-unit-tests.sh                            |  657
 b/sdk/node/package.json                                     |   27
 b/sdk/node/src/crypto.ts                                    |   27
 b/sdk/node/src/hfc.ts                                       |  517
 b/sdk/node/src/sdk_util.ts                                  |    3
 b/sdk/node/test/fixtures/tlsca.cert                         |   12
 b/sdk/node/test/unit/asset-mgmt-with-dynamic-roles.js       |  230
 b/sdk/node/test/unit/chain-tests.js                         |  317
 b/sdk/node/test/unit/event-tests.js                         |  516
 b/sdk/node/test/unit/registrar.js                           |  125
 b/sdk/node/test/unit/test-util.js                           |  111
 b/tools/busywork/bin/busy                                   |  109
 b/tools/busywork/bin/pprofClient                            |   89
 b/tools/busywork/bin/userModeNetwork                        |    8
 b/tools/busywork/counters/driver                            |   68
 b/tools/busywork/tcl/fabric.tcl                             |  188
 b/tools/busywork/tcl/os.tcl                                 |  102
 b/vendor/github.com/golang/protobuf/Make.protobuf           |   40
 b/vendor/github.com/golang/protobuf/Makefile                |   54
 b/vendor/github.com/golang/protobuf/README.md               |   55
 b/vendor/github.com/golang/protobuf/jsonpb/jsonpb.go        |  541
 b/vendor/github.com/golang/protobuf/jsonpb/jsonpb_test.go   |  559
 github.com/golang/protobuf/jsonpb/jsonpb_test_proto/Makefile|   33
 ng/protobuf/jsonpb/jsonpb_test_proto/more_test_objects.pb.go|  200
 ng/protobuf/jsonpb/jsonpb_test_proto/more_test_objects.proto|   57
 /golang/protobuf/jsonpb/jsonpb_test_proto/test_objects.pb.go|  768
 /golang/protobuf/jsonpb/jsonpb_test_proto/test_objects.proto|  135
 b/vendor/github.com/golang/protobuf/proto/Makefile          |    2
 b/vendor/github.com/golang/protobuf/proto/all_test.go       | 2269 +
 b/vendor/github.com/golang/protobuf/proto/any_test.go       |  300
 b/vendor/github.com/golang/protobuf/proto/clone.go          |   14
 b/vendor/github.com/golang/protobuf/proto/clone_test.go     |  300
 b/vendor/github.com/golang/protobuf/proto/decode.go         |   21
 b/vendor/github.com/golang/protobuf/proto/encode.go         |   86
 b/vendor/github.com/golang/protobuf/proto/equal.go          |   55
 b/vendor/github.com/golang/protobuf/proto/equal_test.go     |  212
 b/vendor/github.com/golang/protobuf/proto/extensions.go     |  230
 b/vendor/github.com/golang/protobuf/proto/extensions_test.go|  508
 b/vendor/github.com/golang/protobuf/proto/lib.go            |   19
 b/vendor/github.com/golang/protobuf/proto/message_set.go    |   84
 /vendor/github.com/golang/protobuf/proto/message_set_test.go|   66
 b/vendor/github.com/golang/protobuf/proto/pointer_reflect.go|    7
 b/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go |    6
 b/vendor/github.com/golang/protobuf/proto/properties.go     |   89
 r/github.com/golang/protobuf/proto/proto3_proto/proto3.pb.go|  199
 r/github.com/golang/protobuf/proto/proto3_proto/proto3.proto|   74
 b/vendor/github.com/golang/protobuf/proto/proto3_test.go    |  125
 b/vendor/github.com/golang/protobuf/proto/size2_test.go     |   63
 b/vendor/github.com/golang/protobuf/proto/size_test.go      |  164
 b/vendor/github.com/golang/protobuf/proto/testdata/Makefile |   50
 dor/github.com/golang/protobuf/proto/testdata/golden_test.go|   86
 /vendor/github.com/golang/protobuf/proto/testdata/test.pb.go| 4061 ++
 /vendor/github.com/golang/protobuf/proto/testdata/test.proto|  548
 b/vendor/github.com/golang/protobuf/proto/text.go           |  223
 b/vendor/github.com/golang/protobuf/proto/text_parser.go    |  189
 /vendor/github.com/golang/protobuf/proto/text_parser_test.go|  573
 b/vendor/github.com/golang/protobuf/proto/text_test.go      |  474
 github.com/golang/protobuf/protoc-gen-go/descriptor/Makefile|    6
 om/golang/protobuf/protoc-gen-go/descriptor/descriptor.pb.go|  789
 hub.com/golang/protobuf/protoc-gen-go/generator/generator.go|  467
 hub.com/golang/protobuf/protoc-gen-go/generator/name_test.go|   85
 vendor/github.com/golang/protobuf/protoc-gen-go/grpc/grpc.go|   38
 vendor/github.com/golang/protobuf/protoc-gen-go/link_grpc.go|    2
 github.com/golang/protobuf/protoc-gen-go/plugin/plugin.pb.go|   69
 r/github.com/golang/protobuf/protoc-gen-go/testdata/Makefile|   73
 /golang/protobuf/protoc-gen-go/testdata/extension_base.proto|   46
 golang/protobuf/protoc-gen-go/testdata/extension_extra.proto|   38
 com/golang/protobuf/protoc-gen-go/testdata/extension_test.go|  210
 /golang/protobuf/protoc-gen-go/testdata/extension_user.proto|  100
 github.com/golang/protobuf/protoc-gen-go/testdata/grpc.proto|   59
 .com/golang/protobuf/protoc-gen-go/testdata/imp.pb.go.golden|  113
 /github.com/golang/protobuf/protoc-gen-go/testdata/imp.proto|   70
 github.com/golang/protobuf/protoc-gen-go/testdata/imp2.proto|   43
 github.com/golang/protobuf/protoc-gen-go/testdata/imp3.proto|   38
 thub.com/golang/protobuf/protoc-gen-go/testdata/main_test.go|   46
 om/golang/protobuf/protoc-gen-go/testdata/multi/multi1.proto|   44
 om/golang/protobuf/protoc-gen-go/testdata/multi/multi2.proto|   46
 om/golang/protobuf/protoc-gen-go/testdata/multi/multi3.proto|   43
 om/golang/protobuf/protoc-gen-go/testdata/my_test/test.pb.go|  866
 ng/protobuf/protoc-gen-go/testdata/my_test/test.pb.go.golden|  866
 om/golang/protobuf/protoc-gen-go/testdata/my_test/test.proto|  156
 thub.com/golang/protobuf/protoc-gen-go/testdata/proto3.proto|   53
 b/vendor/github.com/golang/protobuf/ptypes/any.go           |  136
 b/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go    |  155
 b/vendor/github.com/golang/protobuf/ptypes/any/any.proto    |  140
 b/vendor/github.com/golang/protobuf/ptypes/any_test.go      |  113
 b/vendor/github.com/golang/protobuf/ptypes/doc.go           |   35
 b/vendor/github.com/golang/protobuf/ptypes/duration.go      |  102
 or/github.com/golang/protobuf/ptypes/duration/duration.pb.go|  114
 or/github.com/golang/protobuf/ptypes/duration/duration.proto|   98
 b/vendor/github.com/golang/protobuf/ptypes/duration_test.go |  121
 b/vendor/github.com/golang/protobuf/ptypes/empty/empty.pb.go|   69
 b/vendor/github.com/golang/protobuf/ptypes/empty/empty.proto|   53
 b/vendor/github.com/golang/protobuf/ptypes/regen.sh         |   66
 vendor/github.com/golang/protobuf/ptypes/struct/struct.pb.go|  382
 vendor/github.com/golang/protobuf/ptypes/struct/struct.proto|   96
 b/vendor/github.com/golang/protobuf/ptypes/timestamp.go     |  125
 /github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go|  127
 /github.com/golang/protobuf/ptypes/timestamp/timestamp.proto|  111
 b/vendor/github.com/golang/protobuf/ptypes/timestamp_test.go|  138
 or/github.com/golang/protobuf/ptypes/wrappers/wrappers.pb.go|  200
 or/github.com/golang/protobuf/ptypes/wrappers/wrappers.proto|  119
 b/vendor/golang.org/x/net/.gitattributes                    |   10
 b/vendor/golang.org/x/net/.gitignore                        |    2
 b/vendor/golang.org/x/net/AUTHORS                           |    3
 b/vendor/golang.org/x/net/CONTRIBUTING.md                   |   31
 b/vendor/golang.org/x/net/CONTRIBUTORS                      |    3
 b/vendor/golang.org/x/net/LICENSE                           |   27
 b/vendor/golang.org/x/net/PATENTS                           |   22
 b/vendor/golang.org/x/net/README                            |    3
 b/vendor/golang.org/x/net/bpf/asm.go                        |   41
 b/vendor/golang.org/x/net/bpf/constants.go                  |  215
 b/vendor/golang.org/x/net/bpf/doc.go                        |   82
 b/vendor/golang.org/x/net/bpf/instructions.go               |  434
 b/vendor/golang.org/x/net/bpf/instructions_test.go          |  184
 b/vendor/golang.org/x/net/bpf/testdata/all_instructions.bpf |    1
 b/vendor/golang.org/x/net/bpf/testdata/all_instructions.txt |   79
 b/vendor/golang.org/x/net/bpf/vm.go                         |  140
 b/vendor/golang.org/x/net/bpf/vm_aluop_test.go              |  512
 b/vendor/golang.org/x/net/bpf/vm_bpf_test.go                |  192
 b/vendor/golang.org/x/net/bpf/vm_extension_test.go          |   49
 b/vendor/golang.org/x/net/bpf/vm_instructions.go            |  174
 b/vendor/golang.org/x/net/bpf/vm_jump_test.go               |  380
 b/vendor/golang.org/x/net/bpf/vm_load_test.go               |  246
 b/vendor/golang.org/x/net/bpf/vm_ret_test.go                |  115
 b/vendor/golang.org/x/net/bpf/vm_scratch_test.go            |  247
 b/vendor/golang.org/x/net/bpf/vm_test.go                    |  144
 b/vendor/golang.org/x/net/codereview.cfg                    |    1
 b/vendor/golang.org/x/net/context/context.go                |  297
 b/vendor/golang.org/x/net/context/context_test.go           |  577
 b/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go        |   74
 b/vendor/golang.org/x/net/context/ctxhttp/ctxhttp_17_test.go|   28
 b/vendor/golang.org/x/net/context/ctxhttp/ctxhttp_pre17.go  |  147
 endor/golang.org/x/net/context/ctxhttp/ctxhttp_pre17_test.go|   79
 b/vendor/golang.org/x/net/context/ctxhttp/ctxhttp_test.go   |  105
 b/vendor/golang.org/x/net/context/go17.go                   |   72
 b/vendor/golang.org/x/net/context/pre_go17.go               |  300
 b/vendor/golang.org/x/net/context/withtimeout_test.go       |   26
 b/vendor/golang.org/x/net/dict/dict.go                      |  210
 b/vendor/golang.org/x/net/html/atom/atom.go                 |   78
 b/vendor/golang.org/x/net/html/atom/atom_test.go            |  109
 b/vendor/golang.org/x/net/html/atom/gen.go                  |  648
 b/vendor/golang.org/x/net/html/atom/table.go                |  713
 b/vendor/golang.org/x/net/html/atom/table_test.go           |  351
 b/vendor/golang.org/x/net/html/charset/charset.go           |  257
 b/vendor/golang.org/x/net/html/charset/charset_test.go      |  237
 dor/golang.org/x/net/html/charset/testdata/HTTP-charset.html|   48
 olang.org/x/net/html/charset/testdata/HTTP-vs-UTF-8-BOM.html|   48
 ng.org/x/net/html/charset/testdata/HTTP-vs-meta-charset.html|   49
 ng.org/x/net/html/charset/testdata/HTTP-vs-meta-content.html|   49
 org/x/net/html/charset/testdata/No-encoding-declaration.html|   47
 b/vendor/golang.org/x/net/html/charset/testdata/README      |    9
 dor/golang.org/x/net/html/charset/testdata/UTF-16BE-BOM.html|binary
 dor/golang.org/x/net/html/charset/testdata/UTF-16LE-BOM.html|binary
 g/x/net/html/charset/testdata/UTF-8-BOM-vs-meta-charset.html|   49
 g/x/net/html/charset/testdata/UTF-8-BOM-vs-meta-content.html|   48
 .org/x/net/html/charset/testdata/meta-charset-attribute.html|   48
 .org/x/net/html/charset/testdata/meta-content-attribute.html|   48
 b/vendor/golang.org/x/net/html/const.go                     |  102
 b/vendor/golang.org/x/net/html/doc.go                       |  106
 b/vendor/golang.org/x/net/html/doctype.go                   |  156
 b/vendor/golang.org/x/net/html/entity.go                    | 2253 +
 b/vendor/golang.org/x/net/html/entity_test.go               |   29
 b/vendor/golang.org/x/net/html/escape.go                    |  258
 b/vendor/golang.org/x/net/html/escape_test.go               |   97
 b/vendor/golang.org/x/net/html/example_test.go              |   40
 b/vendor/golang.org/x/net/html/foreign.go                   |  226
 b/vendor/golang.org/x/net/html/node.go                      |  193
 b/vendor/golang.org/x/net/html/node_test.go                 |  146
 b/vendor/golang.org/x/net/html/parse.go                     | 2094 +
 b/vendor/golang.org/x/net/html/parse_test.go                |  388
 b/vendor/golang.org/x/net/html/render.go                    |  271
 b/vendor/golang.org/x/net/html/render_test.go               |  156
 b/vendor/golang.org/x/net/html/testdata/go1.html            | 2237 +
 b/vendor/golang.org/x/net/html/testdata/webkit/README       |   28
 /vendor/golang.org/x/net/html/testdata/webkit/adoption01.dat|  194
 /vendor/golang.org/x/net/html/testdata/webkit/adoption02.dat|   31
 /vendor/golang.org/x/net/html/testdata/webkit/comments01.dat|  135
 b/vendor/golang.org/x/net/html/testdata/webkit/doctype01.dat|  370
 /vendor/golang.org/x/net/html/testdata/webkit/entities01.dat|  603
 /vendor/golang.org/x/net/html/testdata/webkit/entities02.dat|  249
 ndor/golang.org/x/net/html/testdata/webkit/html5test-com.dat|  246
 b/vendor/golang.org/x/net/html/testdata/webkit/inbody01.dat |   43
 b/vendor/golang.org/x/net/html/testdata/webkit/isindex.dat  |   40
 l/testdata/webkit/pending-spec-changes-plain-text-unsafe.dat|binary
 lang.org/x/net/html/testdata/webkit/pending-spec-changes.dat|   52
 /golang.org/x/net/html/testdata/webkit/plain-text-unsafe.dat|binary
 endor/golang.org/x/net/html/testdata/webkit/scriptdata01.dat|  308
 olang.org/x/net/html/testdata/webkit/scripted/adoption01.dat|   15
 /golang.org/x/net/html/testdata/webkit/scripted/webkit01.dat|   28
 b/vendor/golang.org/x/net/html/testdata/webkit/tables01.dat |  212
 b/vendor/golang.org/x/net/html/testdata/webkit/tests1.dat   | 1952 +
 b/vendor/golang.org/x/net/html/testdata/webkit/tests10.dat  |  799
 b/vendor/golang.org/x/net/html/testdata/webkit/tests11.dat  |  482
 b/vendor/golang.org/x/net/html/testdata/webkit/tests12.dat  |   62
 b/vendor/golang.org/x/net/html/testdata/webkit/tests14.dat  |   74
 b/vendor/golang.org/x/net/html/testdata/webkit/tests15.dat  |  208
 b/vendor/golang.org/x/net/html/testdata/webkit/tests16.dat  | 2299 +
 b/vendor/golang.org/x/net/html/testdata/webkit/tests17.dat  |  153
 b/vendor/golang.org/x/net/html/testdata/webkit/tests18.dat  |  269
 b/vendor/golang.org/x/net/html/testdata/webkit/tests19.dat  | 1237
 b/vendor/golang.org/x/net/html/testdata/webkit/tests2.dat   |  763
 b/vendor/golang.org/x/net/html/testdata/webkit/tests20.dat  |  455
 b/vendor/golang.org/x/net/html/testdata/webkit/tests21.dat  |  221
 b/vendor/golang.org/x/net/html/testdata/webkit/tests22.dat  |  157
 b/vendor/golang.org/x/net/html/testdata/webkit/tests23.dat  |  155
 b/vendor/golang.org/x/net/html/testdata/webkit/tests24.dat  |   79
 b/vendor/golang.org/x/net/html/testdata/webkit/tests25.dat  |  219
 b/vendor/golang.org/x/net/html/testdata/webkit/tests26.dat  |  313
 b/vendor/golang.org/x/net/html/testdata/webkit/tests3.dat   |  305
 b/vendor/golang.org/x/net/html/testdata/webkit/tests4.dat   |   59
 b/vendor/golang.org/x/net/html/testdata/webkit/tests5.dat   |  191
 b/vendor/golang.org/x/net/html/testdata/webkit/tests6.dat   |  663
 b/vendor/golang.org/x/net/html/testdata/webkit/tests7.dat   |  390
 b/vendor/golang.org/x/net/html/testdata/webkit/tests8.dat   |  148
 b/vendor/golang.org/x/net/html/testdata/webkit/tests9.dat   |  457
 /golang.org/x/net/html/testdata/webkit/tests_innerHTML_1.dat|  741
 b/vendor/golang.org/x/net/html/testdata/webkit/tricky01.dat |  261
 b/vendor/golang.org/x/net/html/testdata/webkit/webkit01.dat |  610
 b/vendor/golang.org/x/net/html/testdata/webkit/webkit02.dat |  159
 b/vendor/golang.org/x/net/html/token.go                     | 1219
 b/vendor/golang.org/x/net/html/token_test.go                |  748
 b/vendor/golang.org/x/net/http2/.gitignore                  |    2
 b/vendor/golang.org/x/net/http2/client_conn_pool.go         |  255
 b/vendor/golang.org/x/net/http2/configure_transport.go      |   80
 b/vendor/golang.org/x/net/http2/errors.go                   |   47
 b/vendor/golang.org/x/net/http2/errors_test.go              |   24
 b/vendor/golang.org/x/net/http2/fixed_buffer_test.go        |  128
 b/vendor/golang.org/x/net/http2/flow_test.go                |   53
 b/vendor/golang.org/x/net/http2/frame.go                    |  441
 b/vendor/golang.org/x/net/http2/frame_test.go               | 1024
 b/vendor/golang.org/x/net/http2/go16.go                     |   43
 b/vendor/golang.org/x/net/http2/go17.go                     |   94
 b/vendor/golang.org/x/net/http2/gotrack_test.go             |   33
 b/vendor/golang.org/x/net/http2/h2demo/.gitignore           |    5
 b/vendor/golang.org/x/net/http2/h2demo/Makefile             |    8
 b/vendor/golang.org/x/net/http2/h2demo/README               |   16
 b/vendor/golang.org/x/net/http2/h2demo/h2demo.go            |  504
 b/vendor/golang.org/x/net/http2/h2demo/launch.go            |  302
 b/vendor/golang.org/x/net/http2/h2demo/rootCA.key           |   27
 b/vendor/golang.org/x/net/http2/h2demo/rootCA.pem           |   26
 b/vendor/golang.org/x/net/http2/h2demo/rootCA.srl           |    1
 b/vendor/golang.org/x/net/http2/h2demo/server.crt           |   20
 b/vendor/golang.org/x/net/http2/h2demo/server.key           |   27
 b/vendor/golang.org/x/net/http2/h2i/README.md               |   97
 b/vendor/golang.org/x/net/http2/h2i/h2i.go                  |  501
 b/vendor/golang.org/x/net/http2/headermap.go                |    1
 b/vendor/golang.org/x/net/http2/hpack/encode.go             |    2
 b/vendor/golang.org/x/net/http2/hpack/encode_test.go        |  330
 b/vendor/golang.org/x/net/http2/hpack/hpack.go              |   30
 b/vendor/golang.org/x/net/http2/hpack/hpack_test.go         |  854
 b/vendor/golang.org/x/net/http2/hpack/huffman.go            |   42
 b/vendor/golang.org/x/net/http2/http2.go                    |  133
 b/vendor/golang.org/x/net/http2/http2_test.go               |  198
 b/vendor/golang.org/x/net/http2/not_go16.go                 |   46
 b/vendor/golang.org/x/net/http2/not_go17.go                 |   51
 b/vendor/golang.org/x/net/http2/pipe.go                     |   91
 b/vendor/golang.org/x/net/http2/pipe_test.go                |  109
 b/vendor/golang.org/x/net/http2/priority_test.go            |  118
 b/vendor/golang.org/x/net/http2/server.go                   |  932
 b/vendor/golang.org/x/net/http2/server_test.go              | 3303 ++
 golang.org/x/net/http2/testdata/draft-ietf-httpbis-http2.xml| 5021 +++
 b/vendor/golang.org/x/net/http2/transport.go                | 1852 -
 b/vendor/golang.org/x/net/http2/transport_test.go           | 2099 +
 b/vendor/golang.org/x/net/http2/write.go                    |   92
 b/vendor/golang.org/x/net/http2/z_spec_test.go              |  356
 b/vendor/golang.org/x/net/icmp/dstunreach.go                |   41
 b/vendor/golang.org/x/net/icmp/echo.go                      |   45
 b/vendor/golang.org/x/net/icmp/endpoint.go                  |  113
 b/vendor/golang.org/x/net/icmp/example_test.go              |   63
 b/vendor/golang.org/x/net/icmp/extension.go                 |   89
 b/vendor/golang.org/x/net/icmp/extension_test.go            |  259
 b/vendor/golang.org/x/net/icmp/helper.go                    |   27
 b/vendor/golang.org/x/net/icmp/helper_posix.go              |   75
 b/vendor/golang.org/x/net/icmp/interface.go                 |  236
 b/vendor/golang.org/x/net/icmp/ipv4.go                      |   56
 b/vendor/golang.org/x/net/icmp/ipv4_test.go                 |   82
 b/vendor/golang.org/x/net/icmp/ipv6.go                      |   23
 b/vendor/golang.org/x/net/icmp/listen_posix.go              |   98
 b/vendor/golang.org/x/net/icmp/listen_stub.go               |   33
 b/vendor/golang.org/x/net/icmp/message.go                   |  150
 b/vendor/golang.org/x/net/icmp/message_test.go              |  134
 b/vendor/golang.org/x/net/icmp/messagebody.go               |   41
 b/vendor/golang.org/x/net/icmp/mpls.go                      |   77
 b/vendor/golang.org/x/net/icmp/multipart.go                 |  109
 b/vendor/golang.org/x/net/icmp/multipart_test.go            |  442
 b/vendor/golang.org/x/net/icmp/packettoobig.go              |   43
 b/vendor/golang.org/x/net/icmp/paramprob.go                 |   63
 b/vendor/golang.org/x/net/icmp/ping_test.go                 |  166
 b/vendor/golang.org/x/net/icmp/sys_freebsd.go               |   11
 b/vendor/golang.org/x/net/icmp/timeexceeded.go              |   39
 b/vendor/golang.org/x/net/idna/idna.go                      |   68
 b/vendor/golang.org/x/net/idna/idna_test.go                 |   43
 b/vendor/golang.org/x/net/idna/punycode.go                  |  200
 b/vendor/golang.org/x/net/idna/punycode_test.go             |  198
 b/vendor/golang.org/x/net/internal/iana/const.go            |  180
 b/vendor/golang.org/x/net/internal/iana/gen.go              |  293
 b/vendor/golang.org/x/net/internal/nettest/error_posix.go   |   31
 b/vendor/golang.org/x/net/internal/nettest/error_stub.go    |   11
 b/vendor/golang.org/x/net/internal/nettest/interface.go     |   94
 b/vendor/golang.org/x/net/internal/nettest/rlimit.go        |   11
 b/vendor/golang.org/x/net/internal/nettest/rlimit_stub.go   |    9
 b/vendor/golang.org/x/net/internal/nettest/rlimit_unix.go   |   17
 b/vendor/golang.org/x/net/internal/nettest/rlimit_windows.go|    7
 b/vendor/golang.org/x/net/internal/nettest/stack.go         |   36
 b/vendor/golang.org/x/net/internal/nettest/stack_stub.go    |   18
 b/vendor/golang.org/x/net/internal/nettest/stack_unix.go    |   22
 b/vendor/golang.org/x/net/internal/nettest/stack_windows.go |   32
 ndor/golang.org/x/net/internal/timeseries/timeseries_test.go|  170
 b/vendor/golang.org/x/net/ipv4/bpf_test.go                  |   93
 b/vendor/golang.org/x/net/ipv4/bpfopt_linux.go              |   27
 b/vendor/golang.org/x/net/ipv4/bpfopt_stub.go               |   16
 b/vendor/golang.org/x/net/ipv4/control.go                   |   70
 b/vendor/golang.org/x/net/ipv4/control_bsd.go               |   40
 b/vendor/golang.org/x/net/ipv4/control_pktinfo.go           |   37
 b/vendor/golang.org/x/net/ipv4/control_stub.go              |   23
 b/vendor/golang.org/x/net/ipv4/control_unix.go              |  164
 b/vendor/golang.org/x/net/ipv4/control_windows.go           |   27
 b/vendor/golang.org/x/net/ipv4/defs_darwin.go               |   77
 b/vendor/golang.org/x/net/ipv4/defs_dragonfly.go            |   38
 b/vendor/golang.org/x/net/ipv4/defs_freebsd.go              |   75
 b/vendor/golang.org/x/net/ipv4/defs_linux.go                |  120
 b/vendor/golang.org/x/net/ipv4/defs_netbsd.go               |   37
 b/vendor/golang.org/x/net/ipv4/defs_openbsd.go              |   37
 b/vendor/golang.org/x/net/ipv4/defs_solaris.go              |   57
 b/vendor/golang.org/x/net/ipv4/dgramopt_posix.go            |  251
 b/vendor/golang.org/x/net/ipv4/dgramopt_stub.go             |  106
 b/vendor/golang.org/x/net/ipv4/doc.go                       |  242
 b/vendor/golang.org/x/net/ipv4/endpoint.go                  |  187
 b/vendor/golang.org/x/net/ipv4/example_test.go              |  224
 b/vendor/golang.org/x/net/ipv4/gen.go                       |  208
 b/vendor/golang.org/x/net/ipv4/genericopt_posix.go          |   59
 b/vendor/golang.org/x/net/ipv4/genericopt_stub.go           |   29
 b/vendor/golang.org/x/net/ipv4/header.go                    |  132
 b/vendor/golang.org/x/net/ipv4/header_test.go               |  138
 b/vendor/golang.org/x/net/ipv4/helper.go                    |   59
 b/vendor/golang.org/x/net/ipv4/helper_stub.go               |   23
 b/vendor/golang.org/x/net/ipv4/helper_unix.go               |   50
 b/vendor/golang.org/x/net/ipv4/helper_windows.go            |   49
 b/vendor/golang.org/x/net/ipv4/iana.go                      |   34
 b/vendor/golang.org/x/net/ipv4/icmp.go                      |   57
 b/vendor/golang.org/x/net/ipv4/icmp_linux.go                |   25
 b/vendor/golang.org/x/net/ipv4/icmp_stub.go                 |   25
 b/vendor/golang.org/x/net/ipv4/icmp_test.go                 |   95
 b/vendor/golang.org/x/net/ipv4/mocktransponder_test.go      |   21
 b/vendor/golang.org/x/net/ipv4/multicast_test.go            |  330
 b/vendor/golang.org/x/net/ipv4/multicastlistener_test.go    |  249
 b/vendor/golang.org/x/net/ipv4/multicastsockopt_test.go     |  195
 b/vendor/golang.org/x/net/ipv4/packet.go                    |   97
 b/vendor/golang.org/x/net/ipv4/payload.go                   |   15
 b/vendor/golang.org/x/net/ipv4/payload_cmsg.go              |   81
 b/vendor/golang.org/x/net/ipv4/payload_nocmsg.go            |   42
 b/vendor/golang.org/x/net/ipv4/readwrite_test.go            |  174
 b/vendor/golang.org/x/net/ipv4/sockopt.go                   |   46
 b/vendor/golang.org/x/net/ipv4/sockopt_asmreq.go            |   83
 b/vendor/golang.org/x/net/ipv4/sockopt_asmreq_stub.go       |   21
 b/vendor/golang.org/x/net/ipv4/sockopt_asmreq_unix.go       |   46
 b/vendor/golang.org/x/net/ipv4/sockopt_asmreq_windows.go    |   45
 b/vendor/golang.org/x/net/ipv4/sockopt_asmreqn_stub.go      |   17
 b/vendor/golang.org/x/net/ipv4/sockopt_asmreqn_unix.go      |   42
 b/vendor/golang.org/x/net/ipv4/sockopt_ssmreq_stub.go       |   17
 b/vendor/golang.org/x/net/ipv4/sockopt_ssmreq_unix.go       |   61
 b/vendor/golang.org/x/net/ipv4/sockopt_stub.go              |   11
 b/vendor/golang.org/x/net/ipv4/sockopt_unix.go              |  122
 b/vendor/golang.org/x/net/ipv4/sockopt_windows.go           |   68
 b/vendor/golang.org/x/net/ipv4/sys_bsd.go                   |   34
 b/vendor/golang.org/x/net/ipv4/sys_darwin.go                |   96
 b/vendor/golang.org/x/net/ipv4/sys_freebsd.go               |   73
 b/vendor/golang.org/x/net/ipv4/sys_linux.go                 |   55
 b/vendor/golang.org/x/net/ipv4/sys_openbsd.go               |   32
 b/vendor/golang.org/x/net/ipv4/sys_stub.go                  |   13
 b/vendor/golang.org/x/net/ipv4/sys_windows.go               |   61
 b/vendor/golang.org/x/net/ipv4/syscall_linux_386.go         |   31
 b/vendor/golang.org/x/net/ipv4/syscall_unix.go              |   26
 b/vendor/golang.org/x/net/ipv4/thunk_linux_386.s            |    8
 b/vendor/golang.org/x/net/ipv4/unicast_test.go              |  246
 b/vendor/golang.org/x/net/ipv4/unicastsockopt_test.go       |  139
 b/vendor/golang.org/x/net/ipv4/zsys_darwin.go               |   99
 b/vendor/golang.org/x/net/ipv4/zsys_dragonfly.go            |   33
 b/vendor/golang.org/x/net/ipv4/zsys_freebsd_386.go          |   93
 b/vendor/golang.org/x/net/ipv4/zsys_freebsd_amd64.go        |   95
 b/vendor/golang.org/x/net/ipv4/zsys_freebsd_arm.go          |   95
 b/vendor/golang.org/x/net/ipv4/zsys_linux_386.go            |  146
 b/vendor/golang.org/x/net/ipv4/zsys_linux_amd64.go          |  148
 b/vendor/golang.org/x/net/ipv4/zsys_linux_arm.go            |  146
 b/vendor/golang.org/x/net/ipv4/zsys_linux_arm64.go          |  150
 b/vendor/golang.org/x/net/ipv4/zsys_linux_mips64.go         |  150
 b/vendor/golang.org/x/net/ipv4/zsys_linux_mips64le.go       |  150
 b/vendor/golang.org/x/net/ipv4/zsys_linux_ppc.go            |  148
 b/vendor/golang.org/x/net/ipv4/zsys_linux_ppc64.go          |  150
 b/vendor/golang.org/x/net/ipv4/zsys_linux_ppc64le.go        |  150
 b/vendor/golang.org/x/net/ipv4/zsys_linux_s390x.go          |  150
 b/vendor/golang.org/x/net/ipv4/zsys_netbsd.go               |   30
 b/vendor/golang.org/x/net/ipv4/zsys_openbsd.go              |   30
 b/vendor/golang.org/x/net/ipv4/zsys_solaris.go              |   60
 b/vendor/golang.org/x/net/ipv6/bpf_test.go                  |   93
 b/vendor/golang.org/x/net/ipv6/bpfopt_linux.go              |   27
 b/vendor/golang.org/x/net/ipv6/bpfopt_stub.go               |   16
 b/vendor/golang.org/x/net/ipv6/control.go                   |   85
 b/vendor/golang.org/x/net/ipv6/control_rfc2292_unix.go      |   55
 b/vendor/golang.org/x/net/ipv6/control_rfc3542_unix.go      |   99
 b/vendor/golang.org/x/net/ipv6/control_stub.go              |   23
 b/vendor/golang.org/x/net/ipv6/control_unix.go              |  166
 b/vendor/golang.org/x/net/ipv6/control_windows.go           |   27
 b/vendor/golang.org/x/net/ipv6/defs_darwin.go               |  112
 b/vendor/golang.org/x/net/ipv6/defs_dragonfly.go            |   84
 b/vendor/golang.org/x/net/ipv6/defs_freebsd.go              |  105
 b/vendor/golang.org/x/net/ipv6/defs_linux.go                |  145
 b/vendor/golang.org/x/net/ipv6/defs_netbsd.go               |   80
 b/vendor/golang.org/x/net/ipv6/defs_openbsd.go              |   89
 b/vendor/golang.org/x/net/ipv6/defs_solaris.go              |   96
 b/vendor/golang.org/x/net/ipv6/dgramopt_posix.go            |  288
 b/vendor/golang.org/x/net/ipv6/dgramopt_stub.go             |  119
 b/vendor/golang.org/x/net/ipv6/doc.go                       |  240
 b/vendor/golang.org/x/net/ipv6/endpoint.go                  |  123
 b/vendor/golang.org/x/net/ipv6/example_test.go              |  216
 b/vendor/golang.org/x/net/ipv6/gen.go                       |  208
 b/vendor/golang.org/x/net/ipv6/genericopt_posix.go          |   60
 b/vendor/golang.org/x/net/ipv6/genericopt_stub.go           |   30
 b/vendor/golang.org/x/net/ipv6/header.go                    |   55
 b/vendor/golang.org/x/net/ipv6/header_test.go               |   55
 b/vendor/golang.org/x/net/ipv6/helper.go                    |   53
 b/vendor/golang.org/x/net/ipv6/helper_stub.go               |   19
 b/vendor/golang.org/x/net/ipv6/helper_unix.go               |   46
 b/vendor/golang.org/x/net/ipv6/helper_windows.go            |   45
 b/vendor/golang.org/x/net/ipv6/iana.go                      |   82
 b/vendor/golang.org/x/net/ipv6/icmp.go                      |   57
 b/vendor/golang.org/x/net/ipv6/icmp_bsd.go                  |   29
 b/vendor/golang.org/x/net/ipv6/icmp_linux.go                |   27
 b/vendor/golang.org/x/net/ipv6/icmp_solaris.go              |   24
 b/vendor/golang.org/x/net/ipv6/icmp_stub.go                 |   23
 b/vendor/golang.org/x/net/ipv6/icmp_test.go                 |   96
 b/vendor/golang.org/x/net/ipv6/icmp_windows.go              |   26
 b/vendor/golang.org/x/net/ipv6/mocktransponder_test.go      |   32
 b/vendor/golang.org/x/net/ipv6/multicast_test.go            |  260
 b/vendor/golang.org/x/net/ipv6/multicastlistener_test.go    |  246
 b/vendor/golang.org/x/net/ipv6/multicastsockopt_test.go     |  157
 b/vendor/golang.org/x/net/ipv6/payload.go                   |   15
 b/vendor/golang.org/x/net/ipv6/payload_cmsg.go              |   70
 b/vendor/golang.org/x/net/ipv6/payload_nocmsg.go            |   41
 b/vendor/golang.org/x/net/ipv6/readwrite_test.go            |  189
 b/vendor/golang.org/x/net/ipv6/sockopt.go                   |   46
 b/vendor/golang.org/x/net/ipv6/sockopt_asmreq_unix.go       |   22
 b/vendor/golang.org/x/net/ipv6/sockopt_asmreq_windows.go    |   21
 b/vendor/golang.org/x/net/ipv6/sockopt_ssmreq_stub.go       |   17
 b/vendor/golang.org/x/net/ipv6/sockopt_ssmreq_unix.go       |   59
 b/vendor/golang.org/x/net/ipv6/sockopt_stub.go              |   13
 b/vendor/golang.org/x/net/ipv6/sockopt_test.go              |  133
 b/vendor/golang.org/x/net/ipv6/sockopt_unix.go              |  122
 b/vendor/golang.org/x/net/ipv6/sockopt_windows.go           |   86
 b/vendor/golang.org/x/net/ipv6/sys_bsd.go                   |   56
 b/vendor/golang.org/x/net/ipv6/sys_darwin.go                |  133
 b/vendor/golang.org/x/net/ipv6/sys_freebsd.go               |   91
 b/vendor/golang.org/x/net/ipv6/sys_linux.go                 |   72
 b/vendor/golang.org/x/net/ipv6/sys_stub.go                  |   13
 b/vendor/golang.org/x/net/ipv6/sys_windows.go               |   63
 b/vendor/golang.org/x/net/ipv6/syscall_linux_386.go         |   31
 b/vendor/golang.org/x/net/ipv6/syscall_unix.go              |   26
 b/vendor/golang.org/x/net/ipv6/thunk_linux_386.s            |    8
 b/vendor/golang.org/x/net/ipv6/unicast_test.go              |  182
 b/vendor/golang.org/x/net/ipv6/unicastsockopt_test.go       |  111
 b/vendor/golang.org/x/net/ipv6/zsys_darwin.go               |  131
 b/vendor/golang.org/x/net/ipv6/zsys_dragonfly.go            |   90
 b/vendor/golang.org/x/net/ipv6/zsys_freebsd_386.go          |  122
 b/vendor/golang.org/x/net/ipv6/zsys_freebsd_amd64.go        |  124
 b/vendor/golang.org/x/net/ipv6/zsys_freebsd_arm.go          |  124
 b/vendor/golang.org/x/net/ipv6/zsys_linux_386.go            |  168
 b/vendor/golang.org/x/net/ipv6/zsys_linux_amd64.go          |  170
 b/vendor/golang.org/x/net/ipv6/zsys_linux_arm.go            |  168
 b/vendor/golang.org/x/net/ipv6/zsys_linux_arm64.go          |  172
 b/vendor/golang.org/x/net/ipv6/zsys_linux_mips64.go         |  172
 b/vendor/golang.org/x/net/ipv6/zsys_linux_mips64le.go       |  172
 b/vendor/golang.org/x/net/ipv6/zsys_linux_ppc.go            |  170
 b/vendor/golang.org/x/net/ipv6/zsys_linux_ppc64.go          |  172
 b/vendor/golang.org/x/net/ipv6/zsys_linux_ppc64le.go        |  172
 b/vendor/golang.org/x/net/ipv6/zsys_linux_s390x.go          |  172
 b/vendor/golang.org/x/net/ipv6/zsys_netbsd.go               |   84
 b/vendor/golang.org/x/net/ipv6/zsys_openbsd.go              |   93
 b/vendor/golang.org/x/net/ipv6/zsys_solaris.go              |  105
 b/vendor/golang.org/x/net/lex/httplex/httplex.go            |  312
 b/vendor/golang.org/x/net/lex/httplex/httplex_test.go       |  101
 b/vendor/golang.org/x/net/netutil/listen.go                 |   48
 b/vendor/golang.org/x/net/netutil/listen_test.go            |  101
 b/vendor/golang.org/x/net/proxy/direct.go                   |   18
 b/vendor/golang.org/x/net/proxy/per_host.go                 |  140
 b/vendor/golang.org/x/net/proxy/per_host_test.go            |   55
 b/vendor/golang.org/x/net/proxy/proxy.go                    |   94
 b/vendor/golang.org/x/net/proxy/proxy_test.go               |  142
 b/vendor/golang.org/x/net/proxy/socks5.go                   |  210
 b/vendor/golang.org/x/net/publicsuffix/gen.go               |  713
 b/vendor/golang.org/x/net/publicsuffix/list.go              |  135
 b/vendor/golang.org/x/net/publicsuffix/list_test.go         |  416
 b/vendor/golang.org/x/net/publicsuffix/table.go             | 8973 +++++
 b/vendor/golang.org/x/net/publicsuffix/table_test.go        |16075 ++++++++++
 b/vendor/golang.org/x/net/route/address.go                  |  281
 b/vendor/golang.org/x/net/route/address_darwin_test.go      |   63
 b/vendor/golang.org/x/net/route/address_test.go             |  103
 b/vendor/golang.org/x/net/route/binary.go                   |   90
 b/vendor/golang.org/x/net/route/defs_darwin.go              |  106
 b/vendor/golang.org/x/net/route/defs_dragonfly.go           |  105
 b/vendor/golang.org/x/net/route/defs_freebsd.go             |  329
 b/vendor/golang.org/x/net/route/defs_netbsd.go              |  104
 b/vendor/golang.org/x/net/route/defs_openbsd.go             |   93
 b/vendor/golang.org/x/net/route/interface.go                |   64
 b/vendor/golang.org/x/net/route/interface_announce.go       |   32
 b/vendor/golang.org/x/net/route/interface_classic.go        |   66
 b/vendor/golang.org/x/net/route/interface_freebsd.go        |   78
 b/vendor/golang.org/x/net/route/interface_multicast.go      |   30
 b/vendor/golang.org/x/net/route/interface_openbsd.go        |   90
 b/vendor/golang.org/x/net/route/message.go                  |   76
 b/vendor/golang.org/x/net/route/message_darwin_test.go      |   27
 b/vendor/golang.org/x/net/route/message_freebsd_test.go     |  106
 b/vendor/golang.org/x/net/route/message_test.go             |  118
 b/vendor/golang.org/x/net/route/route.go                    |   74
 b/vendor/golang.org/x/net/route/route_classic.go            |   31
 b/vendor/golang.org/x/net/route/route_openbsd.go            |   32
 b/vendor/golang.org/x/net/route/route_test.go               |  385
 b/vendor/golang.org/x/net/route/sys.go                      |   40
 b/vendor/golang.org/x/net/route/sys_darwin.go               |   80
 b/vendor/golang.org/x/net/route/sys_dragonfly.go            |   71
 b/vendor/golang.org/x/net/route/sys_freebsd.go              |  150
 b/vendor/golang.org/x/net/route/sys_netbsd.go               |   67
 b/vendor/golang.org/x/net/route/sys_openbsd.go              |   72
 b/vendor/golang.org/x/net/route/syscall.go                  |   33
 b/vendor/golang.org/x/net/route/syscall.s                   |    8
 b/vendor/golang.org/x/net/route/zsys_darwin.go              |   93
 b/vendor/golang.org/x/net/route/zsys_dragonfly.go           |   92
 b/vendor/golang.org/x/net/route/zsys_freebsd_386.go         |  120
 b/vendor/golang.org/x/net/route/zsys_freebsd_amd64.go       |  117
 b/vendor/golang.org/x/net/route/zsys_freebsd_arm.go         |  117
 b/vendor/golang.org/x/net/route/zsys_netbsd.go              |   91
 b/vendor/golang.org/x/net/route/zsys_openbsd.go             |   80
 b/vendor/golang.org/x/net/trace/histogram_test.go           |  325
 b/vendor/golang.org/x/net/trace/trace.go                    |   18
 b/vendor/golang.org/x/net/trace/trace_test.go               |   71
 b/vendor/golang.org/x/net/webdav/file.go                    |  794
 b/vendor/golang.org/x/net/webdav/file_test.go               | 1169
 b/vendor/golang.org/x/net/webdav/if.go                      |  173
 b/vendor/golang.org/x/net/webdav/if_test.go                 |  322
 b/vendor/golang.org/x/net/webdav/internal/xml/README        |   11
 b/vendor/golang.org/x/net/webdav/internal/xml/atom_test.go  |   56
 /vendor/golang.org/x/net/webdav/internal/xml/example_test.go|  151
 b/vendor/golang.org/x/net/webdav/internal/xml/marshal.go    | 1223
 /vendor/golang.org/x/net/webdav/internal/xml/marshal_test.go| 1939 +
 b/vendor/golang.org/x/net/webdav/internal/xml/read.go       |  692
 b/vendor/golang.org/x/net/webdav/internal/xml/read_test.go  |  744
 b/vendor/golang.org/x/net/webdav/internal/xml/typeinfo.go   |  371
 b/vendor/golang.org/x/net/webdav/internal/xml/xml.go        | 1998 +
 b/vendor/golang.org/x/net/webdav/internal/xml/xml_test.go   |  752
 b/vendor/golang.org/x/net/webdav/litmus_test_server.go      |   94
 b/vendor/golang.org/x/net/webdav/lock.go                    |  445
 b/vendor/golang.org/x/net/webdav/lock_test.go               |  731
 b/vendor/golang.org/x/net/webdav/prop.go                    |  395
 b/vendor/golang.org/x/net/webdav/prop_test.go               |  610
 b/vendor/golang.org/x/net/webdav/webdav.go                  |  689
 b/vendor/golang.org/x/net/webdav/webdav_test.go             |  285
 b/vendor/golang.org/x/net/webdav/xml.go                     |  519
 b/vendor/golang.org/x/net/webdav/xml_test.go                |  906
 b/vendor/golang.org/x/net/websocket/client.go               |  113
 b/vendor/golang.org/x/net/websocket/exampledial_test.go     |   31
 b/vendor/golang.org/x/net/websocket/examplehandler_test.go  |   26
 b/vendor/golang.org/x/net/websocket/hybi.go                 |  583
 b/vendor/golang.org/x/net/websocket/hybi_test.go            |  608
 b/vendor/golang.org/x/net/websocket/server.go               |  113
 b/vendor/golang.org/x/net/websocket/websocket.go            |  411
 b/vendor/golang.org/x/net/websocket/websocket_test.go       |  587
 b/vendor/golang.org/x/net/xsrftoken/xsrf.go                 |   88
 b/vendor/golang.org/x/net/xsrftoken/xsrf_test.go            |   83
 b/vendor/google.golang.org/grpc/.travis.yml                 |   17
 b/vendor/google.golang.org/grpc/CONTRIBUTING.md             |   31
 or/google.golang.org/grpc/Documentation/grpc-auth-support.md|   41
 vendor/google.golang.org/grpc/Documentation/grpc-metadata.md|  201
 b/vendor/google.golang.org/grpc/Makefile                    |   36
 b/vendor/google.golang.org/grpc/PATENTS                     |   12
 b/vendor/google.golang.org/grpc/README.md                   |    4
 b/vendor/google.golang.org/grpc/backoff.go                  |   80
 b/vendor/google.golang.org/grpc/backoff_test.go             |   11
 b/vendor/google.golang.org/grpc/balancer.go                 |  385
 b/vendor/google.golang.org/grpc/balancer_test.go            |  322
 b/vendor/google.golang.org/grpc/benchmark/benchmark.go      |  224
 b/vendor/google.golang.org/grpc/benchmark/benchmark_test.go |  202
 b/vendor/google.golang.org/grpc/benchmark/client/main.go    |  162
 /google.golang.org/grpc/benchmark/grpc_testing/control.pb.go|  977
 /google.golang.org/grpc/benchmark/grpc_testing/control.proto|  201
 google.golang.org/grpc/benchmark/grpc_testing/messages.pb.go|  347
 google.golang.org/grpc/benchmark/grpc_testing/messages.proto|  172
 google.golang.org/grpc/benchmark/grpc_testing/payloads.pb.go|  223
 google.golang.org/grpc/benchmark/grpc_testing/payloads.proto|   55
 google.golang.org/grpc/benchmark/grpc_testing/services.pb.go|  443
 google.golang.org/grpc/benchmark/grpc_testing/services.proto|   71
 or/google.golang.org/grpc/benchmark/grpc_testing/stats.pb.go|  111
 or/google.golang.org/grpc/benchmark/grpc_testing/stats.proto|   70
 b/vendor/google.golang.org/grpc/benchmark/server/main.go    |   35
 ndor/google.golang.org/grpc/benchmark/server/testdata/ca.pem|   15
 google.golang.org/grpc/benchmark/server/testdata/server1.key|   16
 google.golang.org/grpc/benchmark/server/testdata/server1.pem|   16
 b/vendor/google.golang.org/grpc/benchmark/stats/histogram.go|  198
 b/vendor/google.golang.org/grpc/benchmark/stats/stats.go    |  116
 b/vendor/google.golang.org/grpc/benchmark/stats/util.go     |  191
 /google.golang.org/grpc/benchmark/worker/benchmark_client.go|  399
 /google.golang.org/grpc/benchmark/worker/benchmark_server.go|  173
 b/vendor/google.golang.org/grpc/benchmark/worker/main.go    |  231
 b/vendor/google.golang.org/grpc/benchmark/worker/util.go    |   75
 b/vendor/google.golang.org/grpc/call.go                     |  110
 b/vendor/google.golang.org/grpc/call_test.go                |  278
 b/vendor/google.golang.org/grpc/clientconn.go               |  679
 b/vendor/google.golang.org/grpc/clientconn_test.go          |  127
 b/vendor/google.golang.org/grpc/coverage.sh                 |   47
 b/vendor/google.golang.org/grpc/credentials/credentials.go  |   53
 b/vendor/google.golang.org/grpc/credentials/oauth/oauth.go  |  180
 b/vendor/google.golang.org/grpc/doc.go                      |    2
 b/vendor/google.golang.org/grpc/examples/README.md          |   57
 b/vendor/google.golang.org/grpc/examples/gotutorial.md      |  431
 e.golang.org/grpc/examples/helloworld/greeter_client/main.go|   69
 e.golang.org/grpc/examples/helloworld/greeter_server/main.go|   65
 ang.org/grpc/examples/helloworld/helloworld/helloworld.pb.go|  151
 ang.org/grpc/examples/helloworld/helloworld/helloworld.proto|   52
 vendor/google.golang.org/grpc/examples/route_guide/README.md|   35
 google.golang.org/grpc/examples/route_guide/client/client.go|  202
 g.org/grpc/examples/route_guide/routeguide/route_guide.pb.go|  488
 g.org/grpc/examples/route_guide/routeguide/route_guide.proto|  125
 google.golang.org/grpc/examples/route_guide/server/server.go|  239
 /google.golang.org/grpc/examples/route_guide/testdata/ca.pem|   15
 g.org/grpc/examples/route_guide/testdata/route_guide_db.json|  601
 le.golang.org/grpc/examples/route_guide/testdata/server1.key|   16
 le.golang.org/grpc/examples/route_guide/testdata/server1.pem|   16
 b/vendor/google.golang.org/grpc/grpclog/glogger/glogger.go  |   72
 b/vendor/google.golang.org/grpc/grpclog/logger.go           |    5
 or/google.golang.org/grpc/health/grpc_health_v1/health.pb.go|  176
 or/google.golang.org/grpc/health/grpc_health_v1/health.proto|   20
 b/vendor/google.golang.org/grpc/health/health.go            |   49
 b/vendor/google.golang.org/grpc/interceptor.go              |   74
 b/vendor/google.golang.org/grpc/internal/internal.go        |   49
 b/vendor/google.golang.org/grpc/interop/client/client.go    |  186
 vendor/google.golang.org/grpc/interop/client/testdata/ca.pem|   15
 r/google.golang.org/grpc/interop/client/testdata/server1.key|   16
 r/google.golang.org/grpc/interop/client/testdata/server1.pem|   16
 endor/google.golang.org/grpc/interop/grpc_testing/test.pb.go|  788
 endor/google.golang.org/grpc/interop/grpc_testing/test.proto|  140
 b/vendor/google.golang.org/grpc/interop/server/server.go    |   73
 vendor/google.golang.org/grpc/interop/server/testdata/ca.pem|   15
 r/google.golang.org/grpc/interop/server/testdata/server1.key|   16
 r/google.golang.org/grpc/interop/server/testdata/server1.pem|   16
 b/vendor/google.golang.org/grpc/interop/test_utils.go       |  592
 b/vendor/google.golang.org/grpc/metadata/metadata.go        |   24
 b/vendor/google.golang.org/grpc/metadata/metadata_test.go   |  107
 b/vendor/google.golang.org/grpc/naming/naming.go            |   74
 b/vendor/google.golang.org/grpc/peer/peer.go                |   65
 b/vendor/google.golang.org/grpc/reflection/README.md        |   18
 org/grpc/reflection/grpc_reflection_v1alpha/reflection.pb.go|  694
 org/grpc/reflection/grpc_reflection_v1alpha/reflection.proto|  151
 /google.golang.org/grpc/reflection/grpc_testing/proto2.pb.go|   56
 /google.golang.org/grpc/reflection/grpc_testing/proto2.proto|    8
 gle.golang.org/grpc/reflection/grpc_testing/proto2_ext.pb.go|   88
 gle.golang.org/grpc/reflection/grpc_testing/proto2_ext.proto|   13
 or/google.golang.org/grpc/reflection/grpc_testing/test.pb.go|  220
 or/google.golang.org/grpc/reflection/grpc_testing/test.proto|   21
 vendor/google.golang.org/grpc/reflection/serverreflection.go|  395
 r/google.golang.org/grpc/reflection/serverreflection_test.go|  492
 b/vendor/google.golang.org/grpc/rpc_util.go                 |  252
 b/vendor/google.golang.org/grpc/rpc_util_test.go            |  233
 b/vendor/google.golang.org/grpc/server.go                   |  555
 b/vendor/google.golang.org/grpc/server_test.go              |  113
 b/vendor/google.golang.org/grpc/stream.go                   |  182
 b/vendor/google.golang.org/grpc/stress/client/main.go       |  298
 dor/google.golang.org/grpc/stress/grpc_testing/metrics.pb.go|  361
 dor/google.golang.org/grpc/stress/grpc_testing/metrics.proto|   64
 /vendor/google.golang.org/grpc/stress/metrics_client/main.go|   97
 b/vendor/google.golang.org/grpc/test/codec_perf/perf.pb.go  |   63
 b/vendor/google.golang.org/grpc/test/codec_perf/perf.proto  |   11
 b/vendor/google.golang.org/grpc/test/end2end_test.go        | 2172 +
 b/vendor/google.golang.org/grpc/test/grpc_testing/test.pb.go|  788
 b/vendor/google.golang.org/grpc/test/grpc_testing/test.proto|  140
 b/vendor/google.golang.org/grpc/test/race_test.go           |   39
 b/vendor/google.golang.org/grpc/test/servertester_test.go   |  289
 b/vendor/google.golang.org/grpc/test/testdata/ca.pem        |   15
 b/vendor/google.golang.org/grpc/test/testdata/server1.key   |   16
 b/vendor/google.golang.org/grpc/test/testdata/server1.pem   |   16
 b/vendor/google.golang.org/grpc/testdata/ca.pem             |   15
 b/vendor/google.golang.org/grpc/testdata/server1.key        |   16
 b/vendor/google.golang.org/grpc/testdata/server1.pem        |   16
 b/vendor/google.golang.org/grpc/trace.go                    |    3
 b/vendor/google.golang.org/grpc/transport/control.go        |   89
 b/vendor/google.golang.org/grpc/transport/handler_server.go |  393
 ndor/google.golang.org/grpc/transport/handler_server_test.go|  389
 b/vendor/google.golang.org/grpc/transport/http2_client.go   |  384
 b/vendor/google.golang.org/grpc/transport/http2_server.go   |  253
 b/vendor/google.golang.org/grpc/transport/http_util.go      |  184
 b/vendor/google.golang.org/grpc/transport/http_util_test.go |  109
 b/vendor/google.golang.org/grpc/transport/testdata/ca.pem   |   15
 vendor/google.golang.org/grpc/transport/testdata/server1.key|   16
 vendor/google.golang.org/grpc/transport/testdata/server1.pem|   16
 b/vendor/google.golang.org/grpc/transport/transport.go      |  214
 b/vendor/google.golang.org/grpc/transport/transport_test.go |  797
 images/base/.gitignore                                      |    1
 images/base/Dockerfile.in                                   |    5
 images/base/Makefile                                        |   49
 images/base/README.md                                       |   53
 images/base/http/preseed.cfg                                |   34
 images/base/images/packer-overview.graffle/data.plist       | 1383
 images/base/packer.json                                     |  105
 images/base/release                                         |    1
 images/base/scripts/common/golang_crossCompileSetup.sh      |   28
 images/base/scripts/common/init.sh                          |    5
 images/base/scripts/common/setup.sh                         |  139
 images/base/scripts/docker/init.sh                          |    4
 images/base/scripts/vagrant/cleanup.sh                      |   15
 images/base/scripts/vagrant/init.sh                         |   27
 images/base/scripts/vagrant/vagrant.sh                      |   13
 images/base/scripts/vagrant/virtualbox.sh                   |    5
 images/base/scripts/vagrant/zerodisk.sh                     |   10
 membersrvc/Dockerfile                                       |    9
 scripts/provision/common.sh                                 |    8
 scripts/provision/docker.sh                                 |  118
 scripts/provision/host.sh                                   |   51
 sdk/node/makedoc.sh                                         |   58
 olang/protobuf/protoc-gen-go/descriptor/descriptor.pb.golden| 1024
 vendor/google.golang.org/grpc/picker.go                     |   93
 898 files changed, 174231 insertions(+), 8599 deletions(-)

Change-Id: Ie2edad52e399ea6353b22477329d0c801bb86e87
Signed-off-by: default avatarGregory Haskins <gregory.haskins@gmail.com>
parents 4958506a 0e69b6dc
......@@ -26,3 +26,8 @@ go-carpet-coverage*
# make node-sdk copied files
sdk/node/lib/protos/*
report.xml
.settings
.project
.gradle
build/
bin/
......@@ -36,11 +36,27 @@
# - clean - cleans the build area
# - dist-clean - superset of 'clean' that also removes persistent state
PROJECT_NAME=hyperledger/fabric
PROJECT_NAME = hyperledger/fabric
BASE_VERSION = 0.7.0
IS_RELEASE = false
ifneq ($(IS_RELEASE),true)
EXTRA_VERSION ?= snapshot-$(shell git rev-parse --short HEAD)
PROJECT_VERSION=$(BASE_VERSION)-$(EXTRA_VERSION)
else
PROJECT_VERSION=$(BASE_VERSION)
endif
PKGNAME = github.com/$(PROJECT_NAME)
GO_LDFLAGS = -X github.com/hyperledger/fabric/metadata.Version=$(PROJECT_VERSION)
CGO_FLAGS = CGO_CFLAGS=" " CGO_LDFLAGS="-lrocksdb -lstdc++ -lm -lz -lbz2 -lsnappy"
UID = $(shell id -u)
CHAINTOOL_RELEASE=v0.8.1
ARCH=$(shell uname -m)
CHAINTOOL_RELEASE=v0.9.1
BASEIMAGE_RELEASE=$(shell cat ./.baseimage-release)
DOCKER_TAG=$(ARCH)-$(PROJECT_VERSION)
BASE_DOCKER_TAG=$(ARCH)-$(BASEIMAGE_RELEASE)
EXECUTABLES = go docker git curl
K := $(foreach exec,$(EXECUTABLES),\
......@@ -50,13 +66,10 @@ K := $(foreach exec,$(EXECUTABLES),\
SUBDIRS = gotools sdk/node
SUBDIRS:=$(strip $(SUBDIRS))
# Make our baseimage depend on any changes to images/base or scripts/provision
BASEIMAGE_RELEASE = $(shell cat ./images/base/release)
BASEIMAGE_DEPS = $(shell git ls-files images/base scripts/provision)
GOSHIM_DEPS = $(shell ./scripts/goListFiles.sh github.com/hyperledger/fabric/core/chaincode/shim | sort | uniq)
JAVASHIM_DEPS = $(shell git ls-files core/chaincode/shim/java)
PROJECT_FILES = $(shell git ls-files)
IMAGES = base src ccenv peer membersrvc javaenv orderer
IMAGES = src ccenv peer membersrvc javaenv orderer
all: peer membersrvc checks
......@@ -80,12 +93,19 @@ membersrvc: build/bin/membersrvc
membersrvc-image: build/image/membersrvc/.dummy
unit-test: peer-image gotools
@./scripts/goUnitTests.sh
@./scripts/goUnitTests.sh $(DOCKER_TAG) "$(GO_LDFLAGS)"
node-sdk: sdk/node
node-sdk-unit-tests: peer membersrvc
cd sdk/node && $(MAKE) unit-tests
unit-tests: unit-test node-sdk-unit-tests
.PHONY: images
images: $(patsubst %,build/image/%/.dummy, $(IMAGES))
behave-deps: images peer
behave-deps: images peer build/bin/block-listener
behave: behave-deps
@echo "Running behave tests"
@cd bddtests; behave $(BEHAVE_OPTS)
......@@ -108,14 +128,14 @@ linter: gotools
# we may later inject the binary into a different docker environment
# This is necessary since we cannot guarantee that binaries built
# on the host natively will be compatible with the docker env.
%/bin/protoc-gen-go: build/image/base/.dummy Makefile
%/bin/protoc-gen-go: Makefile
@echo "Building $@"
@mkdir -p $(@D)
@docker run -i \
--user=$(UID) \
-v $(abspath vendor/github.com/golang/protobuf):/opt/gopath/src/github.com/golang/protobuf \
-v $(abspath $(@D)):/opt/gopath/bin \
hyperledger/fabric-baseimage go install github.com/golang/protobuf/protoc-gen-go
hyperledger/fabric-baseimage:$(BASE_DOCKER_TAG) go install github.com/golang/protobuf/protoc-gen-go
build/bin/chaintool: Makefile
@echo "Installing chaintool"
......@@ -127,6 +147,11 @@ build/bin/chaintool: Makefile
@mkdir -p $(@D)
@cp $^ $@
# JIRA FAB-243 - Mark build/docker/bin artifacts explicitly as secondary
# since they are never referred to directly. This prevents
# the makefile from deleting them inadvertently.
.SECONDARY: build/docker/bin/peer build/docker/bin/membersrvc
# We (re)build a package within a docker context but persist the $GOPATH/pkg
# directory so that subsequent builds are faster
build/docker/bin/%: build/image/src/.dummy $(PROJECT_FILES)
......@@ -137,7 +162,8 @@ build/docker/bin/%: build/image/src/.dummy $(PROJECT_FILES)
--user=$(UID) \
-v $(abspath build/docker/bin):/opt/gopath/bin \
-v $(abspath build/docker/pkg):/opt/gopath/pkg \
hyperledger/fabric-src go install github.com/hyperledger/fabric/$(TARGET)
hyperledger/fabric-src:$(DOCKER_TAG) go install -ldflags "$(GO_LDFLAGS)" github.com/hyperledger/fabric/$(TARGET)
@touch $@
build/bin:
mkdir -p $@
......@@ -145,50 +171,60 @@ build/bin:
# Both peer and peer-image depend on ccenv-image and javaenv-image (all docker env images it supports)
build/bin/peer: build/image/ccenv/.dummy build/image/javaenv/.dummy
build/image/peer/.dummy: build/image/ccenv/.dummy build/image/javaenv/.dummy
build/image/peer/.dummy: build/docker/bin/examples/events/block-listener/
build/bin/%: build/image/base/.dummy $(PROJECT_FILES)
build/bin/block-listener:
@mkdir -p $(@D)
@echo "$@"
$(CGO_FLAGS) GOBIN=$(abspath $(@D)) go install $(PKGNAME)/$(@F)
$(CGO_FLAGS) GOBIN=$(abspath $(@D)) go install $(PKGNAME)/examples/events/block-listener
@echo "Binary available as $@"
@touch $@
# Special override for base-image.
build/image/base/.dummy: $(BASEIMAGE_DEPS)
@echo "Building docker base-image"
build/bin/%: $(PROJECT_FILES)
@mkdir -p $(@D)
@./scripts/provision/docker.sh $(BASEIMAGE_RELEASE)
@echo "$@"
$(CGO_FLAGS) GOBIN=$(abspath $(@D)) go install -ldflags "$(GO_LDFLAGS)" $(PKGNAME)/$(@F)
@echo "Binary available as $@"
@touch $@
# Special override for src-image
build/image/src/.dummy: build/image/base/.dummy $(PROJECT_FILES)
build/image/src/.dummy: $(PROJECT_FILES)
@echo "Building docker src-image"
@mkdir -p $(@D)
@cat images/src/Dockerfile.in > $(@D)/Dockerfile
@cat images/src/Dockerfile.in \
| sed -e 's/_BASE_TAG_/$(BASE_DOCKER_TAG)/g' \
| sed -e 's/_TAG_/$(DOCKER_TAG)/g' \
> $(@D)/Dockerfile
@git ls-files | tar -jcT - > $(@D)/gopath.tar.bz2
docker build -t $(PROJECT_NAME)-src:latest $(@D)
docker build -t $(PROJECT_NAME)-src $(@D)
docker tag $(PROJECT_NAME)-src $(PROJECT_NAME)-src:$(DOCKER_TAG)
@touch $@
# Special override for ccenv-image (chaincode-environment)
build/image/ccenv/.dummy: build/image/src/.dummy build/image/ccenv/bin/protoc-gen-go build/image/ccenv/bin/chaintool Makefile
build/image/ccenv/.dummy: build/image/ccenv/bin/protoc-gen-go build/image/ccenv/bin/chaintool build/image/ccenv/goshim.tar.bz2 Makefile
@echo "Building docker ccenv-image"
@cat images/ccenv/Dockerfile.in > $(@D)/Dockerfile
docker build -t $(PROJECT_NAME)-ccenv:latest $(@D)
@cat images/ccenv/Dockerfile.in \
| sed -e 's/_BASE_TAG_/$(BASE_DOCKER_TAG)/g' \
| sed -e 's/_TAG_/$(DOCKER_TAG)/g' \
> $(@D)/Dockerfile
docker build -t $(PROJECT_NAME)-ccenv $(@D)
docker tag $(PROJECT_NAME)-ccenv $(PROJECT_NAME)-ccenv:$(DOCKER_TAG)
@touch $@
# Special override for java-image
# Special override for java-image
build/image/javaenv/.dummy: Makefile $(JAVASHIM_DEPS)
@echo "Building docker javaenv-image"
@mkdir -p $(@D)
@cat images/javaenv/Dockerfile.in > $(@D)/Dockerfile
@cat images/javaenv/Dockerfile.in \
| sed -e 's/_BASE_TAG_/$(BASE_DOCKER_TAG)/g' \
| sed -e 's/_TAG_/$(DOCKER_TAG)/g' \
> $(@D)/Dockerfile
# Following items are packed and sent to docker context while building image
# 1. Java shim layer source code
# 2. Proto files used to generate java classes
# 3. Gradle settings file
@git ls-files core/chaincode/shim/java | tar -jcT - > $(@D)/javashimsrc.tar.bz2
@git ls-files protos settings.gradle | tar -jcT - > $(@D)/protos.tar.bz2
docker build -t $(PROJECT_NAME)-javaenv:latest $(@D)
docker build -t $(PROJECT_NAME)-javaenv $(@D)
docker tag $(PROJECT_NAME)-javaenv $(PROJECT_NAME)-javaenv:$(DOCKER_TAG)
@touch $@
# Default rule for image creation
......@@ -196,31 +232,32 @@ build/image/%/.dummy: build/image/src/.dummy build/docker/bin/%
$(eval TARGET = ${patsubst build/image/%/.dummy,%,${@}})
@echo "Building docker $(TARGET)-image"
@mkdir -p $(@D)/bin
@cat images/app/Dockerfile.in | sed -e 's/_TARGET_/$(TARGET)/g' > $(@D)/Dockerfile
@cat images/app/Dockerfile.in \
| sed -e 's/_BASE_TAG_/$(BASE_DOCKER_TAG)/g' \
| sed -e 's/_TAG_/$(DOCKER_TAG)/g' \
> $(@D)/Dockerfile
cp build/docker/bin/$(TARGET) $(@D)/bin
docker build -t $(PROJECT_NAME)-$(TARGET):latest $(@D)
docker build -t $(PROJECT_NAME)-$(TARGET) $(@D)
docker tag $(PROJECT_NAME)-$(TARGET) $(PROJECT_NAME)-$(TARGET):$(DOCKER_TAG)
@touch $@
%/goshim.tar.bz2: $(GOSHIM_DEPS) Makefile
@echo "Creating $@"
@tar -jhc -C $(GOPATH)/src $(patsubst $(GOPATH)/src/%,%,$(GOSHIM_DEPS)) > $@
.PHONY: protos
protos: gotools
./devenv/compile_protos.sh
base-image-clean:
-docker rmi -f $(PROJECT_NAME)-baseimage
-@rm -rf build/image/base ||:
src-image-clean: ccenv-image-clean peer-image-clean membersrvc-image-clean
%-image-clean:
$(eval TARGET = ${patsubst %-image-clean,%,${@}})
-docker rmi -f $(PROJECT_NAME)-$(TARGET)
-docker images -q $(PROJECT_NAME)-$(TARGET) | xargs -r docker rmi -f
-@rm -rf build/image/$(TARGET) ||:
images-clean: $(patsubst %,%-image-clean, $(IMAGES))
node-sdk: sdk/node
node-sdk-unit-tests: peer membersrvc
cd sdk/node && $(MAKE) unit-tests
.PHONY: $(SUBDIRS:=-clean)
$(SUBDIRS:=-clean):
cd $(patsubst %-clean,%,$@) && $(MAKE) clean
......
**Note:** This is a **read-only mirror** of the formal [Gerrit](https://gerrit.hyperledger.org/r/#/admin/projects/fabric) repository,
where active development is ongoing. Issue tracking is handled in [Jira](https://jira.hyperledger.org/secure/RapidBoard.jspa?projectKey=FAB&rapidView=5&view=planning)
## Incubation Notice
This project is a Hyperledger project in _Incubation_. It was proposed to the
community and documented [here](https://goo.gl/RYQZ5N). Information on what
_Incubation_ entails can be found in the [Hyperledger Project Lifecycle
document](https://goo.gl/4edNRc).
[![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric/job/fabric-merge-x86_64/)
[![Go Report Card](https://goreportcard.com/badge/github.com/hyperledger/fabric)](https://goreportcard.com/report/github.com/hyperledger/fabric)
[![GoDoc](https://godoc.org/github.com/hyperledger/fabric?status.svg)](https://godoc.org/github.com/hyperledger/fabric)
[![Documentation Status](https://readthedocs.org/projects/hyperledger-fabric/badge/?version=latest)](http://hyperledger-fabric.readthedocs.io/en/latest/?badge=latest)
## Hyperledger fabric
The fabric is an implementation of blockchain technology, leveraging familiar
and proven technologies. It is a modular architecture allowing pluggable
implementations of various function. It features powerful container technology
to host any mainstream language for smart contracts development.
## Documentation, Getting Started and Developer Guides
This is a **read-only mirror** of the formal Gerrit repository, please visit our
[online documentation](http://hyperledger-fabric.readthedocs.io/en/latest/) for
information on getting started using and developing with the fabric, SDK and chaincode.
## Contributing
We welcome contributions to the Hyperledger Project in many forms. There’s always plenty to do!
Full details of how to contribute to this project are documented [here](http://hyperledger-fabric.readthedocs.io/en/latest/CONTRIBUTING/).
## Community
[Hyperledger Community](https://www.hyperledger.org/community)
[Hyperledger mailing lists and archives](http://lists.hyperledger.org/)
[Hyperledger Slack](http://hyperledgerproject.slack.com) - if you need an invitation, try our [Slack inviter](https://slack.hyperledger.org)
[Hyperledger Wiki](https://github.com/hyperledger/hyperledger/wiki)
[Hyperledger Code of Conduct](https://github.com/hyperledger/hyperledger/wiki/Hyperledger-Project-Code-of-Conduct)
[Community Calendar](https://github.com/hyperledger/hyperledger/wiki/PublicMeetingCalendar)
## License <a name="license"></a>
The Hyperledger Project uses the [Apache License Version 2.0](LICENSE) software
license.
......@@ -6,6 +6,7 @@ tags=~@issue_767
~@issue_1565
~@issue_RBAC_TCERT_With_Attributes
~@sdk
~@devops
~@preV1
~@FAB-314
vp0:
environment:
# The combination of the following two environment variables ensures that a state snapshot will be pulled
# and that the state snapshot buffer will be exhausted
- CORE_PEER_SYNC_STATE_SNAPSHOT_CHANNELSIZE=0
- CORE_STATETRANSFER_MAXDELTAS=1
vp1:
environment:
- CORE_PEER_SYNC_STATE_SNAPSHOT_CHANNELSIZE=0
- CORE_STATETRANSFER_MAXDELTAS=1
vp2:
environment:
- CORE_PEER_SYNC_STATE_SNAPSHOT_CHANNELSIZE=0
- CORE_STATETRANSFER_MAXDELTAS=1
vp3:
environment:
- CORE_PEER_SYNC_STATE_SNAPSHOT_CHANNELSIZE=0
- CORE_STATETRANSFER_MAXDELTAS=1
File mode changed from 100755 to 100644
......@@ -19,7 +19,7 @@ def getDockerComposeFileArgsFromYamlFile(compose_yaml):
def after_scenario(context, scenario):
get_logs = context.config.userdata.get("logs", "N")
if get_logs.lower() == "force" or (scenario.status == "failed" and get_logs.lower() == "y"):
if get_logs.lower() == "force" or (scenario.status == "failed" and get_logs.lower() == "y" and "compose_containers" in context):
print("Scenario {0} failed. Getting container logs".format(scenario.name))
file_suffix = "_" + scenario.name.replace(" ", "_") + ".log"
# get logs from the peer containers
......
......@@ -350,6 +350,7 @@ Feature: Network of Peers
# @doNotDecompose
# @wip
@devops
Scenario: chaincode map single peer content generated ID
Given we compose "docker-compose-1.yml"
When requesting "/chain" from "vp0"
......@@ -505,9 +506,11 @@ Feature: Network of Peers
| docker-compose-4-consensus-batch.yml | 60 |
#@doNotDecompose
#@wip
@issue_680
@fab380
Scenario Outline: chaincode example02 with 4 peers and 1 membersrvc, issue #680 (State transfer)
Given we compose "<ComposeFile>"
And I register with CA supplying username "binhn" and secret "7avZQLwcUe9q" on peers:
| vp0 |
......@@ -579,8 +582,9 @@ Feature: Network of Peers
Examples: Consensus Options
| ComposeFile | WaitTime |
| docker-compose-4-consensus-batch.yml | 60 |
| ComposeFile | WaitTime |
| docker-compose-4-consensus-batch.yml | 60 |
| docker-compose-4-consensus-batch.yml docker-compose-4-consensus-batch-nosnapshotbuffer.yml | 60 |
# @doNotDecompose
......
File mode changed from 100755 to 100644
......@@ -191,7 +191,7 @@ def deployChainCodeToContainer(context, chaincode, containerName):
def createChaincodeSpec(context, chaincode):
chaincode = validateChaincodeDictionary(chaincode)
args = to_bytes(prepend(chaincode["constructor"], chaincode["args"]))
args = prepend(chaincode["constructor"], chaincode["args"])
# Create a ChaincodeSpec structure
chaincodeSpec = {
"type": getChaincodeTypeValue(chaincode["language"]),
......@@ -317,17 +317,18 @@ def invokeChaincode(context, devopsFunc, functionName, containerName, idGenAlg=N
if 'table' in context:
# There is ctor arguments
args = context.table[0].cells
args = to_bytes(prepend(functionName, args))
args = prepend(functionName, args)
for idx, attr in enumerate(attributes):
attributes[idx] = attr.strip()
context.chaincodeSpec['ctorMsg']['args'] = args
context.chaincodeSpec['attributes'] = attributes
#If idGenAlg is passed then, we still using the deprecated devops API because this parameter can't be passed in the new API.
if idGenAlg != None:
context.chaincodeSpec['ctorMsg']['args'] = to_bytes(args)
invokeUsingDevopsService(context, devopsFunc, functionName, containerName, idGenAlg)
else:
context.chaincodeSpec['ctorMsg']['args'] = args
invokeUsingChaincodeService(context, devopsFunc, functionName, containerName)
def invokeUsingChaincodeService(context, devopsFunc, functionName, containerName):
......@@ -375,7 +376,7 @@ def invokeMasterChaincode(context, devopsFunc, chaincodeName, functionName, cont
args = []
if 'table' in context:
args = context.table[0].cells
args = to_bytes(prepend(functionName, args))
args = prepend(functionName, args)
typeGolang = 1
chaincodeSpec = {
"type": typeGolang,
......@@ -585,7 +586,7 @@ def step_impl(context, chaincodeName, functionName):
if 'table' in context:
# There is ctor arguments
args = context.table[0].cells
args = to_bytes(prepend(functionName, args))
args = prepend(functionName, args)
context.chaincodeSpec['ctorMsg']['args'] = args #context.table[0].cells if ('table' in context) else []
# Invoke the POST
chaincodeOpPayload = createChaincodeOpPayload("query", context.chaincodeSpec)
......@@ -617,7 +618,7 @@ def query_common(context, chaincodeName, functionName, value, failOnError):
containerDataList = bdd_test_util.getContainerDataValuesFromContext(context, aliases, lambda containerData: containerData)
# Update the chaincodeSpec ctorMsg for invoke
context.chaincodeSpec['ctorMsg']['args'] = to_bytes([functionName, value])
context.chaincodeSpec['ctorMsg']['args'] = [functionName, value]
# Invoke the POST
# Make deep copy of chaincodeSpec as we will be changing the SecurityContext per call.
chaincodeOpPayload = createChaincodeOpPayload("query", copy.deepcopy(context.chaincodeSpec))
......@@ -724,7 +725,7 @@ def step_impl(context):
def step_impl(context):
gopath = os.environ.get('GOPATH')
assert gopath is not None, "Please set GOPATH properly!"
listener = os.path.join(gopath, "src/github.com/hyperledger/fabric/build/docker/bin/block-listener")
listener = os.path.join(gopath, "src/github.com/hyperledger/fabric/build/bin/block-listener")
assert os.path.isfile(listener), "Please build the block-listener binary!"
bdd_test_util.start_background_process(context, "eventlistener", [listener, "-listen-to-rejections"] )
......@@ -753,8 +754,12 @@ def to_bytes(strlist):
def prepend(elem, l):
if l is None or l == "":
return [elem]
return [elem] + l
tail = []
else:
tail = l
if elem is None:
return tail
return [elem] + tail
@given(u'I do nothing')
def step_impl(context):
......
......@@ -58,7 +58,7 @@ func TestInvokeExecuteNotEnoughArgs(t *testing.T) {
func TestInvokeExecuteOneArgReturnsNothing(t *testing.T) {
var noop = SystemChaincode{mockLedger{}}
stub := shim.InitTestStub("arg1")
stub := shim.InitTestStub("transaction")
var res, err = noop.Invoke(stub)
if res != nil || err != nil {
t.Errorf("Invoke.execute has to return nil with no error.")
......@@ -67,7 +67,7 @@ func TestInvokeExecuteOneArgReturnsNothing(t *testing.T) {
func TestInvokeExecuteMoreArgsReturnsError(t *testing.T) {
var noop = SystemChaincode{mockLedger{}}
stub := shim.InitTestStub("arg1", "arg2")
stub := shim.InitTestStub("transaction", "arg1")
var res, err = noop.Invoke(stub)
if res != nil || err == nil {
t.Errorf("Invoke.execute has to return error when called with more than one arguments.")
......
......@@ -131,6 +131,7 @@ func (co *coordinatorImpl) ProcessEvent(event events.Event) events.Event {
for {
err, recoverable := co.stc.SyncToTarget(info.Height-1, info.CurrentBlockHash, et.peers)
if err == nil {
logger.Debug("State transfer sync completed, returning")
co.skipInProgress = false
co.consumer.StateUpdated(et.tag, info)
return nil
......
......@@ -50,10 +50,9 @@ type ConsensusHandler struct {
// NewConsensusHandler constructs a new MessageHandler for the plugin.
// Is instance of peer.HandlerFactory
func NewConsensusHandler(coord peer.MessageHandlerCoordinator,
stream peer.ChatStream, initiatedStream bool,
next peer.MessageHandler) (peer.MessageHandler, error) {
stream peer.ChatStream, initiatedStream bool) (peer.MessageHandler, error) {
peerHandler, err := peer.NewPeerHandler(coord, stream, initiatedStream, nil)
peerHandler, err := peer.NewPeerHandler(coord, stream, initiatedStream)
if err != nil {
return nil, fmt.Errorf("Error creating PeerHandler: %s", err)
}
......@@ -70,10 +69,8 @@ func NewConsensusHandler(coord peer.MessageHandlerCoordinator,
consensusQueueSize = DefaultConsensusQueueSize
}
pe, _ := handler.To()
handler.consenterChan = make(chan *util.Message, consensusQueueSize)
getEngineImpl().consensusFan.RegisterChannel(pe.ID, handler.consenterChan)
getEngineImpl().consensusFan.AddFaninChannel(handler.consenterChan)
return handler, nil
}
......
......@@ -53,16 +53,16 @@ func NewHelper(mhc peer.MessageHandlerCoordinator) *Helper {
coordinator: mhc,
secOn: viper.GetBool("security.enabled"),
secHelper: mhc.GetSecHelper(),
valid: true, // Assume our state is consistent until we are told otherwise, TODO: revisit
valid: true, // Assume our state is consistent until we are told otherwise, actual consensus (pbft) will invalidate this immediately, but noops will not
}
h.executor = executor.NewImpl(h, h, mhc)
h.executor.Start()
return h
}
func (h *Helper) setConsenter(c consensus.Consenter) {
h.consenter = c
h.executor.Start() // The consenter may be expecting a callback from the executor because of state transfer completing, it will miss this if we start the executor too early
}
// GetNetworkInfo returns the PeerEndpoints of the current validator and the entire validating network
......
......@@ -18,7 +18,6 @@ package pbft
import (
"fmt"
"google/protobuf"
"time"
"github.com/hyperledger/fabric/consensus"
......@@ -26,6 +25,7 @@ import (
pb "github.com/hyperledger/fabric/protos"
"github.com/golang/protobuf/proto"
"github.com/golang/protobuf/ptypes/timestamp"
"github.com/op/go-logging"
"github.com/spf13/viper"
)
......@@ -83,8 +83,17 @@ func newObcBatch(id uint64, config *viper.Viper, stack consensus.Stack) *obcBatc
etf := events.NewTimerFactoryImpl(op.manager)
op.pbft = newPbftCore(id, config, op, etf)
op.manager.Start()
blockchainInfoBlob := stack.GetBlockchainInfoBlob()
op.externalEventReceiver.manager = op.manager
op.broadcaster = newBroadcaster(id, op.pbft.N, op.pbft.f, stack)
op.broadcaster = newBroadcaster(id, op.pbft.N, op.pbft.f, op.pbft.broadcastTimeout, stack)
op.manager.Queue() <- workEvent(func() {
op.pbft.stateTransfer(&stateUpdateTarget{
checkpointMessage: checkpointMessage{