将 Git 与 Ant 集成的最佳方式?
Posted
技术标签:
【中文标题】将 Git 与 Ant 集成的最佳方式?【英文标题】:Best way to integrate Git with Ant? 【发布时间】:2010-10-24 20:52:34 【问题描述】:我正在寻找将 Git 与 Ant 集成的最佳方式。 Git 是否有广泛使用的 Ant 任务?有没有人有通过 Ant 使用 Git 的经验(例如专用任务、执行调用等)?
【问题讨论】:
一个更细粒度的问题是***.com/questions/2974106/…。那里的答案在这里也可能会有所帮助。 【参考方案1】:Ant 支持exec command,您可以使用该exec command 将任何命令(包括Git)传递到命令行以执行。你总是可以依靠它。
【讨论】:
【参考方案2】:看起来 Git 没有一组 Ant 任务。
This blog 谈论使用 Git 的一些基本任务。
【讨论】:
这里是通过 JGit aniszczyk.org/2011/05/12/git-ant-tasks-via-jgit 的 Git Ant 任务 这只能做到git clone
、git init
和git checkout
。【参考方案3】:
这是通过 JGit 执行的 Git Ant 任务:http://aniszczyk.org/2011/05/12/git-ant-tasks-via-jgit/。
【讨论】:
【参考方案4】:Look at JGit-Ant。不幸的是 jgit-ant 任务项目并没有所有主要的 git 操作,您可以找到更多信息 here。
对于 Java 开发人员:您可以使用 jgit 自己轻松编写 git-ant-commands,就像在 this examples 中一样。
【讨论】:
链接已损坏。【参考方案5】:看起来在 git 的 Ant 任务上完成了一些额外的非官方工作:
http://github.com/newtriks/Ant-Funk(和博文http://www.newtriks.com/?p=910) http://github.com/FrancisVarga/ant-git-macros我没有这方面的经验,但它们看起来比 tlrobinson 的更充实。
【讨论】:
【参考方案6】:结合使用 JGit 库和一些 <script language="javascript">
代码(我使用的是 Rhino 库,但您同样可以使用 Groovy 等)。
【讨论】:
【参考方案7】:前段时间我没有成功地寻找集成 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
。
【讨论】:
以上是关于将 Git 与 Ant 集成的最佳方式?的主要内容,如果未能解决你的问题,请参考以下文章
将 webpack 构建与 ASP.NET Core 3.0 集成的最佳方式?
如何将最佳就地与 bootstrap-datepicker 集成