IAm*_*aja 4 java ant build.xml ivy
通常,要使Ivy任务可用于Ant构建,您需要:
ivy.jar到${ANT_HOME}/lib.xmlns:ivy="antlib:org.apache.ivy.ant"在build.xml的<project>元素中添加一个声明.<taskdef>在build.xml中添加一个声明,该声明引用定义了所有其他任务ivy.jar的antlib.xml文件.我想完成所有上述的除所述第一步骤(添加ivy.jar到${ANT_HOME}/lib).我想ivy.jar生活在我的项目中的某个地方,比如说lib/buildtime/ivy.jar,以及以某种方式参考lib/buildtime/ivy.jar常春藤的位置.
这可能吗?如果是这样,怎么样?如果没有,为什么?提前致谢!
如果常春藤罐位于标准ANT库目录中,则不需要taskdef(步骤3).
我建议包括一个特殊的"bootstrap"目标,它将安装常春藤罐.完成此操作后,ivy可以将所有其他依赖项(包括第三方ANT任务)作为构建依赖项下载.
这是我的默认构建文件,演示了这个概念:
<project name="demo" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="bootstrap" description="Install ivy">
<mkdir dir="${user.home}/.ant/lib"/>
<get dest="${user.home}/.ant/lib/ivy.jar" src="http://search.maven.org/remotecontent?filepath=org/apache/ivy/ivy/2.3.0/ivy-2.3.0.jar"/>
</target>
<target name="resolve" description="Use ivy to resolve classpaths">
<ivy:resolve/>
<ivy:report todir='build/ivy-reports' graph='false' xml='false'/>
<ivy:cachepath pathid="compile.path" conf="compile"/>
<ivy:cachepath pathid="test.path" conf="test"/>
</target>
<target name="clean" description="Cleanup build files">
<delete dir="build"/>
</target>
<target name="clean-all" depends="clean" description="Additionally purge ivy cache">
<ivy:cleancache/>
</target>
</project>
Run Code Online (Sandbox Code Playgroud)
笔记:
| 归档时间: |
|
| 查看次数: |
4344 次 |
| 最近记录: |