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

Richard Eckart de Castilho commented on MSHARED-1211:
-----------------------------------------------------

Compile-only is basically "provided" in Maven, no?

> Source-only dependencies are not detected
> -----------------------------------------
>
>                 Key: MSHARED-1211
>                 URL: https://issues.apache.org/jira/browse/MSHARED-1211
>             Project: Maven Shared Components
>          Issue Type: Bug
>          Components: maven-dependency-analyzer
>    Affects Versions: maven-dependency-analyzer-1.13.0
>            Reporter: Richard Eckart de Castilho
>            Priority: Major
>
> If a class in the `src/main/java` part module A has a source-only dependency 
> on a class in module B, the dependency dependency of A to B is not detected. 
> This can lead to build failures if any class in the `src/main/test` part of 
> module A also has dependencies on module B as the analyzer claims that the 
> dependency of module B should be moved to the `test` scope. Doing so - 
> however - then breaks the build.
> One such source-only dependency would be the import of a compile-time 
> constant (e.g. static final String = "XXX") from a class in module B. Such 
> constants are inlined into the class file produced for the class of module A. 
> Thus, the compile-time dependency on module B cannot be determined by 
> inspecting the class file using ASM.
> I guess the only way to fix this issue would be introducing another analyzer 
> implementation which would look at the source files. Currently (1.13.0), the 
> only implementation of the `ClassAnalyzer` interface is based on ASM (i.e. on 
> inspecting class files).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to