http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-dependency-plu
gin/src/main/java/org/apache/maven/plugin/dependency/utils/filters

I have a simple interface that they all implement, basically they get
configured (could be injected components), then "filter(full list of
artifacts) returns filtered list of artifacts".

public interface ArtifactsFilter
{
    Set filter( Set artifacts, Log log )
        throws MojoExecutionException;

    boolean okToProcess( Artifact artifact, Log log )
        throws MojoExecutionException;
}

All filters support both includes and excludes although currently not at
the same time (excludes is ignored if includes is used...but I planned
on changing this and it shouldn't be complicated). 

I chain them together in a defined list currently, but will soon allow
the order of filtering to be changed to get different effects.

I have:
Type Filter
Transitivity Filter
Scope Filter
Classifier Filter
ArtifactId Filter (supports wildcards)
GroupId Filter (supports wildcards)

Then there is a subsystem supporting marker files (for filtering out
things that may have already been unpacked) and a filter for those.

I definitely think they should be collected as they are generic (perhaps
the marker file one is mdep specific).

If you look at the code, all of the them used existing core artifact
code to check things, but I had to wrap it because the existing filters
didn't express their functionality in the needed way. Ie you could ask
is this artifact in the test scope? But not give me the list of things
in test scope or not test scope etc.

So if we collect these together, possibly we could combine the core code
I'm calling into these filters and each one can expose both the original
and enhanced functionality.

-----Original Message-----
From: Jason van Zyl [mailto:[EMAIL PROTECTED] 
Sent: Monday, September 03, 2007 8:38 PM
To: Maven Developers List
Subject: Re: Lining up maven-artifact for a release


On 3 Sep 07, at 5:30 PM 3 Sep 07, Brian E. Fox wrote:

> I can move in the dependency-plugin filters once you create the  
> location
> for them. They may need a little refactoring to move away from
> dependency-plugin code, not sure.
>

How many do you have and do you think it's makes sense to collect them?

> -----Original Message-----
> From: Jason van Zyl [mailto:[EMAIL PROTECTED]
> Sent: Monday, September 03, 2007 3:49 PM
> To: Maven Developers List
> Subject: Lining up maven-artifact for a release
>
> Hi,
>
> We need to collect all outstanding fixes done on the 2.0.x branch
> merged into the decoupled version and we need to collect all the
> filters that are floating around all over the place. I think the
> filters can be in a separate tree and we can decide what we want to
> shade in by default but we need to collect this before doing a  
> release.
>
> Doxia is about to be released, and when maven-artifact is released we
> can release 2.1-alpha-1.
>
> Mark do you want to try and get your changes into the decouple maven-
> artifact?
>
> I will hunt around for filters and make some space in SVN for them.
>
> Thanks,
>
> Jason
>
> ----------------------------------------------------------
> Jason van Zyl
> Founder and PMC Chair, Apache Maven
> jason at sonatype dot com
> ----------------------------------------------------------
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>

Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder and PMC Chair, Apache Maven
jason at sonatype dot com
----------------------------------------------------------




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


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

Reply via email to