diff --git a/scripts/build/package/package.py b/scripts/build/package/package.py index 3b80b93c2d..9225264a75 100755 --- a/scripts/build/package/package.py +++ b/scripts/build/package/package.py @@ -10,10 +10,8 @@ # import os import sys -import glob_to_regex import zipfile import timeit -import stat import progressbar from optparse import OptionParser from PackageEnv import PackageEnv @@ -26,18 +24,6 @@ from glob3 import glob def package(options): package_env = PackageEnv(options.platform, options.type, options.package_env) - engine_root = package_env.get('ENGINE_ROOT') - - if not package_env.get('SKIP_SCRUBBING'): - # Ask the validator code to tell us which files need to be removed from the package - prohibited_file_mask = get_prohibited_file_mask(options.platform, engine_root) - - # Scrub files. This is destructive, but is necessary to allow the current file existance checks to work properly. Better to copy and then build, or to - # mask on sync, but this is what we have for now - scrub_files(package_env, prohibited_file_mask) - - # validate files - validate_restricted_files(options.platform, options.type, package_env) # Override values in bootstrap.cfg for PC package override_bootstrap_cfg(package_env) @@ -93,61 +79,6 @@ def override_bootstrap_cfg(package_env): print('{} updated with value {}'.format(bootstrap_path, replace_values)) -def get_prohibited_file_mask(platform, engine_root): - sys.path.append(os.path.join(engine_root, 'Tools', 'build', 'JenkinsScripts', 'distribution', 'scrubbing')) - from validator_data_LEGAL_REVIEW_REQUIRED import get_prohibited_platforms_for_package - - # The list of prohibited platforms is controlled by the validator on a per-package basis - prohibited_platforms = get_prohibited_platforms_for_package(platform) - prohibited_platforms.append('all') - excludes_list = [] - for p in prohibited_platforms: - platform_excludes = glob_to_regex.generate_excludes_for_platform(engine_root, p) - excludes_list.extend(platform_excludes) - prohibited_file_mask = re.compile('|'.join(excludes_list), re.IGNORECASE) - return prohibited_file_mask - - -def scrub_files(package_env, prohibited_file_mask): - print('Perform the Code Scrubbing') - engine_root = package_env.get('ENGINE_ROOT') - - success = True - for dirname, subFolders, files in os.walk(engine_root): - for filename in files: - full_path = os.path.join(dirname, filename) - if prohibited_file_mask.match(full_path): - try: - print('Deleting: {}'.format(full_path)) - os.chmod(full_path, stat.S_IWRITE) - os.unlink(full_path) - except: - e = sys.exc_info()[0] - sys.stderr.write('Error: could not delete {} ... aborting.\n'.format(full_path)) - sys.stderr.write('{}\n'.format(str(e))) - success = False - if not success: - sys.stderr.write('ERROR: scrub_files failed\n') - sys.exit(1) - - -def validate_restricted_files(package_platform, package_type, package_env): - print('Perform the Code Scrubbing') - engine_root = package_env.get('ENGINE_ROOT') - - # Run validator - success = True - validator_path = os.path.join(engine_root, 'Tools/build/JenkinsScripts/distribution/scrubbing/validator.py') - python = get_python_path(package_env) - args = [python, validator_path, '--package_platform', package_platform, '--package_type', package_type, engine_root] - return_code = safe_execute_system_call(args) - if return_code != 0: - success = False - if not success: - error('Restricted file validator failed.') - print('Restricted file validator completed successfully.') - - def cmake_build(package_env): build_targets = package_env.get('BUILD_TARGETS') for build_target in build_targets: @@ -161,15 +92,7 @@ def create_package(package_env, package_target): if file_list_type == 'All': filelist = os.path.join(cur_dir, 'package_filelists', package_target['FILE_LIST']) else: - # Search non-restricted platform first filelist = os.path.join(cur_dir, 'Platform', file_list_type, 'package_filelists', package_target['FILE_LIST']) - if not os.path.exists(filelist): - engine_root = package_env.get('ENGINE_ROOT') - # Use real path in case engine root is a symlink path - if os.name == 'posix' and os.path.islink(engine_root): - engine_root = os.readlink(engine_root) - rel_path = os.path.relpath(cur_dir, engine_root) - filelist = os.path.join(engine_root, 'restricted', file_list_type, rel_path, 'package_filelists', package_target['FILE_LIST']) with open(filelist, 'r') as source: data = json.load(source) lyengine = package_env.get('ENGINE_ROOT') @@ -296,7 +219,3 @@ def parse_args(): if __name__ == "__main__": (options, args) = parse_args() package(options) - - - -