diff options
Diffstat (limited to 'jenkins_jobs/modules/project_maven.py')
-rwxr-xr-x | jenkins_jobs/modules/project_maven.py | 162 |
1 files changed, 89 insertions, 73 deletions
diff --git a/jenkins_jobs/modules/project_maven.py b/jenkins_jobs/modules/project_maven.py index 3e735688..719b1d2d 100755 --- a/jenkins_jobs/modules/project_maven.py +++ b/jenkins_jobs/modules/project_maven.py @@ -95,93 +95,109 @@ class Maven(jenkins_jobs.modules.base.Base): sequence = 0 choices_private_repo = { - 'default': - 'hudson.maven.local_repo.DefaultLocalRepositoryLocator', - 'local-to-workspace': - 'hudson.maven.local_repo.PerJobLocalRepositoryLocator', - 'local-to-executor': - 'hudson.maven.local_repo.PerExecutorLocalRepositoryLocator', + "default": "hudson.maven.local_repo.DefaultLocalRepositoryLocator", + "local-to-workspace": "hudson.maven.local_repo.PerJobLocalRepositoryLocator", + "local-to-executor": "hudson.maven.local_repo.PerExecutorLocalRepositoryLocator", } def root_xml(self, data): - xml_parent = XML.Element('maven2-moduleset') - if 'maven' not in data: + xml_parent = XML.Element("maven2-moduleset") + if "maven" not in data: return xml_parent # determine version of plugin plugin_info = self.registry.get_plugin_info("Maven Integration plugin") - version = pkg_resources.parse_version(plugin_info.get('version', '0')) - - if 'root-module' in data['maven']: - root_module = XML.SubElement(xml_parent, 'rootModule') - XML.SubElement(root_module, 'groupId').text = \ - data['maven']['root-module']['group-id'] - XML.SubElement(root_module, 'artifactId').text = \ - data['maven']['root-module']['artifact-id'] - XML.SubElement(xml_parent, 'goals').text = data['maven']['goals'] - - maven_opts = data['maven'].get('maven-opts') + version = pkg_resources.parse_version(plugin_info.get("version", "0")) + + if "root-module" in data["maven"]: + root_module = XML.SubElement(xml_parent, "rootModule") + XML.SubElement(root_module, "groupId").text = data["maven"]["root-module"][ + "group-id" + ] + XML.SubElement(root_module, "artifactId").text = data["maven"][ + "root-module" + ]["artifact-id"] + XML.SubElement(xml_parent, "goals").text = data["maven"]["goals"] + + maven_opts = data["maven"].get("maven-opts") if maven_opts: - XML.SubElement(xml_parent, 'mavenOpts').text = maven_opts + XML.SubElement(xml_parent, "mavenOpts").text = maven_opts - maven_name = data['maven'].get('maven-name') + maven_name = data["maven"].get("maven-name") if maven_name: - XML.SubElement(xml_parent, 'mavenName').text = maven_name + XML.SubElement(xml_parent, "mavenName").text = maven_name - private_repo = data['maven'].get('private-repository') + private_repo = data["maven"].get("private-repository") if private_repo: if private_repo not in self.choices_private_repo.keys(): - raise ValueError('Not a valid private-repository "%s", ' - 'must be one of "%s"' % - (private_repo, - ", ".join(self.choices_private_repo.keys()))) - XML.SubElement(xml_parent, - 'localRepository', - attrib={'class': - self.choices_private_repo[private_repo]}) - - XML.SubElement(xml_parent, 'ignoreUpstremChanges').text = str( - data['maven'].get('ignore-upstream-changes', True)).lower() - - XML.SubElement(xml_parent, 'rootPOM').text = \ - data['maven'].get('root-pom', 'pom.xml') - XML.SubElement(xml_parent, 'aggregatorStyleBuild').text = str( - not data['maven'].get('parallel-build-modules', False)).lower() - XML.SubElement(xml_parent, 'incrementalBuild').text = str( - data['maven'].get('incremental-build', False)).lower() - XML.SubElement(xml_parent, 'siteArchivingDisabled').text = str( - not data['maven'].get('automatic-site-archiving', True)).lower() - XML.SubElement(xml_parent, 'fingerprintingDisabled').text = str( - not data['maven'].get('automatic-fingerprinting', True)).lower() - if (version > pkg_resources.parse_version('0') and - version < pkg_resources.parse_version('2.0.1')): - XML.SubElement(xml_parent, 'perModuleEmail').text = str( - data.get('per-module-email', True)).lower() - XML.SubElement(xml_parent, 'archivingDisabled').text = str( - not data['maven'].get('automatic-archiving', True)).lower() - XML.SubElement(xml_parent, 'resolveDependencies').text = str( - data['maven'].get('resolve-dependencies', False)).lower() - XML.SubElement(xml_parent, 'processPlugins').text = str( - data['maven'].get('process-plugins', False)).lower() - XML.SubElement(xml_parent, 'mavenValidationLevel').text = '-1' - XML.SubElement(xml_parent, 'runHeadless').text = str( - data['maven'].get('run-headless', False)).lower() - XML.SubElement(xml_parent, 'disableTriggerDownstreamProjects').text = \ - str(data['maven'].get('disable-downstream', False)).lower() - if 'custom-workspace' in data['maven']: - XML.SubElement(xml_parent, 'customWorkspace').text = str( - data['maven'].get('custom-workspace')) - helpers.config_file_provider_settings(xml_parent, data['maven']) - - run_post_steps = XML.SubElement(xml_parent, 'runPostStepsIfResult') - run_conditions = ['SUCCESS', 'UNSTABLE', 'FAILURE'] - run_condition = data['maven'].get('post-step-run-condition', 'FAILURE') + raise ValueError( + 'Not a valid private-repository "%s", ' + 'must be one of "%s"' + % (private_repo, ", ".join(self.choices_private_repo.keys())) + ) + XML.SubElement( + xml_parent, + "localRepository", + attrib={"class": self.choices_private_repo[private_repo]}, + ) + + XML.SubElement(xml_parent, "ignoreUpstremChanges").text = str( + data["maven"].get("ignore-upstream-changes", True) + ).lower() + + XML.SubElement(xml_parent, "rootPOM").text = data["maven"].get( + "root-pom", "pom.xml" + ) + XML.SubElement(xml_parent, "aggregatorStyleBuild").text = str( + not data["maven"].get("parallel-build-modules", False) + ).lower() + XML.SubElement(xml_parent, "incrementalBuild").text = str( + data["maven"].get("incremental-build", False) + ).lower() + XML.SubElement(xml_parent, "siteArchivingDisabled").text = str( + not data["maven"].get("automatic-site-archiving", True) + ).lower() + XML.SubElement(xml_parent, "fingerprintingDisabled").text = str( + not data["maven"].get("automatic-fingerprinting", True) + ).lower() + if version > pkg_resources.parse_version( + "0" + ) and version < pkg_resources.parse_version("2.0.1"): + XML.SubElement(xml_parent, "perModuleEmail").text = str( + data.get("per-module-email", True) + ).lower() + XML.SubElement(xml_parent, "archivingDisabled").text = str( + not data["maven"].get("automatic-archiving", True) + ).lower() + XML.SubElement(xml_parent, "resolveDependencies").text = str( + data["maven"].get("resolve-dependencies", False) + ).lower() + XML.SubElement(xml_parent, "processPlugins").text = str( + data["maven"].get("process-plugins", False) + ).lower() + XML.SubElement(xml_parent, "mavenValidationLevel").text = "-1" + XML.SubElement(xml_parent, "runHeadless").text = str( + data["maven"].get("run-headless", False) + ).lower() + XML.SubElement(xml_parent, "disableTriggerDownstreamProjects").text = str( + data["maven"].get("disable-downstream", False) + ).lower() + if "custom-workspace" in data["maven"]: + XML.SubElement(xml_parent, "customWorkspace").text = str( + data["maven"].get("custom-workspace") + ) + helpers.config_file_provider_settings(xml_parent, data["maven"]) + + run_post_steps = XML.SubElement(xml_parent, "runPostStepsIfResult") + run_conditions = ["SUCCESS", "UNSTABLE", "FAILURE"] + run_condition = data["maven"].get("post-step-run-condition", "FAILURE") if run_condition not in run_conditions: - raise InvalidAttributeError('post-step-run-condition', - run_condition, run_conditions) + raise InvalidAttributeError( + "post-step-run-condition", run_condition, run_conditions + ) cond_dict = hudson_model.THRESHOLDS[run_condition] - XML.SubElement(run_post_steps, 'name').text = cond_dict['name'] - XML.SubElement(run_post_steps, 'ordinal').text = cond_dict['ordinal'] - XML.SubElement(run_post_steps, 'color').text = cond_dict['color'] + XML.SubElement(run_post_steps, "name").text = cond_dict["name"] + XML.SubElement(run_post_steps, "ordinal").text = cond_dict["ordinal"] + XML.SubElement(run_post_steps, "color").text = cond_dict["color"] return xml_parent |