我在我定义所有IVY配置和依赖项的项目中有我的version.xml。我使用ANT脚本来下载和检索人工制品,到目前为止一切正常。
我正在寻找的是,无论如何我都可以找到version.xml中是否存在某些配置,并且某些依赖项被配置为从ANT脚本中使用它,比如检查,因为我想做一些额外的东西,如果它是配置其他明智只是跳过。例如,我的version.xml如下所示;
<?xml-stylesheet type="text/xsl" href="http://repository.temenosgroup.com/xsl/version-doc.xsl"?>
<ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra">
<info organisation="TEMENOS" branch="MAIN" module="StateEngine" />
<!-- "war->compile(*)" this means the 'war' configuration depends on the
'compile' configuration of the dependency and if the dependency is not
found in 'compile' then use the 'default' (same as '*') config (usually that is all dependencies) -->
<configurations defaultconfmapping="test->test(*);compile->compile(*);componentDep->componentDep(*)">
<conf name="test" description="Test Time dependencies"/>
<conf name="compile" description="Build Time dependencies"/>
<conf name="componentDep" description="To resolve component level dependencies" />
</configurations>
<publications>
<artifact name="#SERVICE_NAME#" type="" ext="zip" />
<artifact name="#SERVICE_NAME#" type="" ext="zip" e:platform="#PLATFORM_WIN#" />
<artifact name="#SERVICE_NAME#" type="" ext="zip" e:platform="#PLATFORM_UNIX#" />
</publications>
<dependencies>
....
<!-- Define Component Level Dependencies Below -->
<dependency org="TEMENOS" branch="MAIN" name="StateMachine" transitive="false" rev="latest-dev" conf="componentDep" >
<artifact name="StateMachineService" ext="zip" e:platform="#PLATFORM_WIN#" type="" conf="componentDep" />
<artifact name="StateMachineService" ext="zip" e:platform="#PLATFORM_UNIX#" type="" conf="componentDep" />
<artifact name="StateMachineService" ext="zip" type="" conf="componentDep" />
</dependency>
</dependencies>
</ivy-module>
那么,ANT中是否有任何可用的目标,例如'ivy:...',它可以返回'true'或'false'一些如何告诉我有一个依赖项试图使用名为'componentDep'的配置?所以我可以做我额外的东西..另外跳过。我不想在ANT中自己解析文件,因为这不是一个好主意。
注意:我使用的是ANT 1.8.2和IVY 2.2.0
希望我有意义。如果您需要更多信息,请与我们联系。
谢谢,
-
Sjunejo
答案 0 :(得分:2)
Ivy通常使用名为 ivy.xml .....
的文件解析我怀疑您的 version.xml 文件是否可以替换?也许您的构建在运行时生成常春藤文件?
常春藤发布的文件名称似乎无效....我怀疑你是#SERVICE_NAME#.zip
的第3个文件<publications>
<artifact name="#SERVICE_NAME#" type="" ext="zip" />
<artifact name="#SERVICE_NAME#" type="" ext="zip" e:platform="#PLATFORM_WIN#" />
<artifact name="#SERVICE_NAME#" type="" ext="zip" e:platform="#PLATFORM_UNIX#" />
</publications>
你的构建中的其他地方我认为有一个过滤后的副本.....
我认为您正在寻找ivy resolution report?这将创建与每个项目配置关联的文件的HTML报告。使用如下:
<target name="init">
<ivy:resolve/>
<ivy:report todir='${ivy.reports.dir}' graph='false' xml='false'/>
..
</target>