ant构建脚本问题
我有两个名为“build”和“tarne”的ant构建脚本 建造:ant构建脚本问题,ant,ant-contrib,Ant,Ant Contrib,我有两个名为“build”和“tarne”的ant构建脚本 建造: <?xml version="1.0" ?> <project name="build" default="zip"> <property name="project.name" value="projectName"/> <property name="version" value="default_version_value"/> <task
<?xml version="1.0" ?>
<project name="build" default="zip">
<property name="project.name" value="projectName"/>
<property name="version" value="default_version_value"/>
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath>
<pathelement location="lib/build/ant-contrib.jar"/>
</classpath>
</taskdef>
<var name="version2" value="default_version_value"/>
<property name="tmp" value="tmp"/>
<property name="build.dir" location="${tmp}/component/${project.name}"/>
<property name="java.classes" location="${tmp}/component/${project.name}/classes"/>
<property name="weblayout.dir" location="${tmp}/weblayout/resources/${project.name}"/>
<path id="compile.classpath">
<fileset dir="lib" includes="**/*.jar" />
<fileset dir="lib/build" includes="*.zip" />
</path>
<target name="clean">
<delete dir="${tmp}" />
</target>
<target name="init" depends="clean">
<mkdir dir="${java.classes}" />
</target>
<target name="compile" depends="init">
<javac srcdir="src" source="1.5" target="1.5" encoding="utf-8" includes="**/*.java" destdir="${java.classes}" classpathref="compile.classpath" />
</target>
<target name="copy-resources" depends="compile">
//Lots of copying here
</target>
<target name="read.version" description="Parses the hda file for your version number">
<property file="${project.name}.hda" prefix="hda"/>
<propertyregex property="version" input="${hda.version}" regexp="\." replace="-" global="true" override="true"/>
<var name="version2" value="${version}"/>
<echo>${version}</echo>
<echo>${version2}</echo>
</target>
<target name="zip" depends="copy-resources, read.version" description="Package component">
<zip destfile="${project.name}-${version}.zip" basedir="${tmp}" />
<delete dir="${tmp}" />
</target>
</project>
其中前两行(v1-0-1)来自build.xml的read.version目标内部,接下来的两行来自tarne.xml。一般的想法是,我应该能够访问tarne.xml构建脚本中的版本号
有什么问题吗 试试看
<property name="version" value="${build.version}"/>
<property name="version2" value="${build.version2}"/>
Antcall不支持您打算执行的操作: : 在新项目中运行被调用的目标;请注意,这意味着被调用目标设置的属性、引用等将不会保留回调用项目 你可以试试:
<target name="tarne" depends="build.read.version">
</target>
这将保留新的值。这是可行的,但是Eclipse向我发出了“Target build.read.version在此项目中不存在”的消息(运行正常,只是Eclipse在导入时找不到目标)。在导入build.xml时,关于如何通过该测试的任何想法?depends=“read.version”都应该是正确的
<property name="version" value="${build.version}"/>
<property name="version2" value="${build.version2}"/>
<target name="tarne" depends="build.read.version">
</target>