build_ivy构建文件

<?xml version="1.0"?>
<project name="hello-ivy" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">

<property name="ant.dir" value="E:/Program Files/apache-ant-1.8.3" />

<property name="build.debug" value="on" />
<property name="src.dir" value="src" />
<property name="lib.dir" value="lib" />
<property name="build.dir" value="build" />
<property name="dist.dir" value="dist" />
<property name="publish.version" value="1.0" />

<property name="classes.dir" value="${build.dir}/classes" />


<!-- 设置工作目录 ivy通过以下方式确认该目录的具体路径:

1. 查找变量ivy.default.ivy.user.dir
2. 如果没有找到,查找变量ivy.home
3. 如果还没有找到,查找变量user.home Ivy 使用cache目录来存放缓存文件,ivy通过以下方式确认该目录的具体路径:
1. 查找变量ivy.cache.dir
2. 如果没有找到,使用ivy.default.ivy.user.dir/cache 项目通用: 设置环境变量env.ivy.default.ivy.user.dir=G:\soft\ivy\userdir

build.xml中这样引用: <property environment="env"/>
<property name="ivy.default.ivy.user.dir" value="${env.ivy.default.ivy.user.dir}" />
-->


<!--设置ivy工作路径 -->
<property name="ivy.default.ivy.user.dir" value="${ant.dir}/repository" />


<path id="lib.path">
<fileset dir="${lib.dir}" />
</path>

<path id="run.path">
<path refid="lib.path" />
<path location="${classes.dir}" />
</path>


<!-- 初始化ivy配置文件 -->
<ivy:settings file="ivysettings.xml" />


<target name="clean">
<delete includeemptydirs="true">
<fileset dir="${build.dir}" />
<fileset dir="${dist.dir}" />
</delete>
</target>

<target name="clean-cache">
<ivy:cleancache />
</target>

<target name="init">
<echo>initing...</echo>
<mkdir dir="${build.dir}" />
<mkdir dir="${classes.dir}" />
<mkdir dir="${dist.dir}" />
</target>


<!-- 通过ivy下载依赖 ,默认ivy文件名为ivy.xml -->
<target name="resolve" depends="init">
<ivy:resolve file="ivy.xml" />
<!-- 先解析ivy,从maven仓库下载依赖到缓存(默认在你的user home下的.ivy2/cache 目录),最后复制到项目默认的lib目录 -->
<ivy:retrieve pattern="${lib.dir}/[artifact](-[revision]).[ext]" />
</target>

<!--生成所有依赖的详细报告 ,默认build目录中的生成文件 -->
<target name="report" depends="resolve">
<ivy:report todir="${build.dir}" />
</target>


<target name="compile" depends="resolve">
<javac encoding="utf-8" debug="${build.debug}" srcdir="${src.dir}"
classpathref="lib.path" destdir="${classes.dir}" />

<native2ascii src="${src.dir}" dest="${classes.dir}"
includes="*.properties" encoding="UTF-8" />

<copy todir="${classes.dir}">
<fileset dir="${src.dir}">
<exclude name="**/*.properties" />
</fileset>
</copy>

</target>

<target name="jar" depends="compile">
<tstamp>
<format property="jar.time" pattern="MM/dd/yyyy hh:mm aa" locale="en" />
</tstamp>
<buildnumber />

<jar destfile="${dist.dir}/${ant.project.name}.jar">
<manifest>
<attribute name="Build-Version" value="${publish.version}" />
<attribute name="Build-On" value="${jar.time}" />
<attribute name="Build-By" value="${user.name}" />
<attribute name="Build-Number" value="${build.number}" />
</manifest>

<!-- Jar should not include xml and property files -->
<fileset dir="${classes.dir}">
<exclude name="**/*.xml" />
<exclude name="**/*.properties" />
</fileset>
</jar>
</target>

<!--
<target name="run" depends="compile">
<property name="msg" value="hello ivy !" />
<java classpathref="run.path" classname="example.Hello">
<arg value="-message" />
<arg value="${msg}" />
</java>
</target>
-->


<!-- 和nexus集成
1. ivysettings.xml 将原有的 <include url="${ivy.default.settings.dir}/ivysettings-public.xml"/>
修改为 <include url="./ivysettings-public.xml"/>


2. 在ivysettings.xml相同目录下放置ivysettings-public.xml文件
实际从ivy.jar包中copy出对应文件,然后修改
<ibiblio name="public" m2compatible="true" root="http://192.168.0.30:8081/nexus/content/groups/public/"/>
注意这里的name="public"不能改,否则会报错。
-->

</project>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值