build.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:ti-onesignal-sdk 作者: MatiseAms 项目源码 文件源码
def compile_js(manifest,config):
    js_file = os.path.join(cwd,'assets','nl.matise.onesignal.js')
    if not os.path.exists(js_file):
        js_file = os.path.join(cwd,'..','assets','nl.matise.onesignal.js')
    if not os.path.exists(js_file): return

    from compiler import Compiler
    try:
        import json
    except:
        import simplejson as json

    compiler = Compiler(cwd, manifest['moduleid'], manifest['name'], 'commonjs')
    root_asset, module_assets = compiler.compile_module()

    root_asset_content = """
%s

    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[0]);
""" % root_asset

    module_asset_content = """
%s

    NSNumber *index = [map objectForKey:path];
    if (index == nil) {
        return nil;
    }
    return filterDataInRange([NSData dataWithBytesNoCopy:data length:sizeof(data) freeWhenDone:NO], ranges[index.integerValue]);
""" % module_assets

    from tools import splice_code

    assets_router = os.path.join(cwd,'Classes','NlMatiseOnesignalModuleAssets.m')
    splice_code(assets_router, 'asset', root_asset_content)
    splice_code(assets_router, 'resolve_asset', module_asset_content)

    # Generate the exports after crawling all of the available JS source
    exports = open('metadata.json','w')
    json.dump({'exports':compiler.exports }, exports)
    exports.close()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号