我想运行一个脚本来为我的php项目构建文档。它基本上只是使用wget来运行phpdoc。
答案 0 :(得分:14)
这是关于SVN hooks
的相当广泛的教程答案 1 :(得分:10)
(回答我自己的问题,我只是想其他人也想知道)。是的,TortoiseSVN也支持它。你要找的是'钩子'。
对于TortoiseSVN,打开设置和“钩子脚本”。单击“添加...”并选择post_commit_hook(在提交完成后运行)。然后添加您正在运行的任何脚本以及脚本的工作路径。
我使用了一个批处理文件并调用了wget(有一个移植的Windows版本,谷歌它)。要使wget将日志从phpdoc存储在一个特定路径中,您必须指定完整路径,否则日志将存储在您提交的当前文件夹中,因此我的批处理文件如下所示:
SET BUILDLOG=%~dp0%build_log.html
rem %~dp0 returns the full working path *of this script*
SET PHPDOCURL=http://localhost/PHPDocumentor/docbuilder
SET PHPDOCCONFIG=yourconfigfile
wget -O %BUILDLOG% "%PHPDOCURL%/builder.php?setting_useconfig=%PHPDOCCONFIG%&setting_output=HTML%3ASmarty%3Adefault&ConverterSetting=HTML%3ASmarty%3Adefault&setting_title=Generated+Documentation&setting_defaultpackagename=default&setting_defaultcategoryname=default&interface=web&dataform=true"
现在,无论何时提交,都将调用批处理脚本。你当然也可以使用php作为命令行工具,但是我没有用phpdoc来研究它 - 我只是采用了阻力最小的路径。
答案 2 :(得分:3)
使用SVN钩子的另一种方法是使用连续集成引擎。就个人而言,我是Hudson的粉丝。 CruiseControl是经典,但有others过多。
为什么要使用持续集成引擎?一般来说,它们比仅仅使用SVN钩子更强大,功能更丰富,更便携(如果你想切换到使用Mercurial,Git等,那该怎么办?)。
答案 3 :(得分:2)
您可能需要查看Phing以获取完整的构建脚本工具。您可以在一个地方管理提交,文档和其他构建相关的活动。