は、以下の可能な解決策を自分で見つけかかわらなどIVYのjavaを通じてivy.xmlを解析するなどの他のオプションを試してみました
<target name="autoincrementivy" depends="prompt-user.password">
<exec executable="svn" failonerror="${svn.failonerror}">
<arg value="--non-interactive"/>
<arg value="--trust-server-cert"/>
<arg value="--username"/>
<arg value="${svn.user}"/>
<arg value="--password"/>
<arg value="${svn.password}"/>
<arg value="checkout"/>
<arg value="--depth"/>
**<arg value="immediates"/>**
<arg value="${svn.repository}/@{module.name}/trunk"/>
<arg value="${temp.checkout.dir}/@{module.name}"/>
</exec>
<move file="${temp.checkout.dir}/ivy.xml" tofile="${temp.checkout.dir}/ivy_src.xml"/>
<ant target="changeVersion" antfile="../deploy.xml" >
<property name="dest.file" value="${temp.checkout.dir}/ivy.xml"/>
<property name="src.file" value="${temp.checkout.dir}/ivy_src.xml"/>
<property name="target.version" value="${tag.version}"/>
</ant>
<!-- cehckin the file-->
</target>
上記のタスクは.svnフォルダの一時フォルダにチェックアウトして、cehckinが正しく動作するようにしてください。
<target name="changeVersion">
<xmltask source="${src.file}" dest="${dest.file}" preserveType="true" >
<replace path="/ivy-module/info/@revision" withText="${target.version}" />
<replace path="/ivy-module/dependencies/dependency[@name='my-common']/@rev" withText="${target.version}" />
<replace path="/ivy-module/dependencies/dependency[@name='my-gui-common']/@rev" withText="${target.version}" />
</xmltask>
<fixcrlf file="${src.file}" eol="cr" />
</target>
上記のターゲットは、バージョンを解析して変更します。
自分のリビジョン番号、またはあなたが参照している依存関係の1つについて質問しているかどうかはわかりません。あなたは常にivy記述子の中でantのプロパティを使うことができるので、これを使って独自のリビジョンを指定することができます。 –
Joeriに感謝します。私は依存ファイルのバージョンを参照しています。 –