|  | #!/usr/bin/env bash | 
|  | # Copyright 2013 The Android Open Source Project | 
|  | # | 
|  | # 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. | 
|  |  | 
|  | # Record the current working directory. This allows us to correctly interpret | 
|  | # relative paths | 
|  | CALLED_FROM=$( pwd -P ) | 
|  |  | 
|  | # Record the location of this script. The assumption is that the script is located in the | 
|  | # top-level build directory, so finding the script means finding the build directory. | 
|  | SCRIPTNAME=$(basename "$0") | 
|  | SCRIPTPATH=$( cd "$(dirname "$0")" ; pwd -P ) | 
|  | GRADLE=$SCRIPTPATH/gradlew | 
|  |  | 
|  | # Parameter 1 is the path from the cwd to the sample. | 
|  | SAMPLE_PATH="" | 
|  | if  [ -n "$1" ]; then | 
|  | SAMPLE_PATH=$CALLED_FROM/$1 | 
|  | fi | 
|  |  | 
|  | # Calculate the relative path from the sample location to the main build directory. This | 
|  | # allows us to define build dependencies as relative paths, rather than requiring the developer | 
|  | # to add them to the environment. | 
|  | BUILDPATH=$(perl -e "use File::Spec; print File::Spec->abs2rel(@ARGV)" $SCRIPTPATH $SAMPLE_PATH) | 
|  |  | 
|  | # Same thing for the samples common code: calculate the relative path. | 
|  | SAMPLES_COMMON=$( cd $SCRIPTPATH/../samples/android/common ; pwd -P) | 
|  | COMMONPATH=$(perl -e "use File::Spec; print File::Spec->abs2rel(@ARGV)" $SAMPLES_COMMON $SAMPLE_PATH) | 
|  |  | 
|  | # Launch a Gradle build with the SampleGen creation parameters on the command line | 
|  | # Note: Daemon disabled since the script reads for System.console. This overrides user settings. | 
|  | $GRADLE -b $SCRIPTPATH/build.gradle --info --no-daemon create -Pout=$SAMPLE_PATH \ | 
|  | -PcalledFrom=$CALLED_FROM -PpathToSamplesCommon=$COMMONPATH -PpathToBuild=$BUILDPATH |