Fix Multiple SCMs Plugin child XML format
Current implementation of Multiple SCMs Plugin seems to be broken. Test with following combination of Jenkins and Multiple SCMs Plugin * Jenkins 2.2 (latest) + multiple-scms 0.6 (latest) * Jenkins 1.651.1 (latest LTS) + multiple-scms 0.6 (latest) * Jenkins 1.409.1 (oldest LTS) + multiple-scms 0.1 (oldest) * Jenkins 1.396 (oldest) + multiple-scms 0.1 (oldest) all emitted XML with following format (apart from `plugin=` here and there): ``` <scm class="org.jenkinsci.plugins.multiplescms.MultiSCM"> <scms> <hudson.scm.SubversionSCM> : </hudson.scm.SubversionSCM> <hudson.scm.CVSSCM> : </hudson.scm.CVSSCM> </scms> </scm> ``` whereas current Jenkins Job Builder implementation emits XML with following format: ``` <scm class="org.jenkinsci.plugins.multiplescms.MultiSCM"> <scms> <scm class="hudson.scm.SubversionSCM"> : </scm> <scm class="hudson.scm.CVSSCM"> : </scm> </scms> </scm> ``` This commit will fix this problem by modifying child `scm` node to a correct format before adding to the parent `scm` node. Change-Id: I0b9115c156a06a7fbdf529341dfc6100edf225aa Signed-off-by: Ryo Tagami <rtagami@airstrip.jp>
This commit is contained in:
parent
ed733a9056
commit
c28ac736be
jenkins_jobs/modules
tests
@ -1240,4 +1240,12 @@ class SCM(jenkins_jobs.modules.base.Base):
|
||||
class_name = 'org.jenkinsci.plugins.multiplescms.MultiSCM'
|
||||
xml_attribs = {'class': class_name}
|
||||
xml_parent = XML.SubElement(xml_parent, 'scm', xml_attribs)
|
||||
|
||||
for scms_child in scms_parent:
|
||||
try:
|
||||
scms_child.tag = scms_child.attrib['class']
|
||||
del(scms_child.attrib['class'])
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
xml_parent.append(scms_parent)
|
||||
|
@ -10,7 +10,7 @@
|
||||
<properties/>
|
||||
<scm class="org.jenkinsci.plugins.multiplescms.MultiSCM">
|
||||
<scms>
|
||||
<scm class="hudson.plugins.git.GitSCM">
|
||||
<hudson.plugins.git.GitSCM>
|
||||
<configVersion>2</configVersion>
|
||||
<userRemoteConfigs>
|
||||
<hudson.plugins.git.UserRemoteConfig>
|
||||
@ -46,8 +46,8 @@
|
||||
<extensions>
|
||||
<hudson.plugins.git.extensions.impl.WipeWorkspace/>
|
||||
</extensions>
|
||||
</scm>
|
||||
<scm class="hudson.plugins.git.GitSCM">
|
||||
</hudson.plugins.git.GitSCM>
|
||||
<hudson.plugins.git.GitSCM>
|
||||
<configVersion>2</configVersion>
|
||||
<userRemoteConfigs>
|
||||
<hudson.plugins.git.UserRemoteConfig>
|
||||
@ -83,7 +83,7 @@
|
||||
<extensions>
|
||||
<hudson.plugins.git.extensions.impl.WipeWorkspace/>
|
||||
</extensions>
|
||||
</scm>
|
||||
</hudson.plugins.git.GitSCM>
|
||||
</scms>
|
||||
</scm>
|
||||
<builders/>
|
||||
|
@ -10,7 +10,7 @@
|
||||
<properties/>
|
||||
<scm class="org.jenkinsci.plugins.multiplescms.MultiSCM">
|
||||
<scms>
|
||||
<scm class="hudson.plugins.repo.RepoScm">
|
||||
<hudson.plugins.repo.RepoScm>
|
||||
<manifestRepositoryUrl>https://example.com/project/</manifestRepositoryUrl>
|
||||
<manifestBranch>stable</manifestBranch>
|
||||
<manifestFile>repo.xml</manifestFile>
|
||||
@ -27,8 +27,8 @@
|
||||
<noTags>false</noTags>
|
||||
<trace>false</trace>
|
||||
<showAllChanges>false</showAllChanges>
|
||||
</scm>
|
||||
<scm class="hudson.plugins.git.GitSCM">
|
||||
</hudson.plugins.repo.RepoScm>
|
||||
<hudson.plugins.git.GitSCM>
|
||||
<configVersion>2</configVersion>
|
||||
<userRemoteConfigs>
|
||||
<hudson.plugins.git.UserRemoteConfig>
|
||||
@ -64,7 +64,7 @@
|
||||
<extensions>
|
||||
<hudson.plugins.git.extensions.impl.WipeWorkspace/>
|
||||
</extensions>
|
||||
</scm>
|
||||
</hudson.plugins.git.GitSCM>
|
||||
</scms>
|
||||
</scm>
|
||||
<builders/>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<project>
|
||||
<scm class="org.jenkinsci.plugins.multiplescms.MultiSCM">
|
||||
<scms>
|
||||
<scm class="hudson.plugins.git.GitSCM">
|
||||
<hudson.plugins.git.GitSCM>
|
||||
<configVersion>2</configVersion>
|
||||
<userRemoteConfigs>
|
||||
<hudson.plugins.git.UserRemoteConfig>
|
||||
@ -38,7 +38,7 @@
|
||||
<extensions>
|
||||
<hudson.plugins.git.extensions.impl.WipeWorkspace/>
|
||||
</extensions>
|
||||
</scm>
|
||||
</hudson.plugins.git.GitSCM>
|
||||
<scm>
|
||||
<scmraw/>
|
||||
</scm>
|
||||
|
Loading…
x
Reference in New Issue
Block a user