Add doxygen builder support
Change-Id: I5ebc0f3708cec121e2e514be1a340c82218d429d
This commit is contained in:
parent
05e4ccb3ea
commit
7dc27e9868
@ -773,6 +773,38 @@ def artifact_resolver(parser, xml_parent, data):
|
|||||||
XML.SubElement(ar, 'releaseChecksumPolicy').text = 'warn'
|
XML.SubElement(ar, 'releaseChecksumPolicy').text = 'warn'
|
||||||
|
|
||||||
|
|
||||||
|
def doxygen(parser, xml_parent, data):
|
||||||
|
"""yaml: doxygen
|
||||||
|
Builds doxygen HTML documentation. Requires the Jenkins
|
||||||
|
:jenkins-wiki:`Doxygen plugin <Doxygen+Plugin>`.
|
||||||
|
|
||||||
|
:arg str doxyfile: The doxyfile path (required)
|
||||||
|
:arg str install: The doxygen installation to use (required)
|
||||||
|
:arg bool ignore-failure: Keep executing build even on doxygen generation
|
||||||
|
failure (default false)
|
||||||
|
:arg bool unstable-warning: Mark the build as unstable if warnings are
|
||||||
|
generated (default false)
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
.. literalinclude:: /../../tests/builders/fixtures/doxygen001.yaml
|
||||||
|
:language: yaml
|
||||||
|
|
||||||
|
"""
|
||||||
|
doxygen = XML.SubElement(xml_parent,
|
||||||
|
'hudson.plugins.doxygen.DoxygenBuilder')
|
||||||
|
try:
|
||||||
|
XML.SubElement(doxygen, 'doxyfilePath').text = str(data['doxyfile'])
|
||||||
|
XML.SubElement(doxygen, 'installationName').text = str(data['install'])
|
||||||
|
except KeyError as e:
|
||||||
|
raise MissingAttributeError(e.arg[0])
|
||||||
|
|
||||||
|
XML.SubElement(doxygen, 'continueOnBuildFailure').text = str(
|
||||||
|
data.get('ignore-failure', False)).lower()
|
||||||
|
XML.SubElement(doxygen, 'unstableIfWarnings').text = str(
|
||||||
|
data.get('unstable-warning', False)).lower()
|
||||||
|
|
||||||
|
|
||||||
def gradle(parser, xml_parent, data):
|
def gradle(parser, xml_parent, data):
|
||||||
"""yaml: gradle
|
"""yaml: gradle
|
||||||
Execute gradle tasks. Requires the Jenkins :jenkins-wiki:`Gradle Plugin
|
Execute gradle tasks. Requires the Jenkins :jenkins-wiki:`Gradle Plugin
|
||||||
|
@ -3877,7 +3877,8 @@ def doxygen(parser, xml_parent, data):
|
|||||||
Requires the Jenkins :jenkins-wiki:`Doxygen Plugin <Doxygen+Plugin>`.
|
Requires the Jenkins :jenkins-wiki:`Doxygen Plugin <Doxygen+Plugin>`.
|
||||||
|
|
||||||
:arg str doxyfile: The doxyfile path
|
:arg str doxyfile: The doxyfile path
|
||||||
:arg bool keepall: Retain doxygen generation for each successful build
|
:arg str slave: The node or label to pull the doxygen HTML files from
|
||||||
|
:arg bool keep-all: Retain doxygen generation for each successful build
|
||||||
(default: false)
|
(default: false)
|
||||||
:arg str folder: Folder where you run doxygen (default: '')
|
:arg str folder: Folder where you run doxygen (default: '')
|
||||||
|
|
||||||
@ -3886,13 +3887,29 @@ def doxygen(parser, xml_parent, data):
|
|||||||
.. literalinclude:: /../../tests/publishers/fixtures/doxygen001.yaml
|
.. literalinclude:: /../../tests/publishers/fixtures/doxygen001.yaml
|
||||||
:language: yaml
|
:language: yaml
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
p = XML.SubElement(xml_parent, 'hudson.plugins.doxygen.DoxygenArchiver')
|
p = XML.SubElement(xml_parent, 'hudson.plugins.doxygen.DoxygenArchiver')
|
||||||
if not data['doxyfile']:
|
if not data.get('doxyfile'):
|
||||||
raise JenkinsJobsException("The path to a doxyfile must be specified.")
|
raise JenkinsJobsException('The path to a doxyfile must be specified.')
|
||||||
XML.SubElement(p, 'doxyfilePath').text = str(data.get("doxyfile"))
|
XML.SubElement(p, 'doxyfilePath').text = str(data.get('doxyfile'))
|
||||||
XML.SubElement(p, 'keepAll').text = str(data.get("keepall", False)).lower()
|
XML.SubElement(p, 'runOnChild').text = str(data.get('slave', ''))
|
||||||
XML.SubElement(p, 'folderWhereYouRunDoxygen').text = \
|
# backward compatibility
|
||||||
str(data.get("folder", ""))
|
if 'keepall' in data:
|
||||||
|
if 'keep-all' in data:
|
||||||
|
XML.SubElement(p, 'keepAll').text = str(
|
||||||
|
data.get('keep-all', False)).lower()
|
||||||
|
logger.warn("The value of 'keepall' will be ignored "
|
||||||
|
"in preference to 'keep-all'.")
|
||||||
|
else:
|
||||||
|
XML.SubElement(p, 'keepAll').text = str(
|
||||||
|
data.get('keepall', False)).lower()
|
||||||
|
logger.warn("'keepall' is deprecated please use 'keep-all'")
|
||||||
|
else:
|
||||||
|
XML.SubElement(p, 'keepAll').text = str(
|
||||||
|
data.get('keep-all', False)).lower()
|
||||||
|
XML.SubElement(p, 'folderWhereYouRunDoxygen').text = str(
|
||||||
|
data.get('folder', ''))
|
||||||
|
|
||||||
|
|
||||||
def sitemonitor(parser, xml_parent, data):
|
def sitemonitor(parser, xml_parent, data):
|
||||||
|
11
tests/builders/fixtures/doxygen001.xml
Normal file
11
tests/builders/fixtures/doxygen001.xml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<project>
|
||||||
|
<builders>
|
||||||
|
<hudson.plugins.doxygen.DoxygenBuilder>
|
||||||
|
<doxyfilePath>Doxyfile</doxyfilePath>
|
||||||
|
<installationName>doxygen</installationName>
|
||||||
|
<continueOnBuildFailure>true</continueOnBuildFailure>
|
||||||
|
<unstableIfWarnings>true</unstableIfWarnings>
|
||||||
|
</hudson.plugins.doxygen.DoxygenBuilder>
|
||||||
|
</builders>
|
||||||
|
</project>
|
6
tests/builders/fixtures/doxygen001.yaml
Normal file
6
tests/builders/fixtures/doxygen001.yaml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
builders:
|
||||||
|
- doxygen:
|
||||||
|
doxyfile: Doxyfile
|
||||||
|
install: doxygen
|
||||||
|
ignore-failure: true
|
||||||
|
unstable-warning: true
|
11
tests/builders/fixtures/doxygen002.xml
Normal file
11
tests/builders/fixtures/doxygen002.xml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<project>
|
||||||
|
<builders>
|
||||||
|
<hudson.plugins.doxygen.DoxygenBuilder>
|
||||||
|
<doxyfilePath>Doxyfile</doxyfilePath>
|
||||||
|
<installationName>doxygen</installationName>
|
||||||
|
<continueOnBuildFailure>false</continueOnBuildFailure>
|
||||||
|
<unstableIfWarnings>false</unstableIfWarnings>
|
||||||
|
</hudson.plugins.doxygen.DoxygenBuilder>
|
||||||
|
</builders>
|
||||||
|
</project>
|
4
tests/builders/fixtures/doxygen002.yaml
Normal file
4
tests/builders/fixtures/doxygen002.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
builders:
|
||||||
|
- doxygen:
|
||||||
|
doxyfile: Doxyfile
|
||||||
|
install: doxygen
|
@ -3,6 +3,7 @@
|
|||||||
<publishers>
|
<publishers>
|
||||||
<hudson.plugins.doxygen.DoxygenArchiver>
|
<hudson.plugins.doxygen.DoxygenArchiver>
|
||||||
<doxyfilePath>Doxyfile</doxyfilePath>
|
<doxyfilePath>Doxyfile</doxyfilePath>
|
||||||
|
<runOnChild>doxygen-slave</runOnChild>
|
||||||
<keepAll>false</keepAll>
|
<keepAll>false</keepAll>
|
||||||
<folderWhereYouRunDoxygen>build</folderWhereYouRunDoxygen>
|
<folderWhereYouRunDoxygen>build</folderWhereYouRunDoxygen>
|
||||||
</hudson.plugins.doxygen.DoxygenArchiver>
|
</hudson.plugins.doxygen.DoxygenArchiver>
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
publishers:
|
publishers:
|
||||||
- doxygen:
|
- doxygen:
|
||||||
doxyfile: "Doxyfile"
|
doxyfile: "Doxyfile"
|
||||||
keepall: false
|
slave: "doxygen-slave"
|
||||||
|
keep-all: false
|
||||||
folder: "build"
|
folder: "build"
|
||||||
|
Loading…
Reference in New Issue
Block a user