X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=android%2Fandroid_api%2FSConscript;h=7e7914481a5ead521fb3756a1257c81bac42e1ec;hb=8229635f6d207516ccbbdf23b13be164e0fc1787;hp=f2bc8512aa31c7a1682f035145169ae7bb8c2a75;hpb=659142c01b7a3a0dcfd1c84c00c50b48913539c5;p=platform%2Fupstream%2Fiotivity.git diff --git a/android/android_api/SConscript b/android/android_api/SConscript index f2bc851..7e79144 100644 --- a/android/android_api/SConscript +++ b/android/android_api/SConscript @@ -9,18 +9,66 @@ if env.get('RELEASE'): ANDROID_RELEASE="release" else: ANDROID_RELEASE="debug" +ANDROID_SECURED = env.get('SECURED') + +if env.get('WITH_CLOUD'): + ANDROID_CLOUD=1 +else: + ANDROID_CLOUD=0 + +if env.get('WITH_TCP'): + ANDROID_TCP=1 +else: + ANDROID_TCP=0 + +ANDROID_MQ = env.get('WITH_MQ') +ANDROID_MQ_SUB = 0 +ANDROID_MQ_PUB = 0 +ANDROID_MQ_BROKER = 0 +ANDROID_RD_MODE = env.get('RD_MODE') +ANDROID_TRANSPORT = env.get('TARGET_TRANSPORT') +ANDROID_TRANSPORT_EDR = 0 +ANDROID_TRANSPORT_BLE = 0 +ANDROID_TRANSPORT_NFC = 0 + +if 'SUB' in ANDROID_MQ: + ANDROID_MQ_SUB = 1 +if 'PUB' in ANDROID_MQ: + ANDROID_MQ_PUB = 1 +if 'BROKER' in ANDROID_MQ: + ANDROID_MQ_BROKER = 1 + +if 'ALL' in ANDROID_TRANSPORT: + ANDROID_TRANSPORT_EDR = 1 + ANDROID_TRANSPORT_BLE = 1 + ANDROID_TRANSPORT_NFC = 1 + print "Android Transport is ALL" +else: + if 'BT' in ANDROID_TRANSPORT: + ANDROID_TRANSPORT_EDR = 1 + if 'BLE' in ANDROID_TRANSPORT: + ANDROID_TRANSPORT_BLE = 1 + if 'NFC' in ANDROID_TRANSPORT: + ANDROID_TRANSPORT_NFC = 1 os.environ['ANDROID_HOME'] = env.get('ANDROID_HOME') os.environ['ANDROID_NDK_HOME'] = env.get('ANDROID_NDK') -if not os.path.exists(android_home + '/platforms/android-21') or not os.path.exists(android_home + '/build-tools/20.0.0'): +if ('ALL' in ANDROID_TRANSPORT) or ('BLE' in ANDROID_TRANSPORT): + ANDROID_API_LEVEL = '22' + ANDROID_VER = '5.1' +else: + ANDROID_API_LEVEL = '21' + ANDROID_VER = '5.0.1' + +if not os.path.exists(android_home + '/platforms/android-' + ANDROID_API_LEVEL) or not os.path.exists(android_home + '/build-tools/20.0.0'): print ''' ***************************************** Info ******************************** -* Either 'Android API 21' is not installed or 'Android SDK Build Tools * +* Either 'Android API %s' is not installed or 'Android SDK Build Tools * * 20.0.0' is not installed. The Android SDK Manager will now open. Please * * be sure to deselect all options, then select the following 2 packages: * * 1. Under "Tools" select "Android SDK Build-tools" Revision 20. * -* 2. Under "Android 5.0.1 (API 21)" select "SDK Platform" * +* 2. Under "Android %s (API %s)" select "SDK Platform" * * 3. Continue by selecting "Install 2 Packages" * * * * NOTE: If you have an http proxy, please press ctrl+c now and edit/create * @@ -39,13 +87,22 @@ if not os.path.exists(android_home + '/platforms/android-21') or not os.path.exi ******************************************************************************* ...Opening Android SDK Manager now. Once you are finished, the build will continue. -''' +''' % (ANDROID_API_LEVEL, ANDROID_VER, ANDROID_API_LEVEL) os.system(android_home + '/tools/android') def ensure_libs(target, source, env): return target, [source, env.get('BUILD_DIR') + 'liboc.so', env.get('BUILD_DIR') + 'liboc_logger.so'] +# build android_api jdk_env = Environment(ENV=os.environ) -jdk_env['BUILDERS']['Gradle'] = Builder(action = env.get('ANDROID_GRADLE') + ' build -b' + os.getcwd()+'/build.gradle -PTARGET_ARCH=%s -PRELEASE=%s --stacktrace' %(ANDROID_TARGET_ARCH, ANDROID_RELEASE), emitter = ensure_libs) +jdk_env['BUILDERS']['Gradle'] = Builder(action = env.get('ANDROID_GRADLE') + ' build -b' + os.getcwd()+'/build.gradle -PWITH_TRANSPORT_EDR=%s -PWITH_TRANSPORT_BLE=%s -PWITH_TRANSPORT_NFC=%s -PTARGET_ARCH=%s -PRELEASE=%s -PSECURED=%s -DSECURE=%s -PWITH_CLOUD=%s -PRD_MODE=%s -PWITH_MQ_PUB=%s -PWITH_MQ_SUB=%s -PWITH_MQ_BROKER=%s -PWITH_TCP=%s --stacktrace' %(ANDROID_TRANSPORT_EDR, ANDROID_TRANSPORT_BLE, ANDROID_TRANSPORT_NFC, ANDROID_TARGET_ARCH, ANDROID_RELEASE, ANDROID_SECURED, ANDROID_SECURED, ANDROID_CLOUD, ANDROID_RD_MODE, ANDROID_MQ_PUB, ANDROID_MQ_SUB, ANDROID_MQ_BROKER, ANDROID_TCP), emitter = ensure_libs) jdk_env['BUILD_DIR'] = env.get('BUILD_DIR') -jdk_env.Gradle(target="base/objs", source="base/src/main/java/org/iotivity/base/OcResource.java") +cmdBuildApi=jdk_env.Gradle(target="base/objs", source="base/src/main/java/org/iotivity/base/OcResource.java") + +#jdk_env['BUILDERS']['Gradle'] = Builder(action = env.get('ANDROID_GRADLE') + ' build -b' + 'android/examples/build.gradle -DWITH_TRANSPORT_EDR=%s -DWITH_TRANSPORT_BLE=%s -DWITH_TRANSPORT_NFC=%s -PTARGET_ARCH=%s -PRELEASE=%s -PSECURED=%s -DSECURE=%s -PWITH_CLOUD=%s -PRD_MODE=%s -PWITH_MQ_PUB=%s -PWITH_MQ_SUB=%s -PWITH_MQ_BROKER=%s -PWITH_TCP=%s --stacktrace' %(ANDROID_TRANSPORT_EDR, ANDROID_TRANSPORT_BLE, ANDROID_TRANSPORT_NFC, ANDROID_TARGET_ARCH, ANDROID_RELEASE, ANDROID_SECURED, ANDROID_SECURED, ANDROID_CLOUD, ANDROID_RD_MODE, ANDROID_MQ_PUB, ANDROID_MQ_SUB, ANDROID_MQ_BROKER, ANDROID_TCP)) +#cmdBuildExamples=jdk_env.Gradle(target="../examples/devicediscoveryclient/apk", source="../examples/devicediscoveryclient/src/main/java/org/iotivity/base/examples/DeviceDiscoveryClient.java") + +# android examples require android api to be built before being invoked +#Depends(cmdBuildExamples, cmdBuildApi) + +env.AppendUnique(baseAAR = cmdBuildApi)