This is very interesting.  We have 36 projects, all with
interdependencies ( some build, some test, some runtime ) and to have
the reactor/maven maintain the eclipse projects like this would be
cool.  Is there a dep heirarchy in eclipse where like a project dep is
used if present before a jar dep?  Then we could just put both deps in
the project.

>>>>> On 28 Mar 2003 18:40:50 +0000, "Mark H. Wilkinson" <[EMAIL PROTECTED]> said:

> I've just done a little hacking on the eclipse plugin. I wanted to
> be able to specify that a dependency between two maven projects
> should result in a project and classpath reference in the Eclipse
> project, rather than an entry for a jar file. This should make
> things a bit more natural when working with a number of related
> projects under Eclipse - it removes the need to build jar files and
> install them in the maven repository outside of Eclipse.

> As I said, this is a preliminary hack - I think this is something
> that needs addressing, but I'm not sure whether this is the best way
> to do it. Comments welcome.

> What I've done is allow a dependency to be marked as requiring an
> eclipse dependency:

>> <dependency> <id>werkflow</id> <version>1.0-beta-4</version>
>> <url>http://werkflow.werken.com/</url> <properties>
>> <eclipse.dependency>true</eclipse.dependency> </properties>
>> </dependency>

> If you mark a dependency like this the plugin will assume that you
> have the source of the dependent project open in the same workspace
> as the project you're creating a .project and .classpath file
> for. Instead of putting a jar reference into the classpath it will
> create a reference to the project itself.

> I thought about using the SNAPSHOT version to indicate things that
> are local, but snapshot dependencies don't necessarily indicate that
> you have the project open locally.

> I'm not sure whether this should really go into project.xml -
> whether a given developer has something open in Eclipse is possibly
> not something that should be in CVS, for example. On the other hand,
> such a declaration indicates that a dependency could be even more
> volatile than a snapshot dependency, which might be useful
> information to have in project.xml. I'm 50:50 over where this should
> go.

> As I said, comments welcome. I'll update the patch based on
> feedback, document it and send a new patch if things seem ok.

> -Mark.


> Index: src/plugins-build/eclipse/plugin.jelly
> ===================================================================
> RCS file:
> /home/cvspublic/maven/src/plugins-build/eclipse/plugin.jelly,v
> retrieving revision 1.9 diff -u -r1.9 plugin.jelly ---
> src/plugins-build/eclipse/plugin.jelly 27 Mar 2003 13:16:40 -0000
> 1.9 +++ src/plugins-build/eclipse/plugin.jelly 28 Mar 2003 18:08:13
> -0000 @@ -19,7 +19,7 @@
 
>      <j:set var="outputDir" value="${maven.eclipse.output.dir}"/>
> <j:if test="${empty outputDir}"> - <j:set var="outputDir"
> value="target\classes"/> + <j:set var="outputDir"
> value="target/classes"/> </j:if>
     
>      <ant:echo>Creating ${basedir}/.project ...</ant:echo> @@ -29,6
> +29,13 @@ <name>${pom.artifactId}</name> <comment></comment>
> <projects> + <j:forEach var="lib" items="${pom.artifacts}"> + <j:set
> var="eclipseDependency" +
> value="${lib.dependency.getProperty('eclipse.dependency')}"/> +
> <j:if test="${eclipseDependency == 'true'}"> +
> <project>${lib.dependency.artifactId}</project> + </j:if> +
> </j:forEach> </projects> <buildSpec> <buildCommand> @@ -83,7 +90,16
> @@
 
>        <classpathentry kind="var" path="JRE_LIB"
> rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/> <j:forEach var="lib"
> items="${pom.artifacts}"> - <classpathentry kind="var"
> path="MAVEN_REPO${lib.urlPath}"/> + <j:set var="eclipseDependency" +
> value="${lib.dependency.getProperty('eclipse.dependency')}"/> +
> <j:choose> + <j:when test="${eclipseDependency == 'true'}"> +
> <classpathentry kind="src" path="/${lib.dependency.artifactId}"/> +
> </j:when> + <j:otherwise> + <classpathentry kind="var"
> path="MAVEN_REPO${lib.urlPath}"/> + </j:otherwise> + </j:choose>
> </j:forEach> <classpathentry kind="output" path="${outputDir}"/>
> </classpath>

> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED] For
> additional commands, e-mail: [EMAIL PROTECTED]

-- 
=====================================================================
Jeffrey D. Brekke                                   [EMAIL PROTECTED]
Wisconsin,  USA                                     [EMAIL PROTECTED]
                                                    [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to