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 > > >