From 5cc16d2d1945f618f03515a5a31333590abec8ed Mon Sep 17 00:00:00 2001 From: hyokeun Date: Mon, 30 Jul 2018 11:24:36 +0900 Subject: [PATCH] Use default debug build. - DA support Write exception messate to log file in case of property error. --- abs | 91 +++++++++++++++++++--------------------------------------- build.template | 7 ++++- 2 files changed, 35 insertions(+), 63 deletions(-) diff --git a/abs b/abs index f561fe2..b44fc79 100755 --- a/abs +++ b/abs @@ -387,55 +387,7 @@ class Sdk(object): if ret: raise LocalError(ret) - def package(self, source, cert=None, pkg_type=None, conf=None): - """SDK CLI package command""" - - if cert is None: cert = 'ABS' - if pkg_type is None: pkg_type = 'tpk' - if conf is None: conf = 'Debug' - - final_app = '' - main_args = ['-t', pkg_type, '-s', cert] - out = '' #logfile - - if conf == 'Release' : - main_args.extend(['--strip', 'on']) - - for i, x in enumerate(source.project_list): - if x['type'] == 'app': - out = '%s\n%s' % (out, \ - self._run('package', main_args + ['--',os.path.join(x['path'],conf)])) - try: - final_app = list_files(os.path.join(x['path'], conf), ext='tpk')[0] - except: - raise LocalError('TPK file not generated for %s.' % x['APPNAME']) - x['out_package'] = final_app - elif x['type'] == 'sharedLib': - self._package_sharedlib(x['path'], conf, x['APPNAME']) - x['out_package'] = list_files(os.path.join(x['path'], conf), ext='zip')[0] - else: - raise LocalError('Not supported project type %s' % x['type']) - - if source.b_multi == True: - extra_args=[] - print 'THIS IS MULTI PROJECT' - for i, x in enumerate(source.project_list): - if x['out_package'] != final_app and x['type'] == 'app': - extra_args.extend(['-r', x['out_package']]) - elif x['type'] == 'sharedLib': - extra_args.extend(['-r', x['out_package']]) - - extra_args.extend(['--', final_app]) - out = self._run('package', main_args + extra_args) - - #TODO: signature validation check failed : Invalid file reference. An unsigned file was found. - print 'Packaging final step again!' - out = self._run('package', main_args + ['--', final_app]) - - #Copy tpk to output directory - shutil.copy(final_app, source.output_dir) - - def package_new(self, source, cert=None, pkg_type=None, conf=None, manual_strip=False): + def package(self, source, cert=None, pkg_type=None, conf='Debug', manual_strip=False): """SDK CLI package command IF Debug + Manual Strip off then generate package-name-debug.tpk IF Debug + Manual Strip on then generate package-name.tpk with custom strip @@ -639,19 +591,29 @@ def argument_parsing(argv): def build_main(args): """Command [build] entry point.""" - my_source = Source(src=args.workspace) - my_source.set_user_options(c_opts=args.c_opts, cpp_opts=args.cpp_opts, link_opts=args.link_opts) - print '-------------------' - print '(%s)' % args.profiletosearch - print '-------------------' - my_sdk = Sdk(sdkpath=args.sdkpath, rootstrap_search=args.profiletosearch) - my_sdk.clean(my_source) - my_sdk.build_native(my_source, rootstrap=args.rootstrap, arch=args.arch, conf=args.conf, jobs=args.jobs) - if args.conf == 'Debug' : - my_sdk.package_new(my_source, pkg_type=args.type, cert=args.cert, conf=args.conf) - my_sdk.package_new(my_source, pkg_type=args.type, cert=args.cert, conf=args.conf, manual_strip=True) - else : - my_sdk.package_new(my_source, pkg_type=args.type, cert=args.cert, conf=args.conf) + try: + my_source = Source(src=args.workspace) + + my_source.set_user_options(c_opts=args.c_opts, cpp_opts=args.cpp_opts, link_opts=args.link_opts) + print '-------------------' + print '(%s)' % args.profiletosearch + print '-------------------' + my_sdk = Sdk(sdkpath=args.sdkpath, rootstrap_search=args.profiletosearch) + my_sdk.clean(my_source) + my_sdk.build_native(my_source, rootstrap=args.rootstrap, arch=args.arch, jobs=args.jobs) + if args.conf == 'Debug' : + my_sdk.package(my_source, pkg_type=args.type, cert=args.cert) + my_sdk.package(my_source, pkg_type=args.type, cert=args.cert, manual_strip=True) + else : + my_sdk.package(my_source, pkg_type=args.type, cert=args.cert, manual_strip=True) + + except Exception as err: + wrk = os.path.join(os.path.abspath(args.workspace), '_abs_out_') + if not os.path.isdir(wrk): + os.makedirs(wrk) + with open(os.path.join(wrk, 'build_EXCEPTION.log'), 'w') as ef: + ef.write('Exception %s' % str(err)) + raise err def main(argv): """Script entry point.""" @@ -672,4 +634,9 @@ if __name__ == '__main__': sys.exit(main(sys.argv)) except Exception, e: print 'Exception %s' % str(e) + #FIXME: Remove hard-coded output directory. + if not os.path.isdir('_abs_out_'): + os.makedirs('_abs_out_') + with open(os.path.join('_abs_out_', 'build_EXCEPTION.log'), 'w') as ef: + ef.write('Exception %s' % repr(e)) sys.exit(1) diff --git a/build.template b/build.template index fcff558..1a749f0 100644 --- a/build.template +++ b/build.template @@ -53,7 +53,12 @@ rs_list=`su - build -c "tizen list rootstrap | grep ${PROFILE}-.*.core.private.* if [ "${PROFILE}" = "da-hfp" ]; then rs_list=`su - build -c "tizen list rootstrap | grep ${PROFILE}-.*device.core.private.* | cut -d ' ' -f 1"` fi -echo $rs_list >> $SHARE_ROOT/rsver +echo $rs_list > $SHARE_ROOT/rsver +if [[ ! $rs_list =~ [0-9]{8}_[0-9] ]]; then + conf=`cat ${SDK_PATH}/tools/smart-build-interface/plugins/${rs_list}.xml` + dateversion=`echo $conf | sed "s/.*(\([0-9]\{8\}_[0-9]\{1\}\).*/\1/"` + echo ${rs_list}.${dateversion} > $SHARE_ROOT/rsver +fi for rs in $rs_list; do echo "BUILDING START TIME: `date`" -- 2.7.4