# -------------
# Build stage

FROM golang:1.10-alpine AS build-env


# Install required packages
RUN apk add --no-cache wget git make build-base protobuf protobuf-dev

RUN git clone https://github.com/googleapis/googleapis.git /usr/local/include/googleapis

# Prepare directory structure
RUN ["mkdir", "-p", "/src", "src/protos"]
RUN ["mkdir", "-p", "$GOPATH/src", "$GOPATH/pkg", "$GOPATH/bin"]
RUN ["mkdir", "-p", "$GOPATH/src/github.com/opencord/voltha/protos/go"]

# Install golang protobuf
RUN go get github.com/golang/protobuf/protoc-gen-go
RUN go get google.golang.org/genproto/googleapis/rpc/status
RUN go get google.golang.org/grpc/binarylog/grpc_binarylog_v1

# Copy files
ADD rw_core $GOPATH/src/github.com/opencord/voltha-go/rw_core
ADD common $GOPATH/src/github.com/opencord/voltha-go/common
ADD db $GOPATH/src/github.com/opencord/voltha-go/db
ADD kafka $GOPATH/src/github.com/opencord/voltha-go/kafka
ADD vendor $GOPATH/src/github.com/opencord/voltha-go/vendor
ADD afrouter $GOPATH/src/github.com/opencord/voltha-go/afrouter


# Copy required proto files
# ... VOLTHA proos
ADD protos/*.proto /src/protos/
ADD protos/scripts/* /src/protos/
ADD afrouter/arouter.json /src

#
# Copy generated executables here
WORKDIR $GOPATH/src/github.com/opencord/voltha-go

#RUN ls -ltrR /go/src/github.com/opencord/voltha-go

# Install golang protobuf
#RUN go get github.com/golang/protobuf/protoc-gen-go
#RUN go get google.golang.org/genproto/googleapis/rpc/status
#RUN go get google.golang.org/grpc/binarylog/grpc_binarylog_v1
RUN go install ./vendor/github.com/golang/protobuf/protoc-gen-go

# Compile protobuf files
RUN sh /src/protos/build_protos.sh /src/protos

# Build rw_core
RUN cd afrouter && go build -o /src/afrouter


# -------------
# Image creation stage

FROM alpine:3.6

# Set the working directory
WORKDIR /app

# Copy required files
COPY --from=build-env /src/afrouter /app/
COPY --from=build-env /src/arouter.json /app/
COPY --from=build-env /src/protos/voltha.pb /app/
WORKDIR config
WORKDIR /app

#CMD cd /app && ./arouter -config config/arouter.voltha2.json

# Set the config volume

