beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ismaël Mejía (JIRA) <>
Subject [jira] [Commented] (BEAM-1984) Enable dependency analysis of non-compile dependencies
Date Tue, 02 May 2017 09:56:04 GMT


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.


> Enable dependency analysis of non-compile dependencies
> ------------------------------------------------------
>                 Key: BEAM-1984
>                 URL:
>             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

View raw message