JQAssistant:ScanIncludes 和与包含的关系 Directory/Project

JQAssistant: ScanIncludes and Relationship to containing Directory/Project

我想扫描其他目录(用于配置文件):

<scanInclude>
    <path>
        ${project.basedir}/src/main/profiles
    </path>
</scanInclude>

正在运行,如调试输出中所示

[INFO] Entering C:/..common/common-api/src/main/profiles
[DEBUG] Scanning /weld.profile

找到的文件按预期在 Neo4J 中可见:

match (f:File) where f.fileName ends with ".profile" return f;

returns 个文件。

但是,与包含文件的 Directory/Project 没有 :CONTAINS 关系(与 beans.xml 文件相反)。

存在 :CONTAINS 关系,但仅限于文件绝对路径的文件节点,未标记为目录、工件或容器。

有没有办法通过配置创建这种关系? 也许通过

<scope>
 ...
</scope>

?

我不知道 <scope> 的 correct/possible 值但是...

此致, 汤姆

scanInclude 应该生成一个 Directory 标记的节点,表示 ${project.basedir}/src/main/profiles,它由表示 Maven 项目的节点的 CONTAINS 关系引用。

目录本身应提供与其中所有文件的 CONTAINS 关系(例如 weld.profile)。

作为 Cypher 模式,结构应如下所示:

(project:Maven:Project)-[:CONTAINS]->(profiles:Directory{name:"profiles"}),
(profiles)-[:CONTAINS]->(profile:File{name:"weld.profile"})

你能验证一下吗?

范围参数为插件提供有关内容的提示,例如如果目录是 Java 编译器的输出文件夹,范围 "java:classpath" 将激活字节码扫描器。