所以我在 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/插件/cobertura
而这下面的文件结构如下。
drwxrwxr-x 2 vpbuild vpbuild 4096 1 月 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 12 月 15 日 12:36 WEB-INF
因此,如果这是我的 cobertura.dir,则此处没有定义 lib 子目录。WEB-INF 中有,但那里没有 cobertura 罐子……所以看起来都不对。
我还单独下载了 cobertura jar,并将其放在 ANT_HOME/lib 中,希望有助于使 cobertura 任务对 ANT 更可见,但不确定这将如何影响我需要执行的 build.xml。
任何人都有任何配置 cobertura 的经验,以便它可以通过 ant 以这种方式在 jenkins 内外运行?build.xml 需要是什么样子才能实现它?
-吉姆