【发布时间】:2012-12-19 09:51:11
【问题描述】:
所以我在 Eclipse 中有一个 java 项目。我通过ant构建war文件。我可以从 Eclipse、命令行或 Jenkins 调用它。我正在设置环境的方式是尝试并保持所有这三种构建方式的工作,并尽可能少地改变环境来实现它。
所以我目前正在通过我的 ant build.xml 进行编译、创建战争、生成 javadoc 和运行 junit
尝试添加 Cobertura 代码覆盖率。
我已经为 Cobertura 安装了 Jenkins,现在我正在尝试让 junit 运行以与 Cobertura 一起正确检测类并生成覆盖文件。
cobertura 文档说首先定义任务如下。
<property name="cobertura.dir" value="C:/javastuff/cobertura" />
<path id="cobertura.classpath">
<fileset dir="${cobertura.dir}">
<include name="cobertura.jar" />
<include name="lib/**/*.jar" />
</fileset>
</path>
<taskdef classpathref="cobertura.classpath" resource="tasks.properties" />
显然不喜欢那个 C:\ ...我需要一个有效的 cobertura.dir ...但如何配置它并不是很明显。 Jenkins 将插件的所有类都放在这里
.jenkins/plugins/cobertura
而这下面的文件结构如下。
drwxrwxr-x 2 vpbuild vpbuild 4096 Jan 4 10:42 图像 drwxrwxr-x 3 vpbuild vpbuild 4096 12 月 15 日 12:36 META-INF -rw-rw-r-- 1 vpbuild vpbuild 0 Jan 4 10:41 .timestamp drwxrwxr-x 4 vpbuild vpbuild 4096 Dec 15 12:36 WEB-INF
因此,如果这是我的 cobertura.dir,则此处没有定义 lib 子目录。 WEB-INF 里有,但是那里没有 cobertura 罐子……所以看起来都不对。
我还单独下载了 cobertura jar,并将其放在 ANT_HOME/lib 中,希望有助于使 cobertura 任务对 ANT 更可见,但不确定这将如何影响我在构建时需要做的事情.xml。
任何人有任何配置 cobertura 的经验,以便它可以通过 ant 以这种方式在 jenkins 内部和外部运行? build.xml 需要是什么样子才能实现它?
-吉姆
【问题讨论】:
标签: eclipse ant junit jenkins cobertura