#!/bin/bash # # Simple AOSP wrapper to run commands in an AOSP docker container # # Author: Kyle Manna # set -e # Override from environment AOSP_IMAGE=${AOSP_IMAGE:-kylemanna/aosp} AOSP_ARGS=${AOSP_ARGS:---rm -it} AOSP_VOL=${AOSP_VOL:-~/aosp-root} AOSP_VOL=${AOSP_VOL%/} # Trim trailing slash if needed AOSP_VOL_AOSP=${AOSP_VOL_AOSP:-$AOSP_VOL/aosp} AOSP_VOL_AOSP=${AOSP_VOL_AOSP%/} # Trim trailing slash if needed AOSP_VOL_CCACHE=${AOSP_VOL_CCACHE:-$AOSP_VOL/ccache} AOSP_VOL_CCACHE=${AOSP_VOL_CCACHE%/} # Trim trailing slash if needed # Convenience function function aosp_create_dir_if_needed { directory=$1 msg="aosp: Checking if $directory exists" echo "$msg" if [ ! -d "$directory" ]; then echo "$msg - unexistent" msg="Creating $directory" echo "$msg" mkdir -p $directory fi echo "$msg - ok" } # Create AOSP_VOL_AOSP aosp_create_dir_if_needed $AOSP_VOL_AOSP aosp_create_dir_if_needed $AOSP_VOL_CCACHE # Set uid and gid to match host current user AOSP_HOST_ID_ARGS="-e USER_ID=$(id -u) -e GROUP_ID=$(id -g)" if [ -n "$SSH_AUTH_SOCK" ]; then SSH_AUTH_ARGS="-v $SSH_AUTH_SOCK:/tmp/ssh_auth -e SSH_AUTH_SOCK=/tmp/ssh_auth" fi echo "" docker run $AOSP_ARGS $AOSP_HOST_ID_ARGS $SSH_AUTH_ARGS $AOSP_EXTRA_ARGS \ -v "$AOSP_VOL_AOSP:/aosp" -v "$AOSP_VOL_CCACHE:/tmp/ccache" \ $AOSP_IMAGE $@