jenkinsにPHPDocumentor2を連携させてみる

前回はPHPDocumentor2をコマンドラインで動作させてみたが、今回はそれをjenkinsと連携させてみる。

1.PHPDocumentorのインストール

PHPDocumentor2を使ってみた参照

2.ビルド用のファイルを用意する

前回用意したbuildファイルを以下のように修正して利用してみる。
/path/to/svn/projectname/trunk/build.xml

<?xml version="1.0" encoding="utf-8" ?>
<project name= "BuildTest" basedir= "." default= "main">

    <target name="main" depends= "init,phpcs,phpmd,phpcpd,phpdoc" ></target>

    <!-- init -->
    <target name="init" >
        <delete dir= "./reports" includeemptydirs= "true" />
        <mkdir dir= "./reports" />
        <delete dir= "./doc" includeemptydirs= "true" />
        <mkdir dir= "./doc" />
    </target>

    <!-- checksytle -->
    <target name="phpcs" description= "Generate phpcs.xml using PHP_CodeSniffer" >
        <exec executable="phpcs" output="${basedir}/reports/phpcs.xml" >
        <arg line="
            --report=checkstyle
            --standard=CakePHP
            --extensions=php
            _lib/app" />
        </exec>
    </target>

    <!-- PHPMD -->
    <target name="phpmd" description= "Generate pmd.xml using PHP Mess Doctor" >
         <phpmd rulesets= "codesize,unusedcode,design,naming" >
             <fileset dir= "_lib/app/" >
                 <include name= "**/*.php" />
                 <exclude name= "**/*Test.php" />
             </fileset>
             <formatter type= "xml" outfile= "reports/pmd.xml"/>
         </phpmd>
    </target>

    <!-- PHPCPD -->
    <target name="phpcpd" description= "Generate cpd.xml using PHP Copy Paste Detector">
         <phpcpd>
              <fileset dir= "_lib/app/">
                  <include name= "**/*.php" />
                  <exclude name= "**/*Test.php" />
              </fileset>
              <formatter type= "pmd" outfile= "reports/cpd.xml"/>
         </phpcpd>
    </target>

    <!-- PHPDocumentor -->
    <target name="phpdoc" description= "Generate Application Documentation using PHPDocumentor2">
        <exec executable="phpdoc">
        <arg line="
              run
            -t doc
            -d _lib/app/
              -p" />
        </exec>
        </target>
</project>

3.プロジェクトの設定

設定>ビルド後の処理から、Javadocの保存にチェックを入れ、Javadocディレクトリに「doc」を追記

4.ビルドの実行をする

プロジェクトページから「ビルド実行」を選択
問題なくビルドされていれば、左ナビに「ドキュメント」へのリンクが表示され、そこから生成されたドキュメントにアクセスすることができる。