aboutsummaryrefslogtreecommitdiffhomepage
path: root/templates
diff options
context:
space:
mode:
authorGravatar Eric Gribkoff <ericgribkoff@google.com>2017-06-29 15:23:43 -0700
committerGravatar Eric Gribkoff <ericgribkoff@google.com>2017-06-30 13:54:55 -0700
commite5de5e5ffa2c664ca1d6ac09c3761a03a1500cb0 (patch)
tree6520d2f2c2c7e2a1ab5085f2e8da6a45e76c42de /templates
parent96e51c8e56f80810ae4b3cac184deff7a2128be1 (diff)
Run Android interops on Firebase
Diffstat (limited to 'templates')
-rw-r--r--templates/tools/dockerfile/interoptest/grpc_interop_android_java/Dockerfile.template78
1 files changed, 78 insertions, 0 deletions
diff --git a/templates/tools/dockerfile/interoptest/grpc_interop_android_java/Dockerfile.template b/templates/tools/dockerfile/interoptest/grpc_interop_android_java/Dockerfile.template
new file mode 100644
index 0000000000..3f5b6cf6ce
--- /dev/null
+++ b/templates/tools/dockerfile/interoptest/grpc_interop_android_java/Dockerfile.template
@@ -0,0 +1,78 @@
+%YAML 1.2
+--- |
+ # Copyright 2017 gRPC authors.
+ #
+ # Licensed under the Apache License, Version 2.0 (the "License");
+ # you may not use this file except in compliance with the License.
+ # You may obtain a copy of the License at
+ #
+ # http://www.apache.org/licenses/LICENSE-2.0
+ #
+ # Unless required by applicable law or agreed to in writing, software
+ # distributed under the License is distributed on an "AS IS" BASIS,
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+
+ FROM debian:jessie
+
+ # Install JDK 8 and Git
+ RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections && ${'\\'}
+ echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list && ${'\\'}
+ echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list && ${'\\'}
+ apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
+ RUN apt-get update && apt-get -y install ${'\\'}
+ git ${'\\'}
+ libapr1 ${'\\'}
+ oracle-java8-installer ${'\\'}
+ && ${'\\'}
+ apt-get clean && rm -r /var/cache/oracle-jdk8-installer/
+ ENV JAVA_HOME /usr/lib/jvm/java-8-oracle
+ ENV PATH $PATH:$JAVA_HOME/bin
+
+ # Install protobuf
+ RUN apt-get update && apt-get install -y ${'\\'}
+ autoconf ${'\\'}
+ build-essential ${'\\'}
+ curl ${'\\'}
+ gcc ${'\\'}
+ libtool ${'\\'}
+ unzip ${'\\'}
+ && ${'\\'}
+ apt-get clean
+ WORKDIR /
+ RUN git clone https://github.com/google/protobuf.git
+ WORKDIR /protobuf
+ RUN git checkout v3.3.1 && ${'\\'}
+ ./autogen.sh && ${'\\'}
+ ./configure && ${'\\'}
+ make && ${'\\'}
+ make check && ${'\\'}
+ make install
+
+ # Install gcloud command line tools
+ ENV CLOUD_SDK_REPO "cloud-sdk-jessie"
+ RUN echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && ${'\\'}
+ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && ${'\\'}
+ apt-get update && apt-get install -y google-cloud-sdk && apt-get clean && ${'\\'}
+ gcloud config set component_manager/disable_update_check true
+
+ # Download and install grpc-java
+ WORKDIR /
+ RUN git clone https://github.com/grpc/grpc-java.git
+ WORKDIR /grpc-java
+ RUN ./gradlew install
+
+ # Setup the Android SDK licenses
+ ENV ANDROID_HOME "/grpc-java/android-interop-testing/.android"
+ RUN mkdir -p "<%text>${ANDROID_HOME}</%text>/licenses"
+ RUN echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "<%text>${ANDROID_HOME}</%text>/licenses/android-sdk-license"
+ RUN echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "<%text>${ANDROID_HOME}</%text>/licenses/android-sdk-preview-license"
+
+ # Build the Android interop apks
+ WORKDIR /grpc-java/android-interop-testing
+ RUN ../gradlew assembleDebug
+ RUN ../gradlew assembleDebugAndroidTest
+
+ # Define the default command.
+ CMD ["bash"]