+1

notice that it may show that we have an issue with the way transitivity + 
nearest resolution are applied

IIUC this case, we have:
1. a direct dependency with scope = test
2. a transitive dependency with scope = compile

the result can't be just the direct dependency with scope=test: scope of 
direct dependency has to switch to compile (and I don't know which version 
should be kept: direct or transitive)

I'm sure we have edge cases with transitive dependencies algorithm and scopes

For a long time now, I want to create a builder API to create dependencies 
unit tests, to ease creating tests, avoiding the nightmare of creating a bunch 
of pom.xml files in a test local repo that are used by a unit test, with hard 
to document rationale
Seems like it is time to work on it now...

Regards,

Hervé

Le samedi 24 décembre 2016, 17:03:03 CET Robert Scholte a écrit :
> With this commit commons-io gets the default scope.
> Suppose PMD drops commons-io, then there's no reason that this dependency
> has the compile scope.
> Assuming the unittests are using commons-io it makes sense that it has the
> test-scope.
> Be aware that users can overwrite dependencies of plugins in their pom.xml
> Developers can only know about the dependencies for their src/main/java
> and src/test/java code, and cannot do any assumptions about transitive
> dependencies due to all the override mechanisms in Maven.
> It may be clear that I don't like these changes.
> 
> Robert
> 
> On Sat, 24 Dec 2016 15:56:53 +0100, <[email protected]> wrote:
> > Author: schulte
> > Date: Sat Dec 24 14:56:53 2016
> > New Revision: 1775971
> > 
> > URL: http://svn.apache.org/viewvc?rev=1775971&view=rev
> > Log:
> > [MPMD-230] Required class missing: org/apache/commons/io/IOUtils
> > 
> > Modified:
> >     maven/plugins/trunk/maven-pmd-plugin/pom.xml
> > 
> > Modified: maven/plugins/trunk/maven-pmd-plugin/pom.xml
> > URL:
> > http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/pom.xml?
> > rev=1775971&r1=1775970&r2=1775971&view=diff
> > =========================================================================
> > ===== --- maven/plugins/trunk/maven-pmd-plugin/pom.xml (original)
> > +++ maven/plugins/trunk/maven-pmd-plugin/pom.xml Sat Dec 24 14:56:53 2016
> > @@ -216,13 +216,13 @@ under the License.
> > 
> >        <groupId>org.apache.httpcomponents</groupId>
> >        <artifactId>httpclient</artifactId>
> >        <version>4.3.5</version>
> > 
> > -      <scope>test</scope>
> > +      <!-- scope>test</scope> Required by Doxia transitively. -->
> > 
> >      </dependency>
> >      <dependency>
> >      
> >        <groupId>commons-io</groupId>
> >        <artifactId>commons-io</artifactId>
> >        <version>2.5</version>
> > 
> > -      <scope>test</scope>
> > +      <!-- scope>test</scope> Required by PMD transitively. -->
> > 
> >      </dependency>
> >    
> >    </dependencies>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to