Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
FROM ubuntu:18.04 as protoc

WORKDIR /usr/src/protoc

RUN apt-get update \
&& apt-get install -y \
wget unzip \
&& rm -rf /var/lib/apt/lists/*

RUN wget -O /usr/src/protoc/protoc.zip "https://github.com/protocolbuffers/protobuf/releases/download/v3.12.3/protoc-3.12.3-linux-x86_64.zip" \
&& unzip protoc.zip

FROM ubuntu:18.04

RUN apt-get update \
&& apt-get install -y \
python3 python3-pip golang git \
&& pip3 install nose protobuf

RUN apt-get install -y --no-install-recommends \
software-properties-common nodejs npm \
&& rm -rf /var/lib/apt/lists/*

RUN go get -u github.com/golang/protobuf/protoc-gen-go

WORKDIR /usr/src/app

COPY ./nodejs/package.json /usr/src/app/nodejs/package.json
RUN npm --prefix /usr/src/app/nodejs/ install

COPY --from=protoc /usr/src/protoc/bin/protoc /usr/local/bin/protoc
COPY . /usr/src/app

CMD [ "/bin/sh", "./build.sh"]
33 changes: 33 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
cd /usr/src/
git clone https://github.com/google/transit.git
cd /usr/src/app/

mkdir build
rm -rfv build/*
mkdir build/python
mkdir build/java
mkdir build/javascript
mkdir build/go

export PATH=$PATH:/root/go/bin

protoc gtfs-realtime.proto --proto_path /usr/src/transit/gtfs-realtime/proto --python_out=build/python --java_out=build/java --go_out=build/go/
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


cp -R /usr/src/app/nodejs /usr/src/nodejs
cp /usr/src/transit/gtfs-realtime/proto/gtfs-realtime.proto /usr/src/gtfs-realtime.proto
cd /usr/src/nodejs/
npm run buildProto
cp /usr/src/nodejs/gtfs-realtime.js /usr/src/app/build/javascript/gtfs-realtime.js

cp -R /usr/src/app/python /usr/src/python
cp /usr/src/app/build/python/gtfs_realtime_pb2.py /usr/src/python/gtfs_realtime_pb2.py
nosetests /usr/src/python

cp -R /usr/src/app/python /usr/src/python
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Python is here twice

cp /usr/src/app/build/python/gtfs_realtime_pb2.py /usr/src/python/gtfs_realtime_pb2.py
nosetests /usr/src/python

cp -R /usr/src/app/golang /usr/src/golang
cp /usr/src/app/build/go/gtfs-realtime.pb.go /usr/src/golang/gtfs/gtfs-realtime.pb.go
cd /usr/src/golang/gtfs
go test
Loading