Merge test folder of test branch
[iotivity.git] / test / build / java / SConscript
1 '''
2 /******************************************************************
3 *
4 * Copyright 2018 Samsung Electronics All Rights Reserved.
5 *
6 *
7 *
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
11 *
12 * http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 *
20 ******************************************************************/
21 '''
22
23 print '-----------------------------------------------------------------------'
24 print '---------------Started Building test for Java---------------'
25 print '-----------------------------------------------------------------------'
26
27 import os
28 import SCons.Errors
29 Import('env_java')
30
31 iotivity_root = env_java.get('IOTIVITY_ROOT')
32
33 if not env_java.get('ANDROID_GRADLE'):
34     if os.path.isfile(iotivity_root + '/extlibs/android/gradle/gradle-2.2.1/bin/gradle'):
35         env_java.Replace(ANDROID_GRADLE = iotivity_root + '/extlibs/android/gradle/gradle-2.2.1/bin/gradle')
36     else:
37         env_java.Replace(ANDROID_GRADLE = os.environ.get('ANDROID_GRADLE'))
38
39 target_os = env_java.get('TARGET_OS')
40 iotivity_root = env_java.get('IOTIVITY_ROOT')
41 iotivity_test_root = env_java.get('IOTIVITY_TEST_ROOT')
42
43 target_arch = env_java.get('TARGET_ARCH')
44 module = env_java.get('MODULE')
45 test = env_java.get('test')
46 target_transport = ARGUMENTS.get('TARGET_TRANSPORT')
47 secured = env_java.get('SECURED')
48
49 release_dir=env_java.get('RELEASE_DIR')
50 all_modules = env_java.get('ALL_MODULES')
51 test = env_java.get('TEST')
52 gradle_bin = env_java.get('ANDROID_GRADLE')
53 push = env_java.get('PUSH')
54 push = ",".join(push)
55
56 framework = env_java.get('FRAMEWORK')
57 cloud_service_build = env_java.get('CLOUD_SERVICE')
58 kafka_root = env_java.get('KAFKA_ROOT')
59
60 if not os.path.isfile(gradle_bin):
61     print 'No valid GRADLE found'
62     exit(-1)
63
64 default_targets = []
65
66 if cloud_service_build:
67     if 'ic' in module or 'cs' in module:
68         build_command = 'bash ' + iotivity_test_root + '/res/cloud_resource/cloud_build.sh ' + kafka_root + ' ' + iotivity_root
69         cloud_build = env_java.Command('cloud_build', None, build_command)
70         default_targets += [cloud_build]
71
72 for temp in list(set(all_modules) - set(['iut', 'ca'])):
73     if temp in module:
74         jdk_env = Environment(ENV=os.environ)
75         build_command = gradle_bin + ' ' + 'install' + ' -b ' + iotivity_test_root \
76         + '/build/java/build.gradle -Pmodule_name=%s -Pos=%s -Parch=%s -Prelease=%s -Piotivity_root=%s -Ptest_root=%s -Psrc_type=%s -Ptest=%s'\
77          %(temp, target_os, target_arch, release_dir, iotivity_root, iotivity_test_root, "java", test)
78
79         print '-----------------------------------------------------------------------'
80         print "\nBuild Command :\n" + build_command
81         print '-----------------------------------------------------------------------'
82
83         if 'tc' in test:
84             jdk_env['BUILDERS']['Gradle'] = Builder(action = build_command)
85             source_list = Glob(iotivity_test_root + '/src/tc/' + temp + '/junit/*.java')
86             junit_tc = jdk_env.Gradle(target='junit_tc', source=source_list)
87             default_targets += junit_tc
88
89 unsupported_modules = ['ca', 're', 'rc', 'es', 'ns', 'chp', 'rd', 'sm']
90 for target_module in module:
91     if target_module in unsupported_modules:
92         print target_module + ' Module not supported in Java'
93         Exit(1)
94
95 env_java.Default(default_targets)