-
Bug
-
Resolution: Fixed
-
Minor
This creates quite a headache when using the Config File Provider and there is for example, malformed XML. This leads to builds failing for no obvious reason until you discover the "failed to get the path to the alternate global settings.xml" message buried at the top of the build log.
In my case, this is the exception that is thrown once the extra try-catch is removed from Global Settings Provider (pull request forthcoming)
java.lang.IllegalStateException: the global settings.xml could not be supplied for the current build: The reference to entity "characterEncoding" must end with the ';' delimiter. at org.jenkinsci.plugins.configfiles.maven.job.MvnGlobalSettingsProvider.supplySettings(MvnGlobalSettingsProvider.java:97) at jenkins.mvn.GlobalSettingsProvider.getSettingsFilePath(GlobalSettingsProvider.java:55) at jenkins.mvn.GlobalSettingsProvider.getSettingsRemotePath(GlobalSettingsProvider.java:76) at hudson.tasks.Maven.perform(Maven.java:308) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:761) at hudson.model.Build$BuildExecution.build(Build.java:199) at hudson.model.Build$BuildExecution.doRun(Build.java:160) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:536) at hudson.model.Run.execute(Run.java:1718) at com.github.mjdetullio.jenkins.plugins.multibranch.FreeStyleBranchBuild.run(FreeStyleBranchBuild.java:89) at hudson.model.ResourceController.execute(ResourceController.java:89) at hudson.model.Executor.run(Executor.java:240)
Code changed in jenkins
User: Alex Bertram
Path:
core/src/main/java/jenkins/mvn/GlobalSettingsProvider.java
http://jenkins-ci.org/commit/jenkins/77bc6ad835fc0fc54e4fed16395deb24332a2b49
Log:
JENKINS-26604Removes try-catch from GlobalSettingsProvider unhelpfully which swallows exceptionsIf there is a problem providing the Maven global settings file configured by the user, the build
should end in error. This is the behavior of SettingsProvider but not of GlobalSettingsProvider, which
was swallowing the exception and printing only a warning, without details of the exception.