def create_sdk_zip_31(): print "Creating sdk zip for 3.1 .." platforms = ['30armv5'] build_utils.create_clean_env('\\Epoc32_3.1.zip') sdk_zip_name = deliverables_name['32']['sdk_zip_name'][1] % \ (version, version_tag) build_utils.unzip_file_into_dir(topdir + '\\build\\' + sdk_zip_name, '\\') # Building only the socket do_setupdotpy_configure('unsigned_high_capas', platforms[0]) run_cmd('python setup.py build ext\\amaretto\\socket\\group') create_and_move_zip('31') test_sdk_zip('_3_1') shutil.rmtree("\\epoc32")
def test_sdk_zip(sdk_version): sign_cert = "..\\..\..\\..\\keys\\pythonteam.crt" sign_key = "..\\..\..\\..\\keys\\pythonteam.key" caps_opt = "" if sdk_version == '_3_0': elemlist_sis_name = "elemlist_%s%s_3rdEd_alabs_pythonteam.sis" \ % (version, version_tag) build_utils.create_clean_env('\\Epoc32_3.0.zip') sdk_zip_name = 'Python_%s%s_SDK_3rdEdFP2.zip' % (version, version_tag) caps_opt = ' --caps "%s"' % variants['alabs_pythonteam']['capas'] elif sdk_version == '_3_1': elemlist_sis_name = "elemlist_%s%s_3rdEdFP1_alabs_pythonteam.sis" \ % (version, version_tag) build_utils.create_clean_env('\\Epoc32_3.1.zip') sdk_zip_name = 'Python_%s%s_SDK_3rdEdFP1.zip' % (version, version_tag) caps_opt = ' --caps "%s"' % variants['alabs_pythonteam']['capas'] elif sdk_version == '_3_2': elemlist_sis_name = "elemlist_%s%s_3rdEdFP2_alabs_pythonteam.sis" % \ (version, version_tag) build_utils.create_clean_env('\\Epoc32_3.2.zip') caps_opt = ' --caps "%s"' % variants['alabs_pythonteam']['capas'] sdk_zip_name = 'Python_%s%s_SDK_3rdEdFP2.zip' % (version, version_tag) build_utils.unzip_file_into_dir(topdir + '\\build\\' + sdk_zip_name, '\\') cmd_test = 'python setup.py test --testset-size 350 --sdk-version %s' % \ sdk_version run_cmd(cmd_test, exception_on_error=0) run_cmd('python setup.py configure --sdk 30armv5') run_cmd('python setup.py build extras\\elemlist\\group') run_cmd('python setup.py configure --sdk 30gcce' + caps_opt) run_cmd('python setup.py build extras\\elemlist\\group') os.chdir('extras\\elemlist\\group') try: run_cmd('makesis elemlist.pkg') run_cmd('signsis elemlist.sis %s %s %s' % (elemlist_sis_name, sign_cert, sign_key)) shutil.copy( elemlist_sis_name, '%s\\test\\%s' % (python_readybuild_dir, elemlist_sis_name)) finally: os.chdir(topdir)
def release_build(): global platforms global gflavors global without_src_zip global installer global variants global internal_proj global build_profile build_profile = 'release' #Build for emu first and then build for device gflavors = ['unsigned_alabs', 'alabs_pythonteam'] platforms = ['30armv5'] do_clean_and_build_emu('white_choco', platforms, run_regrtest=False) # When run-interpretertimer is built using GCCE on 3.0SDK the compilation # fails as it complains that the application is nested too deeply in the # drive. The same error is not seen on 3.2SDK. To workaround this 3.0SDK # quirk we don't build internal projects instead of the arduous task of # either renaming the exe or moving the project somewhere else. orig_internal_proj_value = internal_proj internal_proj = False build_device_and_move_sis(gflavors, ['30gcce'], create_sis=False) internal_proj = orig_internal_proj_value build_device_and_move_sis(gflavors, platforms, False) run_cmd('python setup.py generate_ensymble') create_and_move_zip('30armv5') # Building for 3.2 sdk platforms = ['32'] build_utils.create_clean_env('\\Epoc32_3.2.zip') sdk_zip_name = deliverables_name['30armv5']['sdk_zip_name'][1] % \ (version, version_tag) final_sdk_zip_name = deliverables_name['32']['sdk_zip_name'][1] % \ (version, version_tag) os.rename(topdir + '\\build\\' + sdk_zip_name, topdir + '\\build\\' + final_sdk_zip_name) build_utils.unzip_file_into_dir( topdir + '\\build' + '\\Python_SDK_3rdEd_temp.zip', '\\') # Building only scriptext, sensorfw and iad_client on 3.2 proj = [ '..\\internal-src\\scriptext\\group', 'ext\\sensorfw\\group', '..\\internal-src\\iad_client\\group' ] # Configure for 3.2 sdk do_setupdotpy_configure('unsigned_alabs', platforms[0]) for x in proj: run_cmd('python setup.py build ' + x) create_deliverables_using_elftran(platforms[0], gflavors, True) code_size.updatelog( "3.0", python_readybuild_dir + "\\" + deliverables_name['30armv5']['python_dll_sis_name'][1] % (version, version_tag, gflavors[0]), "C:\\Program Files\\CruiseControl\\logs\\codesize_metrics.log") delete_file(topdir + '\\build\\Python_SDK_3rdEd_temp.zip') pyd_path = '\\epoc32\\release\\winscw\\udeb\\' zip_object = zipfile.ZipFile(topdir + '\\build\\' + final_sdk_zip_name, 'a') zip_object.write(pyd_path + 'kf_scriptext.pyd', pyd_path + 'kf_scriptext.pyd') zip_object.close() run_cmd('python setup.py generate_ensymble') generate_scriptshell_sis() test_sdk_zip('_3_2') thread_pool = [] cmd_remote_buid = 'test_device_remote --work-area ' + \ python_readybuild_dir build_commands = ['generate_docs', 'coverage', cmd_remote_buid] for x, command in enumerate(build_commands): thread_pool.append(RunBuildCmd(command)) thread_pool[x].setName(command) for threads in thread_pool: threads.start() for threads in thread_pool: threads.join() if threads.getName() == 'generate_docs': t = BuildInstaller() t.start() t.join() create_sdk_zip_31() build_utils.create_clean_env('\\Epoc32_3.0.zip') if without_src_zip == False: # Create src zip zipname = '%s\\' % (python_readybuild_dir) + \ 'pys60-%s%s_src.zip' % (version, version_tag) create_archive_from_directory(zipname, os.getcwd(), 'src')