View Javadoc
1   package org.apache.maven.it;
2   
3   import java.io.File;
4   import java.util.List;
5   
6   import org.apache.maven.it.util.ResourceExtractor;
7   
8   public class MavenITmng5783PluginDependencyFiltering
9       extends AbstractMavenIntegrationTestCase
10  {
11  
12      public MavenITmng5783PluginDependencyFiltering()
13      {
14          super( "[3.0,)" );
15      }
16  
17      public void testSLF4j()
18          throws Exception
19      {
20          File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-5783-plugin-dependency-filtering" );
21          Verifier verifier = newVerifier( new File( testDir, "plugin" ).getAbsolutePath(), "remote" );
22          verifier.executeGoal( "install" );
23          verifier.verifyErrorFreeLog();
24          verifier.resetStreams();
25  
26          verifier = newVerifier( new File( testDir, "slf4j" ).getAbsolutePath(), "remote" );
27          verifier.executeGoal( "validate" );
28          verifier.verifyErrorFreeLog();
29          verifier.resetStreams();
30  
31          // Note that plugin dependencies always include plugin itself and plexus-utils
32  
33          List<String> dependencies = verifier.loadLines( "target/dependencies.txt", "UTF-8" );
34          if ( matchesVersionRange( "(,4.0.0-alpha-1)" ) )
35          {
36              assertEquals( 3, dependencies.size() );
37          }
38          else
39          {
40              assertEquals( 2, dependencies.size() );
41          }
42          assertEquals( "mng-5783-plugin-dependency-filtering:mng-5783-plugin-dependency-filtering-plugin:maven-plugin:0.1",
43                        dependencies.get( 0 ) );
44          assertEquals( "org.slf4j:slf4j-api:jar:1.7.5", dependencies.get( 1 ) );
45          if ( matchesVersionRange( "(,4.0.0-alpha-1)" ) )
46          {
47              assertEquals( "org.codehaus.plexus:plexus-utils:jar:1.1", dependencies.get( 2 ) );
48          }
49      }
50  }