From 383d4250f0289649bcee759be68a97dfc65c62a1 Mon Sep 17 00:00:00 2001 From: Tomas Bezdek Date: Thu, 15 Oct 2015 16:04:30 +0100 Subject: [PATCH] add support for NodeJS Plugin Change-Id: I583b6e8cac8b7bfe086e7f16e2989db3d50a6054 --- jenkins_jobs/modules/wrappers.py | 22 +++++++++++++++++++ setup.cfg | 1 + .../fixtures/nodejs-installator001.xml | 8 +++++++ .../fixtures/nodejs-installator001.yaml | 3 +++ 4 files changed, 34 insertions(+) create mode 100644 tests/wrappers/fixtures/nodejs-installator001.xml create mode 100644 tests/wrappers/fixtures/nodejs-installator001.yaml diff --git a/jenkins_jobs/modules/wrappers.py b/jenkins_jobs/modules/wrappers.py index 351764225..cb995c31d 100644 --- a/jenkins_jobs/modules/wrappers.py +++ b/jenkins_jobs/modules/wrappers.py @@ -1461,6 +1461,28 @@ def custom_tools(parser, xml_parent, data): 'convertHomesToUppercase').text = convert_home +def nodejs_installator(parser, xml_parent, data): + """yaml: nodejs-installator + Requires the Jenkins :jenkins-wiki:`NodeJS Plugin + `. + + :arg str name: nodejs installation name + + Example: + + .. literalinclude:: + /../../tests/wrappers/fixtures/nodejs-installator001.yaml + """ + npm_node = XML.SubElement(xml_parent, + 'jenkins.plugins.nodejs.tools.' + 'NpmPackagesBuildWrapper') + + try: + XML.SubElement(npm_node, 'nodeJSInstallationName').text = data['name'] + except KeyError as e: + raise MissingAttributeError(e.args[0]) + + def xvnc(parser, xml_parent, data): """yaml: xvnc Enable xvnc during the build. diff --git a/setup.cfg b/setup.cfg index cb2ab759f..621219c1c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -289,6 +289,7 @@ jenkins_jobs.wrappers = mask-passwords=jenkins_jobs.modules.wrappers:mask_passwords matrix-tie-parent=jenkins_jobs.modules.wrappers:matrix_tie_parent mongo-db=jenkins_jobs.modules.wrappers:mongo_db + nodejs-installator=jenkins_jobs.modules.wrappers:nodejs_installator pathignore=jenkins_jobs.modules.wrappers:pathignore port-allocator=jenkins_jobs.modules.wrappers:port_allocator pre-scm-buildstep=jenkins_jobs.modules.wrappers:pre_scm_buildstep diff --git a/tests/wrappers/fixtures/nodejs-installator001.xml b/tests/wrappers/fixtures/nodejs-installator001.xml new file mode 100644 index 000000000..a52ae52f2 --- /dev/null +++ b/tests/wrappers/fixtures/nodejs-installator001.xml @@ -0,0 +1,8 @@ + + + + + latest node + + + diff --git a/tests/wrappers/fixtures/nodejs-installator001.yaml b/tests/wrappers/fixtures/nodejs-installator001.yaml new file mode 100644 index 000000000..b6ff22a7a --- /dev/null +++ b/tests/wrappers/fixtures/nodejs-installator001.yaml @@ -0,0 +1,3 @@ +wrappers: + - nodejs-installator: + name: "latest node"