サイト開発の覚書ブログ

Webサービス(API)+JQuery(JS)を中心にPHP,CSS,HTMLでサイト開発する上で覚書となります。

YUIDocの実行をAntを利用し簡易にする

目的

YUIDocの実行コマンドを引数を付けて毎回実行するのをantコマンドを実行するだけに置き換える。


最終的に「ドキュメント自動生成」「ソースのminify化」「単体テスト」をセットで実行する為、第一歩として「ドキュメント自動生成」を対応する。


前提

別の記事で記載したセットアップが実行されている事


環境構築

YUIDocをインストールする

npm -g install yuidocjs




DIR構成(ごみファイルが残っており注意)



Antのファイルを保存する

          build.propertiesを保存する

version=1.0
home.dir=../jsdoc3-ant-task-master
js.src.dir=../zenphoto-zenphoto-1.4.8/themes/eshop/js/


bin.dir=${home.dir}/bin
lib.dir=${home.dir}/lib
src.dir=${home.dir}/src
build.dir=build
docs.dir=${build.dir}/javadocs
jsdocs.dir=${build.dir}/jsdocs
test.dir=test
test.file=test.js
report.dir=${build.dir}/reports
jar.dir=${home.dir}/build/jar


jar.name=jsdoc3-ant-task-${version}.jar
jar.location=${jar.dir}/${jar.name}


jsdoc.version=3.0
jsdoc.home=${lib.dir}/jsdoc3/
rhino.version=1.7r3_jsdoc
rhino.jar.location=${lib.dir}/rhino/js-${rhino.version}.jar
ant.jar.location=${lib.dir}/ant.jar



  build.xmlを保存する

<?xml version="1.0" encoding="UTF-8"?>
<project default="docs" basedir="." name="jsdoc3-ant-task">


<property file="build.properties" />

<target name="clean" description="Clean up">
<delete dir="${build.dir}" />
</target>


<target name="init" description="Init tasks" depends="clean">
<mkdir dir="${build.dir}" />
<mkdir dir="${docs.dir}" />
<mkdir dir="${jsdocs.dir}" />
<mkdir dir="${test.dir}" />
</target>


<target name="compile" description="Compile source files" depends="init">
<mkdir dir="${bin.dir}" />
<javac srcdir="${src.dir}" destdir="${bin.dir}" classpath="${ant.jar.location}:${rhino.jar.location}" includeAntRuntime="false"/>
</target>


<target name="javadoc" depends="clean, init">
<javadoc sourcepath="${src.dir}" destdir="${docs.dir}" classpath="${ant.jar.location}:${rhino.jar.location}" />
</target>


<target name="dist" description="Create a JAR of the JsDoc3 ant task" depends="compile, javadoc">
<jar destfile="${jar.location}">
<fileset dir="${bin.dir}" />
<manifest>
<attribute name="Built-By" value="Jannon Frank"/>
</manifest>
</jar>
</target>


<target name="docs" depends="dist" description="Run some tests using our newly create JAR">
<echo>Create docs: output the out directory</echo>
<exec executable="cmd" failonerror="false" spawn="true">
<!-- デバック時に利用:別cmdで実行内容確認
<arg value="/c" />
<arg value="start" />
-->
<arg line="yuidoc ${js.src.dir}" />
</exec>
<echo message="Done."/>
</target>
</project>