diff options
author | Alan Conway <aconway@apache.org> | 2008-02-28 14:47:59 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2008-02-28 14:47:59 +0000 |
commit | 8bda6f7e14245e568d5bc99c4354c3551f522bff (patch) | |
tree | 2f3da362ddf48b946d5ac0e21a8f174a23f2717e /cpp/rubygen/generate | |
parent | 564f7fec042784a3dc94d77aabbaeddeab845c7d (diff) | |
download | qpid-python-8bda6f7e14245e568d5bc99c4354c3551f522bff.tar.gz |
Fixed merging of multiple XML files for the same version.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@631987 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/rubygen/generate')
-rwxr-xr-x | cpp/rubygen/generate | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/cpp/rubygen/generate b/cpp/rubygen/generate index d094be4f41..c370d92897 100755 --- a/cpp/rubygen/generate +++ b/cpp/rubygen/generate @@ -20,18 +20,15 @@ EOS end # Create array of specs by version -def parse_specs(specs) - roots={ } - specs.each { |spec| - root=AmqpRoot.new(spec) - ver=root.version - if (roots[ver]) - roots[ver].merge(root) - else - roots[ver]=root - end +def parse_specs(files) + specs=Hash.new { |h,k| h[k]=[] } + files.each { |f| + spec=AmqpRoot.new(File.new(f)) + specs[spec.version] << spec + } + specs.each_pair { |k,v| + specs[k] = v.size==1 ? v.first : AmqpRoot.new(*v.map { |s| s.xml}) } - roots end # Run selected templates |