You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@continuum.apache.org by Ma...@t-systems.com on 2007/10/15 12:13:40 UTC

Multi module setup as in maven docu

Hi,
in
http://maven.apache.org/guides/introduction/introduction-to-the-pom.html
#Example_4 there is an example for a multi module environment.
 
Namely Example 4
I have a structure similar to  
.
 |-- my-module
 |   `-- pom.xml
 `-- parent
     `-- pom.xml

In the Maven docu they say I just need to add follwoing to the
parent/pom.xml

<project>
  <parent>
    <groupId>com.mycompany.app</groupId>
    <artifactId>my-app</artifactId>
    <version>1</version>
    <relativePath>.../parent/pom.xml</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>my-module</artifactId>
</project>

I'm not sure if this works with continuum.
First: is it their aim that there are three dots?
Second: Will this work, cause continuum has another directory structure
with IDs in the path.
For example:
.
 |-- 12
 |    `-- my-module
 |       `-- pom.xml
 |-- 9
     `-- parent
         `-- pom.xml 

So I'm wondering if the relativePath notation works or if this only
relates to the structure inside the SCM. Additionally, it's possible
that the ids change, I simply do not want to hardcode the pathes.

Nevertheless, I tried with the example 4 and I get a two-step continuum
error:
The first is an error
---------------------------------------
	org.codehaus.plexus.taskqueue.execution.TaskExecutionException:
Error executing action 'update-project-from-working-directory'
		at
org.apache.maven.continuum.buildcontroller.DefaultBuildController.perfor
mAction(DefaultBuildController.java:443)
		at
org.apache.maven.continuum.buildcontroller.DefaultBuildController.build(
DefaultBuildController.java:148)
		at
org.apache.maven.continuum.buildcontroller.BuildProjectTaskExecutor.exec
uteTask(BuildProjectTaskExecutor.java:50)
		at
org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$Execut
orRunnable$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:619)
	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.upda
teProjectFromCheckOut(MavenTwoBuildExecutor.java:168)
		at
org.apache.maven.continuum.core.action.UpdateProjectFromWorkingDirectory
ContinuumAction.execute(UpdateProjectFromWorkingDirectoryContinuumAction
.java:75)
		at
org.apache.maven.continuum.buildcontroller.DefaultBuildController.perfor
mAction(DefaultBuildController.java:417)
		... 8 more

---------------------------------------
The second is a failure:
[INFO] Scanning for projects...
[INFO]
------------------------------------------------------------------------
----
[INFO] Building Maven Default Project
[INFO]    task-segment: [clean, install]
[INFO]
------------------------------------------------------------------------
----
[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]
------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO]
------------------------------------------------------------------------
[INFO] Total time: &lt; 1 second
[INFO] Finished at: Mon Oct 15 11:52:36 CEST 2007
[INFO] Final Memory: 1M/4M
[INFO]
------------------------------------------------------------------------


Greetings
Manuel

Re: Multi module setup as in maven docu

Posted by Emmanuel Venisse <em...@venisse.net>.

Manuel.Renz@t-systems.com a écrit :
> Hi,
> in
> http://maven.apache.org/guides/introduction/introduction-to-the-pom.html
> #Example_4 there is an example for a multi module environment.
>  
> Namely Example 4
> I have a structure similar to  
> .
>  |-- my-module
>  |   `-- pom.xml
>  `-- parent
>      `-- pom.xml
> 
> In the Maven docu they say I just need to add follwoing to the
> parent/pom.xml
> 
> <project>
>   <parent>
>     <groupId>com.mycompany.app</groupId>
>     <artifactId>my-app</artifactId>
>     <version>1</version>
>     <relativePath>.../parent/pom.xml</relativePath>
>   </parent>
>   <modelVersion>4.0.0</modelVersion>
>   <artifactId>my-module</artifactId>
> </project>
> 
> I'm not sure if this works with continuum.
> First: is it their aim that there are three dots?

You can't use "..." in maven and/or Continuum. "..." mean that is a relative path that can be ".." or "../../dir1/dir2/" or something.

> Second: Will this work, cause continuum has another directory structure
> with IDs in the path.
> For example:
> .
>  |-- 12
>  |    `-- my-module
>  |       `-- pom.xml
>  |-- 9
>      `-- parent
>          `-- pom.xml 
> 
> So I'm wondering if the relativePath notation works or if this only
> relates to the structure inside the SCM. Additionally, it's possible
> that the ids change, I simply do not want to hardcode the pathes.

Continuum use maven API to load projects so if you checkout your "my-module" project without other parent/modules, you'll have the same result.
If maven don't find the parent pom with the relative path, it use the one it found in the local/remote repo.

> 
> Nevertheless, I tried with the example 4 and I get a two-step continuum
> error:
> The first is an error
> ---------------------------------------
> 	org.codehaus.plexus.taskqueue.execution.TaskExecutionException:
> Error executing action 'update-project-from-working-directory'
> 		at
> org.apache.maven.continuum.buildcontroller.DefaultBuildController.perfor
> mAction(DefaultBuildController.java:443)
> 		at
> org.apache.maven.continuum.buildcontroller.DefaultBuildController.build(
> DefaultBuildController.java:148)
> 		at
> org.apache.maven.continuum.buildcontroller.BuildProjectTaskExecutor.exec
> uteTask(BuildProjectTaskExecutor.java:50)
> 		at
> org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$Execut
> orRunnable$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:619)
> 	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

The error isn't well formatted but it's generally because Continuum/maven can load the project. The parent or a dependency can't be loaded from the local/remote repository.

Emmanuel

> 	
> 		at
> org.apache.maven.continuum.execution.maven.m2.MavenTwoBuildExecutor.upda
> teProjectFromCheckOut(MavenTwoBuildExecutor.java:168)
> 		at
> org.apache.maven.continuum.core.action.UpdateProjectFromWorkingDirectory
> ContinuumAction.execute(UpdateProjectFromWorkingDirectoryContinuumAction
> .java:75)
> 		at
> org.apache.maven.continuum.buildcontroller.DefaultBuildController.perfor
> mAction(DefaultBuildController.java:417)
> 		... 8 more
> 
> ---------------------------------------
> The second is a failure:
> [INFO] Scanning for projects...
> [INFO]
> ------------------------------------------------------------------------
> ----
> [INFO] Building Maven Default Project
> [INFO]    task-segment: [clean, install]
> [INFO]
> ------------------------------------------------------------------------
> ----
> [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]
> ------------------------------------------------------------------------
> [INFO] For more information, run Maven with the -e switch
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time: &lt; 1 second
> [INFO] Finished at: Mon Oct 15 11:52:36 CEST 2007
> [INFO] Final Memory: 1M/4M
> [INFO]
> ------------------------------------------------------------------------
> 
> 
> Greetings
> Manuel
> 
>