Import less of environment for Android/gradle 81/26181/3
authorMats Wichmann <mats@linux.com>
Thu, 5 Jul 2018 13:34:38 +0000 (07:34 -0600)
committerRick Bell <richard.s.bell@intel.com>
Mon, 16 Jul 2018 17:18:34 +0000 (17:18 +0000)
commitd6036ea8ac40ebc56b12db8d6c566531532ad458
tree518dd218dc8372ced56106cf86e26767077e37b2
parent0f8cbf9a89d86e09c58bdc922b2a1db2258f3dd1
Import less of environment for Android/gradle

[In development pending answers to some of the below]

As noted in IOT-2559, the Gradle builder fails unless some of the
environment is passed. Since we didn't know what it needed, the whole env
was passed. This change trims that down to just two environment variables,
JAVA_HOME and ANDROID_HOME, which seems to be sufficient (but see
question following).

This change was only for the top-level java/SConscript, and works for
files which Import('jdk_env'). Note the script under service/ do not do
that import, and set up their own environment using these steps:

os.environ['ANDROID_HOME'] = env.get('ANDROID_HOME')
os.environ['ANDROID_NDK_HOME'] = env.get('ANDROID_NDK')
...
jdk_env = Environment(ENV=os.environ)

So this leaves two questions: should ANDROID_NDK_HOME also be set in the
main java SConscript (android case)?  should these scripts in service/
be modified in a similar way to to also set less env?
That list of scripts is:

service/easy-setup/mediator/richsdk/android/SConscript
service/easy-setup/sampleapp/mediator/android/SConscript
service/notification/android/SConscript
service/notification/examples/android/NotiConsumerExample/SConscript
service/notification/examples/android/NotiProviderExample/SConscript
service/resource-container/android/SConscript
service/resource-encapsulation/android/SConscript

Another question not directly part of this patch but noticed while looking
at it: in java/SConscript the Gradle builder is defined, then redefined
using a different syntax.  The first is for building library/API code,
the second for examples.  Since other scripts import the environment
which defines this builder, that doesn't seem like a really great idea
although it works as things are currently structures. Wouldn't it
be better to define two distinct builders?

Bug: https://jira.iotivity.org/browse/IOT-2559
Change-Id: Ib7bafb1ef2b24491718020e497ddeabcc87b44b2
Signed-off-by: Mats Wichmann <mats@linux.com>
java/SConscript