[MPECLIPSE-109] Updated FAQ with multiproject entries.

Submitted By: Gilles Dodinet

git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@433315 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
snicoll 2006-08-21 18:22:20 +00:00
parent 15b544dae0
commit f646c6c037
2 changed files with 61 additions and 0 deletions

View File

@ -24,6 +24,7 @@
</properties> </properties>
<body> <body>
<release version="1.11.1-SNAPSHOT" date="In SVN"> <release version="1.11.1-SNAPSHOT" date="In SVN">
<action dev="snicoll" type="update" issue="MPECLIPSE-109" due-to="Gilles Dodinet">Updated FAQ with multiproject entries.</action>
<action dev="snicoll" type="fix" issue="MPECLIPSE-119">Fixed broken test cases.</action> <action dev="snicoll" type="fix" issue="MPECLIPSE-119">Fixed broken test cases.</action>
<action dev="snicoll" type="fix" issue="MPECLIPSE-123" due-to="Nicolas De Loof">Download and attach javadoc archives to .classpath when no source archive is available.</action> <action dev="snicoll" type="fix" issue="MPECLIPSE-123" due-to="Nicolas De Loof">Download and attach javadoc archives to .classpath when no source archive is available.</action>
<action dev="ltheussl" type="update">Update jelly dependency to match the ones in maven 1.1 core.</action> <action dev="ltheussl" type="update">Update jelly dependency to match the ones in maven 1.1 core.</action>

View File

@ -35,4 +35,64 @@
</faq> </faq>
</part> </part>
<part id="project-organization">
<faq id="eclipse-multiproject">
<question>
Eclipse doesn't support hierarchical project structure. How am i supposed to organize my multiproject ?
</question>
<answer>
<p>
If you use Eclipse, you may already have encountered the Infamous Layout Issue:
Eclipse doesn't handle (yet ?) overlapping projects. Thus if you work in a
multiproject context with a classical non flat layout, Eclipse integration becomes
quite problematic. You surely don't want to use one big Eclipse project because
you'll then lose visibility on dependencies (inter-project dependencies as well
as library dependencies) and this will quickly become quite hard to manage - and
promotes cycles.
</p>
<p>
Best solution found so far is to refactor your project structure to rather
use a flat layout, as described below:
<source>
<pre>
/project-root | /project-root
+- subproject1 | +- project.xml
+- project.xml ===> /subproject1
+- subproject2 | +- project.xml
+- project.xml | /subproject2
+- project.xml | +- project.xml
</pre>
</source>
</p>
<p>
And alter your properties in a similar way than the example below:
<source>
maven.multiproject.basedir=${basedir}/..
maven.multiproject.includes=*/project.xml
maven.multiproject.excludes=project-root/project.xml
</source>
</p>
<p>
If you really can't (or don't want to) flatten your layout, the only solutions that are offered to you are a few tricks, each with its own drawback.
<ul>
<li>
Edit root files outside Eclipse - almost safe but implies switching between tools.
Note that initial checkout must be done through command line in this case, because
parent project shouldn't be in the workspace folder.
</li>
<li>
Create a virtual project which contains links to root files - doesn't
support refactoring well, and implies identical paths on every developer machines.
</li>
</ul>
<i>Use those tricks at your own risk</i>
</p>
<p>
if this issue really annoys you, then please vote for <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=35973">https://bugs.eclipse.org/bugs/show_bug.cgi?id=35973</a>
</p>
</answer>
</faq>
</part>
</faqs> </faqs>