我已经有一些项目已经通过maven进行网站生成了,我想在其中集成cobertura报告,但我似乎没有运行的maven目标将为我生成一个本地预览,包括Cobertura网站上的报告。我想确保它们在我将pom更改到repo之前正确生成并且已经生成了破坏的站点。
以下是我添加到maven poms(父级和模块)的内容,但我在运行mvn site:run
时看到的网站不包含cobertura报告:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<configuration>
<check>
<haltOnFailure>false</haltOnFailure>
<regexes>
<regex>
<pattern>parent-package-name-here.*</pattern>
<branchRate>80</branchRate>
<lineRate>80</lineRate>
</regex>
</regexes>
</check>
<instrumentation>
<includes>
<include>parent-package-name-here/**/*.class</include>
</includes>
</instrumentation>
</configuration>
<executions>
<execution>
<id>clean</id>
<phase>pre-site</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
<execution>
<id>instrument</id>
<phase>site</phase>
<goals>
<goal>instrument</goal>
<goal>cobertura</goal>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
...
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
</plugin>
</plugins>
</reporting>
...
</project>
我应该使用什么maven命令来生成带有cobertura报告的网站?或者,我应该添加(另外)以使网站生成包括cobertura报告?
答案 0 :(得分:3)
应该这样做:
mvn site
详细说明,运行 mvn a:b 在插件a中运行目标b。说 mvn c 意味着运行生命周期阶段c,它将运行所有阶段中的所有绑定目标,直到c。结果,这将触发更多的事情发生(例如做必要的准备以产生cobertura报告)。
答案 1 :(得分:3)
我想出了如何做到这一点。
maven网站生成插件中的链接生成似乎存在很多错误。
我发现使maven生成具有工作模块链接的站点的本地副本的唯一方法是修改distributionManagement/site
标记以指向某个本地目录而不是实际部署目录,然后使用maven site:deploy
。
每次使用mvn site:stage
的尝试都会生成断开的链接。同样适用于mvn site:run
。
该报告与mvn site:run
/ mvn site:stage
的工作方式相关联,但指向模块的链接却没有。
答案 2 :(得分:1)
mvn site
应该做你想要的。您将插件配置为在生命周期的前站点和站点阶段运行,但您正在执行站点:运行目标而不是站点。我们正在用三叶草(商业覆盖工具)做类似的事情,而mvn网站就是这样做的。
答案 3 :(得分:1)
站点:舞台模块链接不能用于我的经验,无论是多模块构建还是站点:部署。试试这个:
在父pom中使用网站网址的属性,例如${site.url}
。然后调用此
mvn clean site site:deploy -Dsite.url=file://`pwd`/target/site-deployed
pwd
是-nix
命令,将替换当前目录。这是因为您使用的URL必须是绝对的。
答案 4 :(得分:0)
我们使用
mvn site-deploy
这会构建网站并对其进行部署(将其复制到我们配置的位置)。
答案 5 :(得分:0)
mvn site:site
应该产生你所追求的目标,在目标目录中,将有一个包含与该目录中的index.html
链接的所有报告的站点目录。