<?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>
<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>