Fix set command line options for ANDROID_XXX into scons environment.
authorAshwini Kumar <k.ashwini@samsung.com>
Fri, 3 Jul 2015 12:10:19 +0000 (17:40 +0530)
committerErich Keane <erich.keane@intel.com>
Mon, 27 Jul 2015 18:01:05 +0000 (18:01 +0000)
Due to this the android SDK, NDK and Gradle were downloaded even if
the options are specified on commandline.

Change-Id: I00564d62c8374b73f3b4b75b7d75735d0a49f16f
Signed-off-by: Ashwini Kumar <k.ashwini@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/1513
Reviewed-by: Joseph Morrow <joseph.l.morrow@intel.com>
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Erich Keane <erich.keane@intel.com>
build_common/SConscript
build_common/android/SConscript

index 575288c..b4f26b5 100644 (file)
@@ -92,6 +92,9 @@ help_vars.Add(BoolVariable('LOGGING', 'Enable stack logging', logging_default))
 help_vars.Add(BoolVariable('UPLOAD', 'Upload binary ? (For Arduino)', require_upload))
 help_vars.Add(EnumVariable('BUILD_SAMPLE', 'Build with sample', 'ON', allowed_values=('ON', 'OFF')))
 help_vars.AddVariables(('DEVICE_NAME', 'Network display name for device (For Arduino)', device_name, None, None),)
+help_vars.Add(PathVariable('ANDROID_NDK', 'Android NDK path', None, PathVariable.PathAccept))
+help_vars.Add(PathVariable('ANDROID_HOME', 'Android SDK path', None, PathVariable.PathAccept))
+help_vars.Add(PathVariable('ANDROID_GRADLE', 'Gradle binary file', None, PathVariable.PathIsFile))
 
 AddOption('--prefix',
                   dest='prefix',
index ca96af6..ff75940 100644 (file)
@@ -6,14 +6,20 @@ import platform
 import subprocess
 
 Import('env')
-SConscript('../external_libs.scons')
-SConscript('../../extlibs/android/ndk/SConscript')
-SConscript('../../extlibs/android/gradle/SConscript')
-SConscript('../../extlibs/android/sdk/SConscript')
 
+SConscript('../external_libs.scons')
 help_vars = Variables()
-help_vars.Add(PathVariable('ANDROID_GRADLE', 'Android Gradle directory', os.path.join(env.get('SRC_DIR'), 'extlibs', 'android', 'gradle', 'gradle-2.2.1/bin/gradle')))
-help_vars.Add(PathVariable('ANDROID_NDK', 'Android NDK root directory', os.path.join(env.get('SRC_DIR'), 'extlibs', 'android', 'ndk', 'android-ndk-r10d')))
+if not env.get('ANDROID_NDK'):
+    SConscript('../../extlibs/android/ndk/SConscript')
+    help_vars.Add(PathVariable('ANDROID_NDK', 'Android NDK root directory', os.path.join(env.get('SRC_DIR'), 'extlibs', 'android', 'ndk', 'android-ndk-r10d')))
+
+if not env.get('ANDROID_GRADLE'):
+    SConscript('../../extlibs/android/gradle/SConscript')
+    help_vars.Add(PathVariable('ANDROID_GRADLE', 'Android Gradle directory', os.path.join(env.get('SRC_DIR'), 'extlibs', 'android', 'gradle', 'gradle-2.2.1/bin/gradle')))
+
+if not env.get('ANDROID_HOME'):
+    SConscript('../../extlibs/android/sdk/SConscript')
+
 
 if env.get('ANDROID_NDK'):
        android_ndk = env.get('ANDROID_NDK')
@@ -87,12 +93,14 @@ if not os.path.isfile(ndk_build_cmd):
        Exit(1)
 
 # ANDROID_HOME build option
-help_vars = Variables()
-help_vars.Add(PathVariable('ANDROID_HOME', 'ANDROID SDK root directory', os.environ.get('ANDROID_HOME')))
-help_vars.Update(env)
-Help(help_vars.GenerateHelpText(env))
-
-print '''
+if env.get('ANDROID_HOME'):
+        android_gradle = env.get('ANDROID_HOME')
+else:
+        help_vars = Variables()
+        help_vars.Add(PathVariable('ANDROID_HOME', 'ANDROID SDK root directory', os.environ.get('ANDROID_HOME')))
+        help_vars.Update(env)
+        Help(help_vars.GenerateHelpText(env))
+        print '''
 *************************************** Info **********************************
 *   Environment variable ANDROID_HOME will use default value. To override     *
 * root directory of android sdk, please specify ANDROID_HOME as follows:      *