go: use dep in builds, remove relative imports

Fixes #11.
Fixes #12.
Fixes #13.

Signed-off-by: Ahmet Alp Balkan <ahmetb@google.com>
This commit is contained in:
Ahmet Alp Balkan 2018-08-04 11:21:03 -07:00
parent c7dd0cbf31
commit 427f13fcd3
No known key found for this signature in database
GPG key ID: 5C02521D7B216AD6
36 changed files with 737 additions and 125 deletions

View file

@ -1,32 +1,17 @@
FROM golang:1.10-alpine as builder
RUN apk add --no-cache ca-certificates git
WORKDIR /go/src/frontend
RUN apk add --no-cache ca-certificates git && \
wget -qO/go/bin/dep https://github.com/golang/dep/releases/download/v0.5.0/dep-linux-amd64 && \
chmod +x /go/bin/dep
# fetch known dependencies for caching
RUN go get -d github.com/google/uuid \
github.com/gorilla/mux \
github.com/pkg/errors \
github.com/sirupsen/logrus \
google.golang.org/grpc \
google.golang.org/grpc/codes \
google.golang.org/grpc/status \
go.opencensus.io/plugin/ochttp \
go.opencensus.io/plugin/ochttp/propagation/b3 \
go.opencensus.io/exporter/stackdriver \
go.opencensus.io/trace \
cloud.google.com/go/profiler
ENV PROJECT github.com/GoogleCloudPlatform/microservices-demo/src/frontend
WORKDIR /go/src/$PROJECT
# copy go-only part of the build
COPY *.go ./
COPY ./genproto ./genproto
COPY ./money ./money
# fetch other dependencies might not have listed above (ideally noop)
RUN go get -d ./...
# restore dependencies
COPY Gopkg.* ./
RUN dep ensure --vendor-only -v
COPY . .
RUN go install .
# ---
FROM alpine as release
RUN apk add --no-cache ca-certificates \
busybox-extras net-tools bind-tools

View file

@ -13,6 +13,15 @@
revision = "aad3f485ee528456e0768f20397b4d9dd941e755"
version = "v0.25.0"
[[projects]]
name = "contrib.go.opencensus.io/exporter/stackdriver"
packages = [
".",
"propagation"
]
revision = "37aa2801fbf0205003e15636096ebf0373510288"
version = "v0.5.0"
[[projects]]
name = "github.com/golang/protobuf"
packages = [
@ -75,8 +84,6 @@
name = "go.opencensus.io"
packages = [
".",
"exporter/stackdriver",
"exporter/stackdriver/propagation",
"internal",
"internal/tagencoding",
"plugin/ocgrpc",
@ -97,7 +104,7 @@
branch = "master"
name = "golang.org/x/crypto"
packages = ["ssh/terminal"]
revision = "c126467f60eb25f8f27e5a981f32a87e3965053f"
revision = "56440b844dfe139a8ac053f4ecac0b20b79058f4"
[[projects]]
branch = "master"
@ -112,7 +119,7 @@
"internal/timeseries",
"trace"
]
revision = "a0f8a16cb08c06df97cbdf9c47f4731ba548c33c"
revision = "f4c29de78a2a91c00474a2e689954305c350adf9"
[[projects]]
branch = "master"
@ -139,7 +146,7 @@
"unix",
"windows"
]
revision = "bd9dbc187b6e1dacfdd2722a87e83093c2d7bd6e"
revision = "0ffbfd41fbef8ffcf9b62b0b0aa3a5873ed7a4fe"
[[projects]]
name = "golang.org/x/text"
@ -175,7 +182,7 @@
"transport/grpc",
"transport/http"
]
revision = "31ca0e01cd791f07750cb23fc99327721f753290"
revision = "f6d94689cbd71030af1108ddac733886fcae1d75"
[[projects]]
name = "google.golang.org/appengine"
@ -212,7 +219,7 @@
"googleapis/rpc/status",
"protobuf/field_mask"
]
revision = "2a72893556e4d1f6c795a4c039314c9fa751eedb"
revision = "daca94659cb50e9f37c1b834680f2e46358f10b0"
[[projects]]
name = "google.golang.org/grpc"
@ -231,7 +238,9 @@
"internal",
"internal/backoff",
"internal/channelz",
"internal/envconfig",
"internal/grpcrand",
"internal/transport",
"keepalive",
"metadata",
"naming",
@ -241,15 +250,14 @@
"resolver/passthrough",
"stats",
"status",
"tap",
"transport"
"tap"
]
revision = "168a6198bcb0ef175f7dacec0b8691fc141dc9b8"
version = "v1.13.0"
revision = "32fb0ac620c32ba40a4626ddf94d90d12cce3455"
version = "v1.14.0"
[solve-meta]
analyzer-name = "dep"
analyzer-version = 1
inputs-digest = "a3d5d54ffc54113ecaf3060ac9855f71371867737615dfa7654c34676a546271"
inputs-digest = "806889b149b944cab2216a1769d221df9ca18b3b62fb5040e40737fd0550084c"
solver-name = "gps-cdcl"
solver-version = 1

View file

@ -29,6 +29,10 @@
name = "cloud.google.com/go"
version = "0.25.0"
[[constraint]]
name = "contrib.go.opencensus.io/exporter/stackdriver"
version = "0.5.0"
[[constraint]]
name = "github.com/golang/protobuf"
version = "1.1.0"
@ -59,7 +63,7 @@
[[constraint]]
name = "google.golang.org/grpc"
version = "1.13.0"
version = "1.14.0"
[prune]
go-tests = true

5
src/frontend/README.md Normal file
View file

@ -0,0 +1,5 @@
# frontend
Run the following command to restore dependencies to `vendor/` directory:
dep ensure --vendor-only

View file

@ -16,7 +16,6 @@ package main
import (
"fmt"
"frontend/money"
"html/template"
"net/http"
"os"
@ -27,7 +26,8 @@ import (
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
pb "frontend/genproto"
pb "github.com/GoogleCloudPlatform/microservices-demo/src/frontend/genproto"
"github.com/GoogleCloudPlatform/microservices-demo/src/frontend/money"
)
var (

View file

@ -22,10 +22,10 @@ import (
"time"
"cloud.google.com/go/profiler"
"contrib.go.opencensus.io/exporter/stackdriver"
"github.com/gorilla/mux"
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
"go.opencensus.io/exporter/stackdriver"
"go.opencensus.io/plugin/ocgrpc"
"go.opencensus.io/plugin/ochttp"
"go.opencensus.io/plugin/ochttp/propagation/b3"

View file

@ -16,7 +16,8 @@ package money
import (
"errors"
pb "frontend/genproto"
pb "github.com/GoogleCloudPlatform/microservices-demo/src/frontend/genproto"
)
const (

View file

@ -19,7 +19,7 @@ import (
"reflect"
"testing"
pb "frontend/genproto"
pb "github.com/GoogleCloudPlatform/microservices-demo/src/frontend/genproto"
)
func mmc(u int64, n int32, c string) pb.Money { return pb.Money{Units: u, Nanos: n, CurrencyCode: c} }

View file

@ -17,7 +17,7 @@ package main
import (
"context"
pb "frontend/genproto"
pb "github.com/GoogleCloudPlatform/microservices-demo/src/frontend/genproto"
"github.com/pkg/errors"
)