Problem
The Java parser regex matches imports using the name field from archlens.json:
import\s+(static\s+)?{{ProjectName}}\.(.+);
For a project like Apache Wayang, the Java imports are import org.apache.wayang.xxx, but a user would naturally set "name": "wayang". The parser finds zero dependencies because it looks for import wayang.xxx.
The workaround is to set "name": "org.apache.wayang" but this is unintuitive — the name field is supposed to be the project name, not the Java package prefix.
Suggestion
The parser could:
- Auto-detect the common package prefix by scanning the
package declarations in the Java source files
- Add a separate config field like
"packagePrefix" for Java/Kotlin projects
- Or simply match all
import statements and filter to internal dependencies based on which packages are found in the source tree
The same issue likely applies to the Kotlin parser which uses a similar approach.
Problem
The Java parser regex matches imports using the
namefield fromarchlens.json:For a project like Apache Wayang, the Java imports are
import org.apache.wayang.xxx, but a user would naturally set"name": "wayang". The parser finds zero dependencies because it looks forimport wayang.xxx.The workaround is to set
"name": "org.apache.wayang"but this is unintuitive — thenamefield is supposed to be the project name, not the Java package prefix.Suggestion
The parser could:
packagedeclarations in the Java source files"packagePrefix"for Java/Kotlin projectsimportstatements and filter to internal dependencies based on which packages are found in the source treeThe same issue likely applies to the Kotlin parser which uses a similar approach.