【问题标题】:How to publish a test source folder using ivy?如何使用 ivy 发布测试源文件夹?
【发布时间】:2022-04-14 13:47:40
【问题描述】:

在我的项目中,我有两个单独的源文件夹 - 代码所在的 /src 和用于模拟和测试对象的 /test。

在 ivy 为我的项目成功发布的标准 jar(来自 /src)之上,我想通过 ivy 发布另一个工件,该工件仅包含 /test 文件夹中的对象,以便能够共享这些模拟对象与其他项目。

有人可以提供一个常春藤配置来支持这个吗?

【问题讨论】:

    标签: ivy


    【解决方案1】:

    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>
    

    【讨论】:

    • 谢谢。我们到底在哪里告诉它从测试文件夹中获取所有文件?
    • 您需要在 build.xml 中使用 javac-target 和 jar-target 来编译测试类并将它们放入新的 jar 中
    猜你喜欢
    • 2020-09-12
    • 2011-07-03
    • 1970-01-01
    • 2014-01-31
    • 2015-11-28
    • 2018-07-06
    • 1970-01-01
    • 2019-09-07
    • 2020-11-09
    相关资源
    最近更新 更多