Dockerfile 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. # Copyright 2018 The Go Authors. All rights reserved.
  2. # Use of this source code is governed by a BSD-style
  3. # license that can be found in the LICENSE file.
  4. FROM golang:1.11 AS build
  5. LABEL maintainer "golang-dev@googlegroups.com"
  6. # BEGIN deps (run `make update-deps` to update)
  7. # Repo cloud.google.com/go at b5eca92 (2018-10-23)
  8. ENV REV=b5eca92245a08e245bc29c4880c9779ea4aeaa9a
  9. RUN go get -d cloud.google.com/go/compute/metadata `#and 7 other pkgs` &&\
  10. (cd /go/src/cloud.google.com/go && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  11. # Repo github.com/golang/protobuf at b4deda0 (2018-04-30)
  12. ENV REV=b4deda0973fb4c70b50d226b1af49f3da59f5265
  13. RUN go get -d github.com/golang/protobuf/proto `#and 6 other pkgs` &&\
  14. (cd /go/src/github.com/golang/protobuf && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  15. # Repo github.com/googleapis/gax-go at 317e000 (2017-09-15)
  16. ENV REV=317e0006254c44a0ac427cc52a0e083ff0b9622f
  17. RUN go get -d github.com/googleapis/gax-go &&\
  18. (cd /go/src/github.com/googleapis/gax-go && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  19. # Repo go.opencensus.io at ebd8d31 (2018-05-16)
  20. ENV REV=ebd8d31470fedf6c27d0e3056653ddff642509b8
  21. RUN go get -d go.opencensus.io/internal `#and 11 other pkgs` &&\
  22. (cd /go/src/go.opencensus.io && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  23. # Repo go4.org at fba789b (2018-01-03)
  24. ENV REV=fba789b7e39ba524b9e60c45c37a50fae63a2a09
  25. RUN go get -d go4.org/syncutil/singleflight &&\
  26. (cd /go/src/go4.org && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  27. # Repo golang.org/x/build at 193361e (2019-02-01)
  28. ENV REV=193361e263a8c4175cbb6769bb2a59d8c4f8183e
  29. RUN go get -d golang.org/x/build/autocertcache &&\
  30. (cd /go/src/golang.org/x/build && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  31. # Repo golang.org/x/crypto at c7b33c3 (2019-01-28)
  32. ENV REV=c7b33c32a30bae9ba07d37eb4d86f1f8b0f644fb
  33. RUN go get -d golang.org/x/crypto/acme `#and 2 other pkgs` &&\
  34. (cd /go/src/golang.org/x/crypto && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  35. # Repo golang.org/x/oauth2 at c6d9d57 (2019-01-18)
  36. ENV REV=c6d9d5723bcdfb8ec25b90ea254cffe6025386d6
  37. RUN go get -d golang.org/x/oauth2 `#and 5 other pkgs` &&\
  38. (cd /go/src/golang.org/x/oauth2 && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  39. # Repo golang.org/x/sys at 4d1cda0 (2018-12-13)
  40. ENV REV=4d1cda033e0619309c606fc686de3adcf599539e
  41. RUN go get -d golang.org/x/sys/unix &&\
  42. (cd /go/src/golang.org/x/sys && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  43. # Repo golang.org/x/text at 6f44c5a (2018-10-30)
  44. ENV REV=6f44c5a2ea40ee3593d98cdcc905cc1fdaa660e2
  45. RUN go get -d golang.org/x/text/secure/bidirule `#and 4 other pkgs` &&\
  46. (cd /go/src/golang.org/x/text && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  47. # Repo google.golang.org/api at 41dc4b6 (2018-12-17)
  48. ENV REV=41dc4b66e69d5dbf20efe4ba67e19d214d147ae3
  49. RUN go get -d google.golang.org/api/gensupport `#and 10 other pkgs` &&\
  50. (cd /go/src/google.golang.org/api && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  51. # Repo google.golang.org/genproto at 86e600f (2018-04-27)
  52. ENV REV=86e600f69ee4704c6efbf6a2a40a5c10700e76c2
  53. RUN go get -d google.golang.org/genproto/googleapis/api/annotations `#and 4 other pkgs` &&\
  54. (cd /go/src/google.golang.org/genproto && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  55. # Repo google.golang.org/grpc at 07ef407 (2018-08-06)
  56. ENV REV=07ef407d991f1004e6c3367c8f452ed9a02f17ff
  57. RUN go get -d google.golang.org/grpc `#and 26 other pkgs` &&\
  58. (cd /go/src/google.golang.org/grpc && (git cat-file -t $REV 2>/dev/null || git fetch -q origin $REV) && git reset --hard $REV)
  59. # Optimization to speed up iterative development, not necessary for correctness:
  60. RUN go install cloud.google.com/go/compute/metadata \
  61. cloud.google.com/go/iam \
  62. cloud.google.com/go/internal \
  63. cloud.google.com/go/internal/optional \
  64. cloud.google.com/go/internal/trace \
  65. cloud.google.com/go/internal/version \
  66. cloud.google.com/go/storage \
  67. github.com/golang/protobuf/proto \
  68. github.com/golang/protobuf/protoc-gen-go/descriptor \
  69. github.com/golang/protobuf/ptypes \
  70. github.com/golang/protobuf/ptypes/any \
  71. github.com/golang/protobuf/ptypes/duration \
  72. github.com/golang/protobuf/ptypes/timestamp \
  73. github.com/googleapis/gax-go \
  74. go.opencensus.io/internal \
  75. go.opencensus.io/internal/tagencoding \
  76. go.opencensus.io/plugin/ochttp \
  77. go.opencensus.io/plugin/ochttp/propagation/b3 \
  78. go.opencensus.io/stats \
  79. go.opencensus.io/stats/internal \
  80. go.opencensus.io/stats/view \
  81. go.opencensus.io/tag \
  82. go.opencensus.io/trace \
  83. go.opencensus.io/trace/internal \
  84. go.opencensus.io/trace/propagation \
  85. go4.org/syncutil/singleflight \
  86. golang.org/x/build/autocertcache \
  87. golang.org/x/crypto/acme \
  88. golang.org/x/crypto/acme/autocert \
  89. golang.org/x/oauth2 \
  90. golang.org/x/oauth2/google \
  91. golang.org/x/oauth2/internal \
  92. golang.org/x/oauth2/jws \
  93. golang.org/x/oauth2/jwt \
  94. golang.org/x/sys/unix \
  95. golang.org/x/text/secure/bidirule \
  96. golang.org/x/text/transform \
  97. golang.org/x/text/unicode/bidi \
  98. golang.org/x/text/unicode/norm \
  99. google.golang.org/api/gensupport \
  100. google.golang.org/api/googleapi \
  101. google.golang.org/api/googleapi/internal/uritemplates \
  102. google.golang.org/api/googleapi/transport \
  103. google.golang.org/api/internal \
  104. google.golang.org/api/iterator \
  105. google.golang.org/api/option \
  106. google.golang.org/api/storage/v1 \
  107. google.golang.org/api/transport/http \
  108. google.golang.org/api/transport/http/internal/propagation \
  109. google.golang.org/genproto/googleapis/api/annotations \
  110. google.golang.org/genproto/googleapis/iam/v1 \
  111. google.golang.org/genproto/googleapis/rpc/code \
  112. google.golang.org/genproto/googleapis/rpc/status \
  113. google.golang.org/grpc \
  114. google.golang.org/grpc/balancer \
  115. google.golang.org/grpc/balancer/base \
  116. google.golang.org/grpc/balancer/roundrobin \
  117. google.golang.org/grpc/codes \
  118. google.golang.org/grpc/connectivity \
  119. google.golang.org/grpc/credentials \
  120. google.golang.org/grpc/encoding \
  121. google.golang.org/grpc/encoding/proto \
  122. google.golang.org/grpc/grpclog \
  123. google.golang.org/grpc/internal \
  124. google.golang.org/grpc/internal/backoff \
  125. google.golang.org/grpc/internal/channelz \
  126. google.golang.org/grpc/internal/envconfig \
  127. google.golang.org/grpc/internal/grpcrand \
  128. google.golang.org/grpc/internal/transport \
  129. google.golang.org/grpc/keepalive \
  130. google.golang.org/grpc/metadata \
  131. google.golang.org/grpc/naming \
  132. google.golang.org/grpc/peer \
  133. google.golang.org/grpc/resolver \
  134. google.golang.org/grpc/resolver/dns \
  135. google.golang.org/grpc/resolver/passthrough \
  136. google.golang.org/grpc/stats \
  137. google.golang.org/grpc/status \
  138. google.golang.org/grpc/tap
  139. # END deps
  140. COPY . /go/src/golang.org/x/net/
  141. RUN go install -tags "h2demo netgo" golang.org/x/net/http2/h2demo
  142. FROM golang:1.11
  143. COPY --from=build /go/bin/h2demo /h2demo