[ 
https://issues.apache.org/jira/browse/BEAM-1984?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15992660#comment-15992660
 ] 

Ismaël Mejía commented on BEAM-1984:
------------------------------------

I just updated the ticket description for more context on the issue.

The real question and a deeper problem is that we can enable this validation so 
the dependency plugin complains about all the test/runtime dependencies, this 
is a good idea because we will be more precise about dependencies, but it has a 
not so good tradeoff, we need to build exclusion lists, the problem is that 
once a jar is moved, it should be also removed from the exclusion list, but 
this is up to the person who moves the jar out, and I have not found an 
automatic way to detect this, so I am afraid that the solution is worse than 
the sickness. I will do a subsequent PR to show you this in detail so you tell 
me what you think.

{code}
            <configuration>
              <ignoredUnusedDeclaredDependencies>
                
<ignoredUnusedDeclaredDependency>com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar</ignoredUnusedDeclaredDependency>
              </ignoredUnusedDeclaredDependencies>
            </configuration>
{code}

> Enable dependency analysis of non-compile dependencies
> ------------------------------------------------------
>
>                 Key: BEAM-1984
>                 URL: https://issues.apache.org/jira/browse/BEAM-1984
>             Project: Beam
>          Issue Type: Improvement
>          Components: build-system
>    Affects Versions: Not applicable
>            Reporter: Ismaël Mejía
>            Assignee: Ismaël Mejía
>            Priority: Minor
>
> In the Beam parent pom at this moment we have a configuration on the maven 
> dependency plugin to ignore the verification of non-compile dependencies so 
> unused or badly configured dependencies that are used only for test or 
> runtime purposes are not reported.
> {code:xml}
>               <!-- Ignore runtime-only dependencies in analysis -->
>               <ignoreNonCompile>true</ignoreNonCompile>
> {code}
> I discovered this case when I executed:
> {code}
>       mvn clean install -Dmaven.test.skip=true
> {code}
> Notice that this is really particular because this does not compile the tests 
> classes, so it can detect when the ‘main’ classes are not using some code. 
> This is different from the behavior of:
> {code}
>       mvn clean install -DskipTests=true
> {code}
> That does not complain because skipTests compiles the tests.
> For the first case (maven.test.skip) I got a warning ‘Unused declared 
> dependencies found’ so with this I discovered the test/runtime only 
> dependencies that are not correctly scoped. I will do a PR to fix this, 
> because we can get rid of compile dependencies that are test or runtime only.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to