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]