【发布时间】:2022-04-14 13:47:40
【问题描述】:
在我的项目中,我有两个单独的源文件夹 - 代码所在的 /src 和用于模拟和测试对象的 /test。
在 ivy 为我的项目成功发布的标准 jar(来自 /src)之上,我想通过 ivy 发布另一个工件,该工件仅包含 /test 文件夹中的对象,以便能够共享这些模拟对象与其他项目。
有人可以提供一个常春藤配置来支持这个吗?
【问题讨论】:
标签: ivy
在我的项目中,我有两个单独的源文件夹 - 代码所在的 /src 和用于模拟和测试对象的 /test。
在 ivy 为我的项目成功发布的标准 jar(来自 /src)之上,我想通过 ivy 发布另一个工件,该工件仅包含 /test 文件夹中的对象,以便能够共享这些模拟对象与其他项目。
有人可以提供一个常春藤配置来支持这个吗?
【问题讨论】:
标签: ivy
1- 你需要从 test-folder 构建一个 test-jar,我们称之为 project-test.jar
<javac destdir="build/test" srcdir="test/">
<classpath refid="test.classpath" />
</javac>
<jar destfile="dist/project-test.jar"
basedir="build/test"/>
2- 在您的 ivy.xml 中定义一个工件
<publications>
<artifact name="project" type="jar" conf="default" ext="jar"/>
<artifact name="project-test" type="jar" conf="test ext="jar"/>
</publications>
3- 发布
<ivy:resolve
revision="${project.version}"
conf="compile,test"
/>
<!-- Alle Artifacts für compile mit dem jars resolver publishen -->
<ivy:publish
revision="${project.version}">
<artifacts pattern="dist/[artifact]-[revision].[type]" />
</ivy:publish>
【讨论】: