コード例 #1
0
    def build(work_dir):
        import biplist
        config = biplist.readPlist(os.path.join(work_dir, 'config.plist'))
        curdir = config['work_dir'] if 'work_dir' in config else work_dir

        build_dir = os.path.join(curdir, 'build')
        shutil.rmtree(build_dir)
        shutil.copytree(config['resource_dir'], build_dir)

        assets_dir = os.path.join(config['project_dir'], 'assets')
        for fn in os.listdir(assets_dir):
            if fn in config['keeps']:
                continue
            fp = os.path.join(assets_dir, fn)
            if os.path.isfile(fp):
                os.remove(fp)
            elif os.path.isdir(fp):
                shutil.rmtree(fp)

        skin_dir = os.path.join(config['project_dir'], 'skin')
        FS.merge_tree(skin_dir, build_dir)

        template_dir = os.path.join(curdir, 'template',
                                    config['template_name'])
        white_list = FS.walk_files(template_dir, cut=len(template_dir) + 1)
        FS.moveto_dir(build_dir, assets_dir, white_list)
        FS.rm_empty_dirs(build_dir)

        zip_path = shutil.make_archive(build_dir, 'zip', build_dir)
        obb_path = os.path.join(
            build_dir, 'main.%s.%s.obb' % (config['version'], config['appid']))
        shutil.move(zip_path, obb_path)

        print('make obb done =>', obb_path)
コード例 #2
0
ファイル: MakeAsset.py プロジェクト: atom-chen/joli-hipy
def make_resource(make_dir, source_dir, target_dir):
    if os.path.isdir(make_dir):
        shutil.rmtree(make_dir)
    shutil.copytree(source_dir, make_dir)
    FS.merge_tree(os.path.join(target_dir, 'skin'), make_dir)
    shutil.copy2(os.path.join(target_dir, 'sdk.json'), make_dir)