Antの統合は:AntはビルドとはそれがSourceSafeのシステムからソースを取得 API /ユーティリティをsoscmd使用してJavaコードになります。彼らは緊密に統合されていることを知っています。使用しているAntのバージョンは1.6です。したがって、そのバージョンのSubversionはサポートされていません。私のSubversionサーバーはリモートマシン上でサービスとして動作しています。私は、Subversionを使ってAntにソースを取得させたいと思っています。どうすればいい?Subversionと私は次のスキームを実行している
答えて
使用ここで提供SvnAntタスク - あなたはsvnantものを得ればhttp://subclipse.tigris.org/svnant.html
は、これらの詳細は、あなたの道の残りの部分を助けるかもしれません。
私は通常行うことは、その抽出から、次のJARをつかむです:
svnjavahl.jar
- svnant.jar
- svnClientAdapter.jar
- とフォルダに追加ではない私のプロジェクトでは、(つまり、実行時ではなくビルドで使用されるだけです)。
その後、私のANTスクリプトに私が追加します。その後、
<path id="svntask.classpath"> <fileset dir="nonruntime_lib/svn"> <include name="*.jar"/> </fileset> </path>
と:
<!-- svn export the web root & java --> <svn> <export srcUrl="http://your.svn/web" destPath="dist/web"/> <export srcUrl="http://your.svn/src" destPath="tmp/src"/> </svn>
わからないに:その後、私はのようなタスクコール何かを追加することができます
<!-- SVN typedef --> <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="svntask.classpath"/>
をあなたがそれらのJARをすべて必要としているかどうかは分かりませんが、 "彼らは私のために働きます"。幸運にも、他の質問やシナリオを投稿することができます。
編集
私は(私は1.6を実行している)、これはSubversionの1.7で動作するかどうかはわかりません。
これは単なる部分的な解決策です。何らかの理由で、上記の注釈に加えてSilkSVNがインストールされていることを確認する必要がありました。私はそれがなぜであるかわからない。残念ながら、私はすぐに調査する時間がありません。
ただ好奇心が強いですが、org/tigris/subversion/svnant/svnantlib.xmlはsvnantですが、silksvnパッケージsvnantのようですか? – oers
偉大なポイントを私は私がそれを書いたときに私は何を考えていたのか分からない。私はsvnantを参照するために私の記事を編集しましたが、silksvnは編集しませんでした。感謝と偉大なキャッチ! –
以下の2つの回答で言及したとおり、SvnAntを使用できます。あなたのSvnAntタスク用のsvnクライアントとしてSvnKitを指定することをお勧めします。
SvnKitは、人気のあるgui svnクライアントSmartSVNがベースとして使用する、純粋なJava svnクライアントです。だからあなた自身のタスクを書いたり、いくつかのbeanshell統合を使いたいなら、svnkitを試してみるべきです。また、Windows、Linux、Mac OSなど、JREを使用している場合に限り使用できます。
P.S.
私は以前はSvnAntユーザーでしたが、今は "svn info"と "svn update"を使用する必要があるため、独自のコードを使用してネイティブsvnクライアントを呼び出しています。
私はトランクを更新するために、ネイティブのLinux SVNクライアントを呼び出すには、execを使用:
<exec executable="svn" dir="${trunk.dir}" failonerror="true">
<arg line="update -r ${to.rev} --username ${trunk.user} --password ${trunk.passwd} --depth infinity" />
</exec>
私は「SVNの情報を」呼び出し、出力から実際のリビジョン番号を取得するには、プロセスビルダを使用します(カスタムAntタスクを):
//java code for ant task
public void execute() throws BuildException {
//varible verifying codes ignored......
ProcessBuilder pb = new ProcessBuilder("svn","info");
//The native "svn" client doesn't support symbol link, so run it in the directory instead of specifying the directory as svn info's parameter.
pb.directory(_dirToTrunk);
//Make sure the output is English.
Map<String, String> env = pb.environment();
env.put("LANGUAGE","en_US.UTF-8:en");
Process p = null;
try {
p = pb.start();
//then get the output and parse the svn revision number.
}
//catch codes ignored
}
希望すると助かります。
- 1. Subversionの私はSubversionをインストールし、次のセットアップを持っていました
- 2. GitLabは、私は次のことを実行しているプロジェクトオーナー
- 3. Railsと私は私が実行している次のクエリを持って
- 4. Subversionのコマンドラインは、コミット私が実行すると、何も
- 5. Connectには、私は、次のコマンドを実行しているIP
- 6. は、私は、次のコードを実行している
- 7. 私は、ザイリンクスで次のコードを実行しようとしていますが、私はザイリンクスで次のコードを実行しようとしています
- 8. のPythonのsyslog - 私は、次のコードを実行している
- 9. のPowerShell /実行空間私は、次のコードを実行している
- 10. Subversionは移動中に、私はSubversionリポジトリを持っている、と私は、ファイルを移動するとき、それは次のエラーを報告し、ファイル
- 11. のiOS:私は次の操作を実行しようとしているビルドフェーズ
- 12. 私は次の操作を実行しようとしている変数
- 13. 私は次のクエリを実行しようとしているElasticsearch
- 14. 私はターミナルで次のコマンドを実行しようとしているターミナル
- 15. 私は、次のSQLを実行しようとしているXML
- 16. エラー私は、次の操作を実行しようとしているブロック
- 17. 、私は次のコードを実行しようとしている代替
- 18. C++、私は次のことを実行し、C++ Linuxアプリケーションを持っている
- 19. ブロックフローの実行は、私は、次のコードを持っている
- 20. 削除行と私は、SQL Server 2014データベースで次のSQLのスキームを持っている3つのテーブル
- 21. 私はXamarinを使用して次を実行したいスタートアップ
- 22. PLSQL - 私は次のクエリを実行していますSELECT
- 23. 私は、次のコマンドを実行していた
- 24. Pythonのツイスト:私は次のインポートコマンドを実行しようとしています
- 25. 私は、次のSQLスクリプトを実行しようとしていますMySQLの
- 26. 私は、NetBeansで次のJavaコードを実行しようとしていますが、私は、コードを実行したとき、私はTHR私がNetBeansで次のJavaコードを実行しようとしています例外
- 27. 私は、次のSQL文を実行すると、私は句
- 28. にjava.lang.ClassNotFoundException:私の次のコードを実行している間BaseClassLoader
- 29. 私は次の属性を使用してサーバーを実行している1568
- 30. 私は次の操作を実行しようとしていマッパー
Subversion 1.7リリースと互換性がありますか? – lexeme
SvnAntの1つの問題は...ネイティブクライアントを使用している場合、ネイティブクライアントはそれをサポートしていないため、シンボルリンクをサポートしません。 – coolcfan