Files
super-app/Dockerfile
2020-05-04 19:54:08 +05:30

60 lines
2.5 KiB
Docker

FROM gradle:5.6.4-jdk8
USER root
ARG BASE_URL
ARG FLAVOR
ARG RAZORPAY_KEY
ARG RELEASE_STORE_FILE
ARG RELEASE_STORE_PASSWORD
ARG RELEASE_KEY_PASSWORD
ARG RELEASE_KEY_ALIAS
ARG NEXUS_URL
ARG NEXUS_USERNAME
ARG NEXUS_PASSWORD
ENV SDK_URL="https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip" \
ANDROID_HOME="/android" \
WORK_DIR="/android/navi" \
ANDROID_APK_DIR="app/build/outputs/apk" \
ANDROID_VERSION=29 \
ANDROID_BUILD_TOOLS_VERSION=29.0.2
RUN mkdir "$ANDROID_HOME" .android \
&& cd "$ANDROID_HOME" \
&& curl -o sdk.zip $SDK_URL \
&& unzip sdk.zip \
&& rm sdk.zip \
&& mkdir "$ANDROID_HOME/licenses" || true \
&& echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > "$ANDROID_HOME/licenses/android-sdk-license" \
&& yes | $ANDROID_HOME/tools/bin/sdkmanager --licenses
RUN $ANDROID_HOME/tools/bin/sdkmanager --update
RUN $ANDROID_HOME/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
"platforms;android-${ANDROID_VERSION}" \
"platform-tools"
RUN apt-get update && apt-get install build-essential -y && apt-get install file -y && apt-get install apt-utils -y
COPY . $WORK_DIR
WORKDIR $WORK_DIR
RUN echo ${RELEASE_STORE_FILE} | base64 -d >> app/navi-release-key.jks
RUN bash -c " \
if [ $FLAVOR = TEST ] ; then \
./gradlew clean :app:testDevDebugUnitTest --tests com.naviapp.CleanupCustomers executeDevDebugTestsOnBrowserstack; \
\
elif [ $FLAVOR = DEV ] ; then \
./gradlew clean \
assembleDev -PBASE_URL=${BASE_URL} -PFLAVOR=${FLAVOR} -PRELEASE_STORE_PASSWORD=${RELEASE_STORE_PASSWORD} -PRELEASE_KEY_PASSWORD=${RELEASE_KEY_PASSWORD} -PRELEASE_KEY_ALIAS=${RELEASE_KEY_ALIAS} ; \
\
elif [ $FLAVOR = QA ] ; then \
./gradlew clean \
assembleQa -PBASE_URL=${BASE_URL} -PFLAVOR=${FLAVOR} -PRELEASE_STORE_PASSWORD=${RELEASE_STORE_PASSWORD} -PRELEASE_KEY_PASSWORD=${RELEASE_KEY_PASSWORD} -PRELEASE_KEY_ALIAS=${RELEASE_KEY_ALIAS} ; \
\
elif [ $FLAVOR = PROD ] ; then \
./gradlew clean \
assembleProd -PBASE_URL=${BASE_URL} -PRAZORPAY_KEY=${RAZORPAY_KEY} -PMOENGAGE_KEY=${MOENGAGE_KEY} -PAPPSFLYER_KEY=${APPSFLYER_KEY} -PFLAVOR=${FLAVOR} -PRELEASE_STORE_PASSWORD=${RELEASE_STORE_PASSWORD} -PRELEASE_KEY_PASSWORD=${RELEASE_KEY_PASSWORD} -PRELEASE_KEY_ALIAS=${RELEASE_KEY_ALIAS} ; \
\
else echo 'ERROR: Flavor not mentioned' ; \
fi ;"
RUN bash -c "if [ $FLAVOR != TEST ] ; then ./gradlew uploadArchives -PFLAVOR=${FLAVOR} -PNEXUS_URL=${NEXUS_URL} -PNEXUS_USERNAME=${NEXUS_USERNAME} -PNEXUS_PASSWORD=${NEXUS_PASSWORD} ; fi ;"