def install_jfx_jmods(download_url, target_os_arch): print('\tInstalling JavaFX jmods for platform %s ...' % target_os_arch) zip_file = path.join(config.temp_dir,'javafx-11-0-2-jmods-%s.zip' % target_os_arch) dest_dir = config.native_jmod_dep_dir.replace(config.this_os_arch, target_os_arch) util.make_parent_dir(zip_file) download_from_url(download_url, zip_file) unzip_file(zip_file, config.temp_dir) util.make_dir(dest_dir) util.copy_files( util.list_files_by_extension( path.join(config.temp_dir,'javafx-jmods-11.0.2'),'.jmod' ), dest_dir ) print('\t... Installation of %s JavaFX jmods complete.' % target_os_arch)
def compile_module(module_name, source_dir, output_dir, temp_dir, resource_dir=None, module_dependencies=[], javac_exec='javac'): #modular compile example: javac -d out --module-source-path cchall.jmodtest=alt_src_style/cchall.jmodtest/src --module cchall.jmodtest util.make_dir(temp_dir) util.make_dir(output_dir) javac_args = [] javac_args += ['-d', output_dir] if module_dependencies != None and len(module_dependencies) > 0: javac_args += ['--module-path', os.pathsep.join(module_dependencies)] javac_args += ['--module-source-path', '%s=%s' % (module_name, source_dir)] javac_args += ['--module', module_name] _java_command(command=javac_exec, args_list=javac_args, temp_dir=temp_dir) if resource_dir != None: util.copy_tree(file_list=util.list_files(resource_dir), src_root=resource_dir, dest_root=path.join(output_dir, module_name))
def jar_module(module_name, module_version, compile_dir, output_dir, temp_dir, main_class=None, jar_exec='jar'): # modular jar example: ## jar --create --file out/jar/cchall.noise.jar -C out/compile/cchall.noise . ## jar --create --file out/jar/cchall.noisetests.jar --main-class cchall.noisetests.Test1 -C out/compile/cchall.noisetests . ## java --module-path out/jar/cchall.noise.jar:out/jar/cchall.noisetests.jar --module cchall.noisetests util.make_dir(temp_dir) util.make_dir(output_dir) if module_version != None: filename = '%s_V%s.jar' % (module_name, module_version) else: filename = '%s.jar' % (module_name) jar_args = ['--create'] jar_args += ['--file', path.join(output_dir, filename)] if main_class != None: jar_args += ['--main-class', main_class] jar_args += ['-C', compile_dir, '.'] _java_command(command=jar_exec, args_list=jar_args, temp_dir=temp_dir)
def jlink_module(module_name, module_locations, output_dir, temp_dir, main_class=None, jlink_exec='jlink'): # modular jlink example: jlink --output deploy/windows --module-path jmods/windows:out --add-modules cchall.jmodtest util.make_dir(temp_dir) util.make_parent_dir(output_dir) if path.exists(output_dir): # jlink forbids using an already existing dir for some reason shutil.rmtree(output_dir) jlink_args = [] jlink_args += ['--output', output_dir] jlink_args += ['--module-path', module_name] jlink_args += ['--module-path', os.pathsep.join(module_locations)] jlink_args += ['--add-modules', module_name] if main_class != None: jlink_args += [ '--launcher', 'launch=%s/%s' % (module_name, main_class) ] _java_command(command=jlink_exec, args_list=jlink_args, temp_dir=temp_dir)
print('\tInstalling JavaFX jmods for platform %s ...' % target_os_arch) zip_file = path.join(config.temp_dir,'javafx-11-0-2-jmods-%s.zip' % target_os_arch) dest_dir = config.native_jmod_dep_dir.replace(config.this_os_arch, target_os_arch) util.make_parent_dir(zip_file) download_from_url(download_url, zip_file) unzip_file(zip_file, config.temp_dir) util.make_dir(dest_dir) util.copy_files( util.list_files_by_extension( path.join(config.temp_dir,'javafx-jmods-11.0.2'),'.jmod' ), dest_dir ) print('\t... Installation of %s JavaFX jmods complete.' % target_os_arch) # util.make_dir(config.temp_dir) util.make_dir(config.build_dir) util.make_dir(config.run_dir) util.make_dir(config.module_dir) with open('.gitignore', 'w', newline='\n') as fout: fout.write("""__pycache__/* %s/* %s/* %s/* %s/* """ % (config.temp_dir, config.build_dir, config.run_dir, config.maven_dep_dir) ) with open('.hgignore', 'w', newline='\n') as fout: fout.write("""syntax:glob __pycache__/* %s/*
from os import path import sys import pyb_util as util import config os.chdir(config.root_dir) if util.check_changed_files(dir_list=config.module_dir, tmp_file=config.timestamp_cachefile) == True: print('file changes detected, re-compiling...') util.shell_command([config.python_exec, 'build.py']) if config.this_os_arch == 'windows-x64': launch_file = path.join(config.build_dir, 'image', config.this_os_arch, 'launch.bat') else: launch_file = path.join(config.build_dir, 'image', config.this_os_arch, 'bin', 'launch') launch_file = path.relpath(launch_file, config.run_dir) util.make_dir(config.run_dir) os.chdir(config.run_dir) util.shell_command([launch_file] + sys.argv[1:]) # done print('\nRUN SUCCESFUL!\n')