aboutsummaryrefslogblamecommitdiffstats
path: root/build/plugins/lj_archive.py
blob: 4af43d80d5bdc9ec4c22ba1d08f6a770e94cbc9d (plain) (tree)
1
2
3
4
5
6
7
8




                                                                                                       
                        

                                  
                        















                                                                                                           
                        

                                  
                        







                                                                                                     
def onlj_archive(unit, *args):
    """
    @usage: LJ_ARCHIVE(NAME Name LuaFiles...)
    Precompile .lua files using LuaJIT and archive both sources and results using sources names as keys
    """

    def iter_luas(data):
        for a in data:
            if a.endswith('.lua'):
                yield a

    def iter_objs(data):
        for a in data:
            s = a[:-3] + 'raw'
            unit.on_luajit_objdump(['OUT', s, a])
            yield s

    luas = list(iter_luas(args))
    objs = list(iter_objs(luas))

    unit.onarchive_by_keys(['DONTCOMPRESS', 'NAME', 'LuaScripts.inc', 'KEYS', ':'.join(luas)] + objs)
    unit.onarchive_by_keys(['DONTCOMPRESS', 'NAME', 'LuaSources.inc', 'KEYS', ':'.join(luas)] + luas)


def onlj_21_archive(unit, *args):
    """
    @usage: LJ_21_ARCHIVE(NAME Name LuaFiles...) # deprecated
    Precompile .lua files using LuaJIT 2.1 and archive both sources and results using sources names as keys
    """

    def iter_luas(data):
        for a in data:
            if a.endswith('.lua'):
                yield a

    def iter_objs(data):
        for a in data:
            s = a[:-3] + 'raw'
            unit.on_luajit_21_objdump(['OUT', s, a])
            yield s

    luas = list(iter_luas(args))
    objs = list(iter_objs(luas))

    unit.onarchive_by_keys(['DONTCOMPRESS', 'NAME', 'LuaScripts.inc', 'KEYS', ':'.join(luas)] + objs)
    unit.onarchive_by_keys(['DONTCOMPRESS', 'NAME', 'LuaSources.inc', 'KEYS', ':'.join(luas)] + luas)