You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by John Casey <ca...@gmail.com> on 2006/09/05 18:37:59 UTC

Re: svn commit: r438189 - in /maven/components/trunk/maven-project/src: main/java/org/apache/maven/profiles/ main/java/org/apache/maven/project/artifact/ test/java/org/apache/maven/project/artifact/

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 <gs...@gmail.com> 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, jdcasey@apache.org <jd...@apache.org>:
> >
> > 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
> >
> >
> >
>
>

Re: svn commit: r438189 - in /maven/components/trunk/maven-project/src: main/java/org/apache/maven/profiles/ main/java/org/apache/maven/project/artifact/ test/java/org/apache/maven/project/artifact/

Posted by John Casey <ca...@gmail.com>.
There, done. Affected issues: MNG-1797, MNG-2420

-john

On 9/5/06, John Casey <ca...@gmail.com> 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 < gslowikowski@gmail.com> 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, jdcasey@apache.org < jdcasey@apache.org>:
> > >
> > > 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
> > >
> > >
> > >
> >
> >
>