CLONE -Maven2 POM validation errors should end up in the Output text field of
the Build results!
------------------------------------------------------------------------------------------------
Key: CONTINUUM-2244
URL: http://jira.codehaus.org/browse/CONTINUUM-2244
Project: Continuum
Issue Type: Improvement
Components: Integration - Maven 2
Affects Versions: 1.1
Reporter: Ringo De Smet
Assignee: Emmanuel Venisse
Fix For: 1.2.1
Hello,
One of our Maven2 projects started to fail on Continuum. When I checked the
Builds page, there were always pairs of entries with a few seconds between
them. For each of these pairs of build results, the former was always in Error,
while the latter (most recent build) was always in Failure.
The log of the error build was this:
org.codehaus.plexus.taskqueue.execution.TaskExecutionException: Error executing
action 'update-project-from-working-directory'
at
org.apache.maven.continuum.buildcontroller.DefaultBuildController.performAction(DefaultBuildController.java:434)
at
org.apache.maven.continuum.buildcontroller.DefaultBuildController.build(DefaultBuildController.java:139)
at
org.apache.maven.continuum.buildcontroller.BuildProjectTaskExecutor.executeTask(BuildProjectTaskExecutor.java:50)
at
org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116)
at
edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
at
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
Caused by:
org.apache.maven.continuum.execution.ContinuumBuildExecutorException: Error
while mapping metadata:add.project.validation.error
add.project.project.building.error
add.project.unknown.error
at
org.apache.maven.continuum.execution.maven.m2.MavenTwoBuildExecutor.updateProjectFromCheckOut(MavenTwoBuildExecutor.java:157)
at
org.apache.maven.continuum.core.action.UpdateProjectFromWorkingDirectoryContinuumAction.execute(UpdateProjectFromWorkingDirectoryContinuumAction.java:75)
at
org.apache.maven.continuum.buildcontroller.DefaultBuildController.performAction(DefaultBuildController.java:408)
... 8 more
The log of the failure build was this:
+ Error stacktraces are turned on.
Maven version: 2.0.8
Java version: 1.4.2_08
OS name: "sunos" version: "5.10" arch: "sparc"
Family: "unix" [DEBUG] Building Maven user-level plugin registry
from: '/home/Dci/.m2/plugin-registry.xml'
[DEBUG] Building Maven global-level plugin registry from:
'/dvp/lib/sft/maven/install/2.0.8/conf/plugin-registry.xml'
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [clean, deploy, site]
[INFO] ------------------------------------------------------------------------
[DEBUG] maven-clean-plugin: resolved to version 2.2 from repository central
[DEBUG] Retrieving parent-POM: org.apache.maven.plugins:maven-plugins::10 for
project: null:maven-clean-plugin:maven-plugin:2.2 from the repository.
[DEBUG] Retrieving parent-POM: org.apache.maven:maven-parent::7 for project:
org.apache.maven.plugins:maven-plugins:pom:10 from the repository.
[DEBUG] Retrieving parent-POM: org.apache:apache::4 for project:
org.apache.maven:maven-parent:pom:7 from the repository.
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Cannot execute mojo: clean. It requires a project with an existing
pom.xml, but the build is not using one.
[INFO] ------------------------------------------------------------------------
[DEBUG] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Cannot execute mojo:
clean. It requires a project with an existing pom.xml, but the build is not
using one.
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:564)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: Cannot execute mojo:
clean. It requires a project with an existing pom.xml, but the build is not
using one.
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:373)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
... 16 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Tue Jun 24 08:35:33 CEST 2008 [INFO] Final Memory: 1M/4M
[INFO] ------------------------------------------------------------------------
If I look at the Working copy, there is no pom.xml file, so I was quite
puzzled. The CVS repository *does* contain the pom.xml and a checkout of the
project to my local workstation was completely OK.
I finally found the error in the wrapper.log. The POM used a property to
resolve a dependency version that was undefined in the parent pom, leading to
validation errors. This error message should definitely end up in the Output
textfield of a Build results page in the webfrontend!!!
INFO | jvm 1 | 2008/06/24 08:35:31 | 2008-06-24 08:35:31,497
[pool-1-thread-1] ERROR
org.apache.maven.continuum.execution.maven.m2.MavenBuilderHelper:default -
Cannot build maven project from
/dvp_loc_ci_00_00/dvp/loc/rts/ci/working-directory/53/pom.xml (Failed to
validate POM).
INFO | jvm 1 | 2008/06/24 08:35:31 | 'dependencies.dependency.version' is
missing for be.telenet:srv.location.location
Another remark: having two entries in the Build results page for a build I
triggered once made me believe that there were two copies of Continuum running,
with the error coming from concurrent access of the working copy. A build
failure should only end up in one build result...
Greetz,
Ringo De Smet
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira