我正在使用 maven-ant-tasks-2.1.3 来从Archiva存储库中提取依赖关系。在对Archiva执行重新部署版本时出现故障使用现有的Ant脚本。我不能直接使用Maven。我想捕获失败并且不会导致构建失败。我有一个变量值的属性文件,如groupId。
我尝试拉出依赖项,如果它不存在则失败。
<artifact:dependencies filesetId="dependency.fileset" >
<remoteRepository id="central" url="http://mvn-repo....../archiva/repository/internal/"/>
<dependency
groupId="${groupId}"
artifactId="${artifactId}"
version="${version}"
/>
</artifact:dependencies>
在将工件重新部署到Archiva repo 时,我也遇到了失败。
<target name="deploy-to-maven">
<artifact:install-provider artifactId="wagon-webdav" version="1.0-beta-2"/>
<artifact:pom id="deploypom" file="${basedir}/pom-entity.xml" />
<artifact:deploy file="${unzip.dir}/${target.jar.name}.jar">
<remoteRepository url="dav:${repository-uri}">
<authentication username="${repository.username}" password="${repository.password}"/>
</remoteRepository>
<pom refid="deploypom"/>
</artifact:deploy>
</target>
我希望检查文件是否存在,然后将可用属性设置为false(如果它不存在)。然后我可以使用目标deploy-to-maven检查该属性。
提前感谢任何提示,
维杰
答案 0 :(得分:1)
这听起来像是使用ant-contrib trycatch任务的好时机:
<trycatch>
<try>
<artifact:dependencies filesetId="dependency.fileset">
<remoteRepository id="central" url="http://mvn-repo....../archiva/repository/internal/" />
<dependency
groupId="${groupId}"
artifactId="${artifactId}"
version="${version}"
/>
</artifact:dependencies>
<property name="dependency.exists" value="true" />
</try>
<catch>
<echo message="Dependency cannot be resolved." />
<property name="dependency.exists" value="false" />
</catch>
</trycatch>