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


Reply via email to