-
Bug
-
Resolution: Fixed
-
Critical
-
None
-
Hudson ver. 1.345
Hello,
We have lots of Maven 2 jobs, each with a separate repository ("Use private Maven 2 repository"). We decided to see if the separation between builds works as expected - each project gets 1 repository and no other project interferes with it. However, after making the default Maven 2 local repository read only (chmod u-w $HOME/.m2/repository), the builds start crashing. Using "-Dmaven.repo.local=${WORKSPACE}/.repository" on the Maven 2 command line does not work, either.
Maven 2 by default works alright with this setting - default repo read only, it only downloads in the specified directory.
Hudson has a problem parsing the poms and tries to download the parent of the current project in the default repo. It should honor the "Use private repo" setting and not try to download anything in the default repository.
Some excerpts from the log:
Parsing POMs
ERROR: Failed to parse POMs
org.apache.maven.project.ProjectBuildingException: Cannot find parent:
at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1370)
at org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:821)
at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:506)
at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:215)
at hudson.maven.MavenEmbedder.readProject(MavenEmbedder.java:334)
at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:861)
at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:786)
at hudson.FilePath.act(FilePath.java:694)
at hudson.FilePath.act(FilePath.java:676)
at hudson.maven.MavenModuleSetBuild$RunnerImpl.parsePoms(MavenModuleSetBuild.java:531)
at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:391)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
at hudson.model.Run.run(Run.java:1198)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:304)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:122)
The missing parent is in the required repo - after making the default local repo writable again Hudson downloaded it very quickly.
Regards.
- depends on
-
JENKINS-7441 Move from Maven 2.0.4 embedder to something more modern - i.e., 3.x
- Resolved