You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Richard Eckart de Castilho (Jira)" <ji...@apache.org> on 2023/03/20 15:38:00 UTC
[jira] [Created] (MSHARED-1211) Source-only dependencies are not detected
Richard Eckart de Castilho created MSHARED-1211:
---------------------------------------------------
Summary: 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
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)