예제 #1
0
def freeze(f, output, b2g_root, gaia_branch, gecko_branch, moz_remotes=[], moz_branch=[]):
    node = open_xml(f)
    default_remote = node.find('default').get('remote')
    for p in node.findall('project'):
        if p.get('path') == 'gecko':
            p.set('revision', gecko_branch)
        elif p.get('path') == 'gaia':
            p.set('revision', gaia_branch)
        elif p.get('remote') in moz_remotes:
            p.set('revision', moz_branch)
        elif p.get('remote', None) == None and default_remote in moz_remotes:
            p.set('revision', moz_branch)
        else:
            rev = revision_from_project(os.path.join(b2g_root, p.get('path')))
            if p.get('revision') and p.get('revision') != rev:
                p.set('upstream', p.get('revision'))
            p.set('revision', rev)
    serialize_manifest(node, output)
예제 #2
0
def filter(f, output, filters):
    node = open_xml(f)
    node = filter_manifest(node, filters)
    serialize_manifest(node, output)
예제 #3
0
def cleanup(f, output, filters):
    node = open_xml(f)
    if filters:
        node = filter_manifest(node, filters)
    tidy_remotes(node)
    serialize_manifest(node, output)