[ 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)