There, done. Affected issues: MNG-1797, MNG-2420 -john
On 9/5/06, John Casey <[EMAIL PROTECTED]> wrote:
Sorry, I didn't have the issue number on hand. I'll look it up and add it to the log message now. -j On 8/31/06, Grzegorz Slowikowski < [EMAIL PROTECTED]> wrote: > > Hello > > Why didn't you use jira issue number in commit message and didn't close > jira > issue > (I don't remember its number)? I'm talking about exclusions bug. > > Grzegorz Slowikowski > > > 2006/8/29, [EMAIL PROTECTED] < [EMAIL PROTECTED]>: > > > > Author: jdcasey > > Date: Tue Aug 29 13:17:14 2006 > > New Revision: 438189 > > > > URL: http://svn.apache.org/viewvc?rev=438189&view=rev > > Log: > > Fixing exclusions that bleed over into other dependencies, and > modifying > > DefaultProfileManager to (a) deprecate constructor that takes Settings > but > > no properties, and (b) add a constructor that takes Settings and > properties. > > > > Modified: > > > > > maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java > > > > > maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java > > > > > > maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java > > > > Modified: > > > maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java > > > URL: > > http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java?rev=438189&r1=438188&r2=438189&view=diff > > > > > > ============================================================================== > > --- > > > maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java > > > (original) > > +++ > > > maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java > > Tue Aug 29 13:17:14 2006 > > @@ -66,18 +66,36 @@ > > */ > > public DefaultProfileManager( PlexusContainer container, > Properties > > props ) > > { > > - this( container, (Settings)null ); > > - if (props != null) { > > - systemProperties = props; > > - } > > + this( container, (Settings)null, props ); > > > > } > > > > + /** > > + * @deprecated without passing in the system properties, the > > SystemPropertiesProfileActivator will not work correctly > > + * in embedded envirnments. > > + */ > > public DefaultProfileManager( PlexusContainer container, Settings > > settings ) > > { > > this.container = container; > > > > loadSettingsProfiles( settings ); > > + } > > + > > + /** > > + * the properties passed to the profile manager are the props > that > > + * are passed to maven, possibly containing profile activator > > properties > > + * > > + */ > > + public DefaultProfileManager( PlexusContainer container, Settings > > settings, Properties props ) > > + { > > + this.container = container; > > + > > + loadSettingsProfiles( settings ); > > + > > + if ( props != null ) > > + { > > + systemProperties = props; > > + } > > } > > > > public Properties getSystemProperties() { > > > > Modified: > > > maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java > > URL: > > > http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java?rev=438189&r1=438188&r2=438189&view=diff > > > > > ============================================================================== > > > --- > > > maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java > > (original) > > +++ > > > maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java > > > Tue Aug 29 13:17:14 2006 > > @@ -48,7 +48,6 @@ > > import java.io.File; > > import java.util.ArrayList; > > import java.util.Collections; > > -import java.util.HashSet; > > import java.util.Iterator ; > > import java.util.LinkedHashSet; > > import java.util.List; > > @@ -337,7 +336,9 @@ > > artifact.setFile( new File( d.getSystemPath() ) ); > > } > > > > - if ( artifact != null && ( dependencyFilter == null || > > dependencyFilter.include( artifact ) ) ) > > + ArtifactFilter artifactFilter = dependencyFilter; > > + > > + if ( artifact != null && ( artifactFilter == null || > > artifactFilter.include( artifact ) ) ) > > { > > if ( d.getExclusions() != null && > > !d.getExclusions().isEmpty() ) > > { > > @@ -350,20 +351,20 @@ > > > > ArtifactFilter newFilter = new > > ExcludesArtifactFilter( exclusions ); > > > > - if ( dependencyFilter != null ) > > + if ( artifactFilter != null ) > > { > > AndArtifactFilter filter = new > > AndArtifactFilter(); > > - filter.add( dependencyFilter ); > > + filter.add( artifactFilter ); > > filter.add( newFilter ); > > - dependencyFilter = filter; > > + artifactFilter = filter; > > } > > else > > { > > - dependencyFilter = newFilter; > > + artifactFilter = newFilter; > > } > > } > > > > - artifact.setDependencyFilter( dependencyFilter ); > > + artifact.setDependencyFilter( artifactFilter ); > > > > if ( project != null ) > > { > > > > Modified: > > > maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java > > URL: > > > http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java?rev=438189&r1=438188&r2=438189&view=diff > > > > > ============================================================================== > > > --- > > > maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java > > (original) > > +++ > > > maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java > > > Tue Aug 29 13:17:14 2006 > > @@ -3,18 +3,71 @@ > > import org.apache.maven.artifact.Artifact; > > import org.apache.maven.artifact.ArtifactUtils; > > import org.apache.maven.artifact.factory.ArtifactFactory ; > > +import org.apache.maven.artifact.resolver.filter.ArtifactFilter; > > +import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter; > > import org.apache.maven.model.Dependency; > > import org.apache.maven.model.DependencyManagement ; > > +import org.apache.maven.model.Exclusion; > > import org.apache.maven.model.Model; > > import org.apache.maven.project.MavenProject; > > import org.apache.maven.project.injection.ModelDefaultsInjector ; > > import org.codehaus.plexus.PlexusTestCase; > > > > +import java.util.ArrayList; > > +import java.util.Iterator; > > +import java.util.List; > > import java.util.Map; > > +import java.util.Set ; > > > > public class MavenMetadataSourceTest > > extends PlexusTestCase > > { > > + > > + public void > > testShouldNotCarryExclusionsOverFromDependencyToDependency() > > + throws Exception > > + { > > + Dependency dep1 = new Dependency(); > > + dep1.setGroupId( "test" ); > > + dep1.setArtifactId( "test-artifact" ); > > + dep1.setVersion ( "1" ); > > + dep1.setType( "jar" ); > > + > > + Exclusion exc = new Exclusion(); > > + exc.setGroupId( "test" ); > > + exc.setArtifactId( "test-artifact3" ); > > + > > + dep1.addExclusion( exc ); > > + > > + Dependency dep2 = new Dependency(); > > + dep2.setGroupId( "test" ); > > + dep2.setArtifactId( "test-artifact2" ); > > + dep2.setVersion( "1" ); > > + dep2.setType( "jar" ); > > + > > + List deps = new ArrayList(); > > + deps.add( dep1 ); > > + deps.add( dep2 ); > > + > > + ArtifactFactory factory = ( ArtifactFactory ) lookup( > > ArtifactFactory.ROLE ); > > + > > + ArtifactFilter dependencyFilter = new ScopeArtifactFilter( > > Artifact.SCOPE_COMPILE ); > > + > > + MavenProject project = new MavenProject( new Model() ); > > + > > + Set result = MavenMetadataSource.createArtifacts( factory, > deps, > > null, dependencyFilter, project ); > > + > > + for ( Iterator it = result.iterator(); it.hasNext(); ) > > + { > > + Artifact artifact = ( Artifact ) it.next(); > > + > > + if ( "test-artifact2".equals( artifact.getArtifactId() ) > ) > > + { > > + ArtifactFilter filter = artifact.getDependencyFilter > (); > > + > > + assertSame( dependencyFilter, filter ); > > + } > > + } > > + } > > > > public void testShouldUseCompileScopeIfDependencyScopeEmpty() > > throws Exception > > > > > > > >