diff --git a/jenkins_jobs/modules/builders.py b/jenkins_jobs/modules/builders.py index 4ace5d463..8e0c155fa 100644 --- a/jenkins_jobs/modules/builders.py +++ b/jenkins_jobs/modules/builders.py @@ -183,6 +183,30 @@ def copyartifact(parser, xml_parent, data): XML.SubElement(selector, 'parameterName').text = data['param'] +def change_assembly_version(parser, xml_parent, data): + """yaml: change-assembly-version + Change the assembly version. + Requires the Jenkins `Change Assembly Version. + `_ + + :arg str version: Set the new version number for replace (default 1.0.0) + :arg str assemblyFile: The file name to search (default AssemblyInfo.cs) + + Example: + + .. literalinclude:: \ + /../../tests/builders/fixtures/changeassemblyversion001.yaml + :language: yaml + """ + + cav_builder_tag = 'org.jenkinsci.plugins.changeassemblyversion.' \ + 'ChangeAssemblyVersion' + cav = XML.SubElement(xml_parent, cav_builder_tag) + XML.SubElement(cav, 'task').text = data.get('version', '1.0.0') + XML.SubElement(cav, 'assemblyFile').text = str( + data.get('assembly-file', 'AssemblyInfo.cs')) + + def ant(parser, xml_parent, data): """yaml: ant Execute an ant target. Requires the Jenkins `Ant Plugin. diff --git a/setup.cfg b/setup.cfg index ba8e98ef2..1f2cdda83 100644 --- a/setup.cfg +++ b/setup.cfg @@ -44,6 +44,7 @@ jenkins_jobs.builders = artifact-resolver=jenkins_jobs.modules.builders:artifact_resolver batch=jenkins_jobs.modules.builders:batch builders-from=jenkins_jobs.modules.builders:builders_from + change-assembly-version=jenkins_jobs.modules.builders:change_assembly_version conditional-step=jenkins_jobs.modules.builders:conditional_step copyartifact=jenkins_jobs.modules.builders:copyartifact critical-block-start=jenkins_jobs.modules.builders:critical_block_start diff --git a/tests/builders/fixtures/changeassemblyversion001.xml b/tests/builders/fixtures/changeassemblyversion001.xml new file mode 100644 index 000000000..f5e9ccb07 --- /dev/null +++ b/tests/builders/fixtures/changeassemblyversion001.xml @@ -0,0 +1,9 @@ + + + + + 1.2.3 + AFile + + + diff --git a/tests/builders/fixtures/changeassemblyversion001.yaml b/tests/builders/fixtures/changeassemblyversion001.yaml new file mode 100644 index 000000000..2ae22c6ee --- /dev/null +++ b/tests/builders/fixtures/changeassemblyversion001.yaml @@ -0,0 +1,4 @@ +builders: + - change-assembly-version: + version: "1.2.3" + assembly-file: "AFile" diff --git a/tests/builders/fixtures/changeassemblyversion002.xml b/tests/builders/fixtures/changeassemblyversion002.xml new file mode 100644 index 000000000..75b79afa1 --- /dev/null +++ b/tests/builders/fixtures/changeassemblyversion002.xml @@ -0,0 +1,9 @@ + + + + + 9.9.9 + AssemblyInfo.cs + + + diff --git a/tests/builders/fixtures/changeassemblyversion002.yaml b/tests/builders/fixtures/changeassemblyversion002.yaml new file mode 100644 index 000000000..3a7d1afa9 --- /dev/null +++ b/tests/builders/fixtures/changeassemblyversion002.yaml @@ -0,0 +1,3 @@ +builders: + - change-assembly-version: + version: "9.9.9"