diff options
author | Paul Sokolovsky <paul.sokolovsky@linaro.org> | 2012-01-20 21:25:03 +0200 |
---|---|---|
committer | Paul Sokolovsky <paul.sokolovsky@linaro.org> | 2012-01-20 21:25:03 +0200 |
commit | c78ff48e1a12dfe0032a34dcca4da8cec2066a0a (patch) | |
tree | f933e1830834f378ce884e389e49bc9cb5e30618 /utils/seeded-builds | |
parent | 104d2ced202d4f7a8853b39edfb89260d106f7af (diff) |
Repo doesn't allow duplicate projects (bu name) in one manifest.
Also, sort remotes and projects in the result output.
Diffstat (limited to 'utils/seeded-builds')
-rwxr-xr-x | utils/seeded-builds/manifest-union | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/utils/seeded-builds/manifest-union b/utils/seeded-builds/manifest-union index 8966212..b1e46bd 100755 --- a/utils/seeded-builds/manifest-union +++ b/utils/seeded-builds/manifest-union @@ -42,7 +42,8 @@ class Manifest: name = project_node.getAttribute("name") revision = project_node.getAttribute("revision") path = project_node.getAttribute("path") - key = (remote, name, revision, path) +# key = (remote, name, revision, path) + key = (remote, name) if key in self.project_map: return False self.project_map[key] = project_node @@ -80,12 +81,16 @@ def union(manifest_files): def dump(manifest, out): + + def sort_by_name(n1, n2): + return cmp(n1.getAttribute("name"), n2.getAttribute("name")) + out.write("""\ <?xml version="1.0" encoding="UTF-8"?> <manifest> """) - for r in manifest.get_remotes(): + for r in sorted(manifest.get_remotes(), sort_by_name): out.write(r.toxml()) out.write("\n") out.write("\n") @@ -93,7 +98,7 @@ def dump(manifest, out): out.write(manifest.get_default().toxml()) out.write("\n\n") - for p in manifest.get_projects(): + for p in sorted(manifest.get_projects(), sort_by_name): out.write(p.toxml()) out.write("\n") out.write("""\ |