Just to follow up on this, it looks like the two main options are:

1) Add an "endorsed" scope.   What would be involved with that?   What would 
happen when a 2.0.10/2.2.1 maven version hits such a scope?    This seems to 
be a "maven core" thing with updates needed to a bunch of core things.   Not a 
BAD thing, especially for 3.0 or something, but increases the complexity.

2) maven-endorsed-plugin - similar to the toolchains thing, but provides 
special endorsing capabilities.  Would be done in parts.   The plugin plus 
updates to surefire and compiler (and others that may need it).


(2) can definitely be made to work with existing versions of maven, but (1) 
definitely seems "cleaner".   (1) would also allow endorsements to be handled 
from transitive deps, although I'm not sure if that's a good thing or not.  
:-)  

Anyway, what are peoples thoughts?   I think after thanksgiving, I may need to 
start working on bits of this so I'd like to get peoples thoughts and ideas 
before then.    

Dan




On Mon November 9 2009 4:55:17 pm Daniel Kulp wrote:
> While at ApacheCon last week, I talked to Jarek Gawor a bit and then
>  followed up with a quick conversation with Brett about a problem that is
>  soon going to hit CXF/Axis2/Geronimo.
> 
> Basically, we're going to need a mechanism to easily "endorse" a few api
>  jars when we call javac and when surefire runs.     I'm ok with limiting
>  the endorsing to when those plugins are in their "fork" mode.  There are a
>  few options that could be pursued:
> 
> 1) Require all developers to drop some jars in jre/lib/endorsed.   That
>  really sucks.  Not exactly viable, IMO.
> 
> 2) Require all devs to copy the jars someplace and add
>  -Djava.endorsed.dirs=.. to their MAVEN_OPTS.    Also sucks.
> 
> 3) In all modules, configure dependency:copy to copy the artifacts into a
>  dir in target, then add the -D thing as system flags for compiler plugin
>  and surefire.  This is better than (2) as it can be all automatic in the
>  poms, but it's a ton of configuration if dealing with a lot of poms and
>  projects and such.
> 
> 4) Add some mechanism to compiler and surefire (and maybe others) to do
>  some of (3) automatically.   I'm thinking something like:
> 
> <plugin>
>        <groupId>org.apache.maven.plugins</groupId>
>        <artifactId>maven-compiler-plugin</artifactId>
>        <configuration>
>             <endorsedArtifacts>
>                 <endorsedArtifact>
>                       <groupId>...</groupId>
>                       <artifactId>...</artifactId>
>                       <version>....</version>
>                 </endorsedArtifact>
>             </endorsedArtifacts>
>        </configuration>
> </plugin>
> 
> and similar configuration for surefire.   Maybe make <version> optional and
>  it would pick up a version from a dependency.
> 
> 5) Maybe some extension to the ToolChains stuff (which I don't know enough
> about, need to dig further if this is viable) to handle this.
> 
> Anyway, does anyone have any other thoughts?
> 

-- 
Daniel Kulp
dk...@apache.org
http://www.dankulp.com/blog

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to