Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-5751

With "Use private Maven repository" and a read only default Maven repository builds crash

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • maven-plugin
    • 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.

            olamy Olivier Lamy
            ccaraivan Costin Caraivan
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: