diff --git a/jenkins_jobs/modules/builders.py b/jenkins_jobs/modules/builders.py index 1c896a86a..fb557dc0f 100644 --- a/jenkins_jobs/modules/builders.py +++ b/jenkins_jobs/modules/builders.py @@ -205,6 +205,35 @@ def change_assembly_version(parser, xml_parent, data): data.get('assembly-file', 'AssemblyInfo.cs')) +def fingerprint(parser, xml_parent, data): + """yaml: fingerprint + Adds the ability to generate fingerprints as build steps instead of waiting + for a build to complete. Requires the Jenkins :jenkins-wiki:`Fingerprint + Plugin `. + + :arg str targets: Files to fingerprint (default '') + + Full Example: + + .. literalinclude:: + /../../tests/builders/fixtures/fingerprint-full.yaml + :language: yaml + + Minimal Example: + + .. literalinclude:: + /../../tests/builders/fixtures/fingerprint-minimal.yaml + :language: yaml + """ + + fingerprint = XML.SubElement( + xml_parent, 'hudson.plugins.createfingerprint.CreateFingerprint') + fingerprint.set('plugin', 'create-fingerprint') + + mapping = [('targets', 'targets', '')] + convert_mapping_to_xml(fingerprint, data, mapping, fail_required=True) + + def ant(parser, xml_parent, data): """yaml: ant Execute an ant target. Requires the Jenkins :jenkins-wiki:`Ant Plugin diff --git a/tests/builders/fixtures/fingerprint-full.xml b/tests/builders/fixtures/fingerprint-full.xml new file mode 100644 index 000000000..f60cb2f51 --- /dev/null +++ b/tests/builders/fixtures/fingerprint-full.xml @@ -0,0 +1,8 @@ + + + + + module/dist/**/*.zip + + + diff --git a/tests/builders/fixtures/fingerprint-full.yaml b/tests/builders/fixtures/fingerprint-full.yaml new file mode 100644 index 000000000..e80731be3 --- /dev/null +++ b/tests/builders/fixtures/fingerprint-full.yaml @@ -0,0 +1,3 @@ +builders: + - fingerprint: + targets: module/dist/**/*.zip diff --git a/tests/builders/fixtures/fingerprint-minimal.xml b/tests/builders/fixtures/fingerprint-minimal.xml new file mode 100644 index 000000000..c846abe41 --- /dev/null +++ b/tests/builders/fixtures/fingerprint-minimal.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/tests/builders/fixtures/fingerprint-minimal.yaml b/tests/builders/fixtures/fingerprint-minimal.yaml new file mode 100644 index 000000000..55c2dc88d --- /dev/null +++ b/tests/builders/fixtures/fingerprint-minimal.yaml @@ -0,0 +1,2 @@ +builders: + - fingerprint