JQAssistant:ScanIncludes和包含目录/项目的关系

时间:2017-02-08 14:23:36

标签: jqassistant

我想扫描其他目录(对于profile-Files):

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

正在工作,在Debug-Output

中可见
[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;

返回文件。

但是,没有:CONTAINS与包含文件的目录/项目的关系(与例如beans.xml文件相反)。

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

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

<scope>
 ...
</scope>

我不知道<scope>的正确/可能值,但是......

此致 汤姆

1 个答案:

答案 0 :(得分:0)

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"})

你能验证一下吗?

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