web-dev-qa-db-ja.com

GitとAntを統合する最良の方法は?

GitとAntを統合する最良の方法を探しています。 Gitで広く使用されているAntタスクはありますか? AntでGitを使用した経験はありますか(専用タスク、exec呼び出しなど)?

48
Vince

Antは、 execコマンド をサポートしています。これを使用して、コマンド(Gitを含む)をコマンドラインに渡して実行することができます。あなたはいつでもそれに頼ることができます。

23
James Tikalsky

JGitを介したGit Antタスクを次に示します。 http://aniszczyk.org/2011/05/12/git-ant-tasks-via-jgit/ .

13
Mike Henke

JGit-Antを見てください 。残念なことに jgit-ant tasksプロジェクトにはすべての主要なgitアクションがありません。追加情報 here を見つけることができます。

Java開発者: この例 のように jgit を使用してgit-ant-commandsを簡単に記述できます。

6

GitのAntタスクで追加の非公式の作業が行われたようです。

私はこれらの経験はありませんが、それらはtlrobinsonの肉よりも肉のように見えます。

5
jwhitlock

少し前に、GitとAntを統合するための使用可能な方法を探すことに失敗しました。 Gitブランチの名前でビルドを作成する可能性が必要でした。最後に、私は次の解決策を見つけました。

実際のbuild.xmlファイルからの抜粋:

<target name="-check-git-branch-name"
    if="using.git"
    >
    <exec executable="bash" logError="true" failonerror="true"
        outputproperty="git-branch-name">
        <arg value="./bin/git-branch-name.sh" />
    </exec>
</target>

ファイルの内容全体./bin/git-branch-name.sh

#!/bin/bash

# This script is the part of integration GIT to ANT. Once launched it 
# should return the name of the current branch or the current commit (if 
# GIT is the detached HEAD mode). Further the printed name is appended to 
# the name of the resulting directory. To initialize this feature you need 
# to run ANT with the option "-Dusing.git=". 

exec 2>/dev/null

git rev-parse --abbrev-ref HEAD | grep -v HEAD || git rev-parse HEAD

呼び出しは次のようになります。

ant TARGET options -Dusing.git=

${using.git}が宣言されると、Antはタスク-check-git-branch-nameを呼び出してブランチの名前(またはGitがデタッチモードの場合はコミットの番号)を呼び出し、Gitブランチの名前が追加されたビルドを生成します(またはコミットのhnumber)、たとえばbuild/TARGET-${git-branch-name}

0
jsxt

JGitライブラリといくつかの<script language="javascript">コード(Rhino潤滑油を使用しましたが、Groovyなども使用できます)。

0
Ed Randall