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
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."""
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)