私のプロジェクトでは、ディレクトリの作成、ファイルの削除など、多くのことを行うためにantタスクを使用しています。この場合、SVN-serverから完全に動作するブランチのリストを取得します。これはすべて私のプログラムの実行時に発生し、javaコードからタスクを起動します。ランタイム中にANTタスク(プロパティを設定)を操作する
私の質問です:antファイル(tasks.xml)を操作することは可能ですか?ユーザーはユーザー名とパスワードの組み合わせを入力する必要があります。タスクを起動するときは、これらの資格情報をプロパティの代わりに自分のant-taskで使用する必要があります。
のAnt-ファイル:私はJavaでそれを使用する方法
<target name="getBranchList">
<exec executable="c:/svnclient/svn.exe"
output="c:/test/output/versionsonsvn.log">
<arg value="ls" />
<arg value="--username" />
<arg value="${svn.user}" />
<arg value="--password" />
<arg value="${svn.password}" />
<arg value="--non-interactive" />
<arg value="--trust-server-cert" />
<arg value="${svn.server}" />
</exec>
</target>
:
import org.apache.tools.ant.*;
public static void main(final String[] args) {
Vector<String> v = new Vector<String>();
v.add("getBranchList");
v.add("someOtherTask");
fireAntTasks("c:/test/tasks.xml", v); }
private void fireAntTasks(String fileName, Vector<String> v) {
File taskFile = new File(fileName);
if (buildFile.exists()) {
Project p = new Project();
p.setUserProperty("ant.file", buildFile.getAbsolutePath());
p.init();
ProjectHelper helper = ProjectHelper.getProjectHelper();
p.addReference("ant.projectHelper", helper);
helper.parse(p, buildFile);
p.executeTargets(v);
} else {
System.out.println("File not found!");
}
}
私が想像できる唯一のソリューションは、ファイルを直接操作することである( "でプロパティを設定tasks.xml ")。しかし、おそらくそこにこの作業を取得するためのより良い方法は...ある
挨拶
クリスチャン
私が探していたものと全く同じです!プログラムの開始時に資格情報(SVN、データベース、Windows)を要求し、後でプログラムは必要なときに入力タスクを使用して挿入する必要があります。どうもありがとうございました! –