2008-09-26 8 views

Respuesta

9

(respondiendo a mi propia pregunta, pensé que otros les gustaría saber también). Sí, y también TortoiseSVN lo admite. La palabra que estás buscando es 'ganchos'.

Para TortoiseSVN, abre la configuración y 'Hook Scripts'. Haga clic en 'Agregar ...' y seleccione pos_commit_hook (para ejecutar después de que se haya completado la confirmación). A continuación, agregue el script que esté ejecutando y la ruta de trabajo del script.

Utilicé un archivo por lotes y llamé wget (hay una versión de Windows portada, google). Para obtener wget para almacenar el registro de phpdoc en una ruta específica, debe especificar la ruta completa, de lo contrario el registro se almacena en la carpeta actual desde donde se cometió, por lo que mi archivo por lotes es el siguiente:

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" 

Ahora, cada vez que confirma, se llamará al script por lotes. Por supuesto, también puedes usar php como una herramienta de línea de comandos, pero no he investigado eso con phpdoc, simplemente tomé el camino de menor resistencia en este caso.

2

Es posible que desee consultar Phing para obtener una herramienta completa de creación de secuencias de comandos. Puede gestionar confirmaciones, documentación y otras actividades relacionadas con la compilación en un solo lugar.

3

Una alternativa para usar ganchos SVN sería utilizar un motor de integración continua. Personalmente, soy un fan de Hudson. CruiseControl es el clásico, pero hay una plétora de others.

¿Por qué utilizar un motor de integración continua? En general, son más potentes, cuentan con muchas funciones y son más portátiles que simplemente usar los ganchos SVN (¿y si quieres cambiar a usar Mercurial, Git, etc.?).

Cuestiones relacionadas