maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kristopher Brown" <Kristopher.Br...@diagonal-solutions.co.uk>
Subject RE: Eclipse Plugin consolidation
Date Fri, 21 May 2004 16:50:21 GMT
Hi,

I see what you mean.  Other plugins utilise the ${lib.path} and don't
care about having variables such as MAVEN_REPO like the eclipse plugin
does.  Its possible to write jelly to check for the override (see option
2), but that seems wrong to me as this was purposefully refactored out
of the plugins into ArtifactListBuilder.build(Project) method in beta 10
[see comments in MAVEN-341].

So there are 3 options:
1. Loose MAVEN_REPO and have absolute paths like other ide plugins.
(gotta be a -1 from the community I feel and as you said).

2. Write some localised script hack to check the override properties
manually.  Looking at the ArtifactListBuilder.build(Project) method -
I'd rather not duplicate this in jelly.

3. Add a overridden property (with is/set methods) to Artifact and allow
the ArtifactListBuilder.build(Project) to set this value to true (on
line 63 of ArtifactListBuilder) and script against it.

The script would then change the line:

    <classpathentry kind="var" path="MAVEN_REPO${lib.urlPath}"/>

to:

    <j:choose>
      <j:when test="${lib.isOverridden()}">
        <classpathentry kind="lib" path="${lib.path}"/>
      </j:when>
      <j:otherwise>
        <classpathentry kind="var" path="MAVEN_REPO${lib.urlPath}"/>
      </j:otherwise>
    </j:choose>

I'd say 3 is the proper way.  Just need to get some committers to help
me get MPECLIPSE-27 in :)  Vincent Massol, Eric Pugh and Emmanuel
Venisse are the devs listed in the pom so I'm gonna have to chase them I
think - as ever, they are busy people so things take time.

Like I said, I'm willing to start getting some additional fixes in too,
I need start the ball rolling though.  Don't want to keep generating
patches and nothing happen or things change behind the patches.

Kris.

> -----Original Message-----
> From: Chuck Daniels [mailto:cjd4@yahoo.com] 
> Sent: 21 May 2004 16:20
> To: Maven Users List
> Subject: RE: Eclipse Plugin consolidation
> 
> Hi,
> 
> The Eclipse plugin doesn't seem to handle overrides properly. 
>   That is if I
> have the following in my project.properties file:
> 
> maven.jar.override=on
> maven.jar.local=d:/localdir/local.jar
> 
> and the following in my project.xml dependencies:
> 
> <dependency>
>   <groupId>mygroup</groupId>
>   <artifactId>local</artifactId>
> </dependency>
> 
> the plugin generates the following incorrect entry in .classpath:
> 
> <classpathentry kind="var" path="MAVEN_REPO/mygroup/jars/local-.jar">
> </classpathentry>
> 
> when instead, it should be:
> 
> <classpathentry kind="lib" path="d:/localdir/local.jar">
> </classpathentry>
> 
> Notice that not only is the path the value of the 
> maven.jar.local property,
> but the kind is also "lib", not "var".  I have corrected this 
> locally by
> modifying plugin-resources/templates/classpath.jelly in the 
> Eclipse plugin
> directory.  I changed the following line:
> 
> <classpathentry kind="var" path="MAVEN_REPO${lib.urlPath}"/>
> 
> to this:
> 
> <classpathentry kind="lib" path="${lib.path}"/>
> 
> which works correctly in all cases.  This, however, ends up 
> eliminating the
> use of the MAVEN_REPO Eclipse classpath variable, which may not be
> desirable.  Perhaps the best solution would be to determine 
> whether the
> dependency is overriden.  If so, then use the "corrected" 
> classpathentry
> given above.  If not, use the current classpathentry as it 
> already exists in
> classpath.jelly.
> 
> -- Chuck
> 
> > -----Original Message-----
> > From: Kristopher Brown
> > [mailto:Kristopher.Brown@diagonal-solutions.co.uk]
> > Sent: Friday, May 21, 2004 9:44 AM
> > To: Maven Users List
> > Subject: Eclipse Plugin consolidation
> >
> >
> > Hi,
> >
> > I noticed that there were 18 issues open against the 
> eclipse plugin so I
> > wanted to get some of these things fixed.  I've made some changes
> > therefore and created an issue in JIRA (MPECLIPSE-27) to 
> hopefully get
> > them added.
> >
> > In summary these are:
> > - MPECLIPSE-6: junit dependancies are added even if there 
> are no tests
> > and it's a pom dependancy
> > - MPECLIPSE-17: maven.eclipse.classpath.includes is used 
> even if there
> > are no tests
> > - added eclipse:clean to remove the .project and .classpath files
> > - modified to update the .project and .classpath files rather than
> > overwrite (minimal at present)
> > - added a new feature to create workspace dependancies if
> > maven.eclipse.workspace.analyse=true and maven.eclipse.workspace is
> > supplied.  Give it a try.
> >
> > I've also made some comments about existing issues that I 
> think can be
> > closed.
> >
> > See http://jira.codehaus.org/browse/MPECLIPSE-27 for more details.
> >
> > Would appreciated people checking it out and hopefully the 
> changes will
> > get added as a platform to make further changes from.  I've 
> looked at
> > the other issues against the plugin and would be willing to 
> tackle them
> > in the future.
> >
> > Kris.
> >
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > For additional commands, e-mail: users-help@maven.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Mime
View raw message