| <project name="Dokka" default="build"> |
| <typedef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${kotlin.compiler}/lib/kotlin-ant.jar"/> |
| <typedef resource="org/apache/maven/artifact/ant/antlib.xml" classpath="${basedir}/lib/maven-ant-tasks-2.1.3.jar"/> |
| |
| <property name="kotlinc.repeat" value="1"/> |
| |
| <target name="clean"> |
| <delete dir="out" /> |
| <delete dir="maven-plugin/target" /> |
| <delete dir="dokka-fatjar/build" /> |
| <delete dir="dokka-fatjar/.gradle" /> |
| <delete dir="gradle-plugin/build" /> |
| <delete dir="gradle-plugin/.gradle" /> |
| </target> |
| |
| <target name="build"> |
| <mkdir dir="out"/> |
| <echo message="${java.home}"/> |
| |
| <kotlinc output="out/dokka.jar"> |
| <src path="src"/> |
| <src path="javadoc/src/main/kotlin"/> |
| <compilerArg value="-Xrepeat"/> |
| <compilerArg value="${kotlinc.repeat}"/> |
| <classpath> |
| <fileset dir="lib" includes="*.jar"/> |
| <file name="${java.home}/lib/tools.jar"/> |
| <file name="${java.home}/../lib/tools.jar"/> |
| </classpath> |
| </kotlinc> |
| |
| <jar jarfile="out/dokka.jar" update="true" > |
| <zipfileset dir="resources" includes="**/*.properties"/> |
| <zipfileset dir="javadoc/src/main/resources" includes="**/*.properties"/> |
| </jar> |
| |
| <kotlinc src="ant/src" output="out/dokka-ant.jar" includeRuntime="false"> |
| <compilerArg value="-Xrepeat"/> |
| <compilerArg value="${kotlinc.repeat}"/> |
| <classpath> |
| <fileset dir="lib" includes="*.jar"/> |
| <fileset dir="out" includes="dokka.jar" /> |
| </classpath> |
| </kotlinc> |
| |
| <jar jarfile="out/dokka-ant.jar" update="true" > |
| <zipfileset dir="ant/src" includes="*.xml"/> |
| </jar> |
| </target> |
| |
| <target name="zip" depends="build"> |
| <zip zipfile="out/dokka.zip"> |
| <zipfileset dir="lib" prefix="lib"> |
| <include name="*.jar"/> |
| <exclude name="junit*.jar"/> |
| <exclude name="hamcrest*.jar"/> |
| <exclude name="maven-ant-tasks*.jar"/> |
| </zipfileset> |
| <zipfileset dir="out" prefix="lib"> |
| <include name="dokka.jar"/> |
| <include name="dokka-ant.jar"/> |
| </zipfileset> |
| </zip> |
| </target> |
| |
| <target name="test" depends="build"> |
| <mkdir dir="out/test"/> |
| |
| <kotlinc output="out/test"> |
| <src path="test/src"/> |
| <src path="javadoc/src/test/kotlin"/> |
| <classpath> |
| <fileset dir="lib" includes="*.jar"/> |
| <fileset dir="out" includes="dokka.jar" /> |
| <file name="${java.home}/lib/tools.jar"/> |
| <file name="${java.home}/../lib/tools.jar"/> |
| </classpath> |
| </kotlinc> |
| |
| <junit fork="true"> |
| <classpath> |
| <fileset dir="lib" includes="*.jar"/> |
| <fileset dir="out" includes="dokka.jar" /> |
| <file name="${java.home}/lib/tools.jar"/> |
| <file name="${java.home}/../lib/tools.jar"/> |
| <pathelement path="out/test"/> |
| </classpath> |
| <batchtest> |
| <fileset dir="out/test" includes="**/*Test.class"/> |
| </batchtest> |
| </junit> |
| </target> |
| |
| <target name="fatjar" depends="build"> |
| <exec executable="${basedir}/dokka-fatjar/gradlew" dir="dokka-fatjar" osfamily="unix" failonerror="true"> |
| <arg value="assemble" /> |
| </exec> |
| <exec executable="cmd.exe" dir="dokka-fatjar" osfamily="windows" failonerror="true"> |
| <arg line="/c ${basedir}\dokka-fatjar\gradlew.bat assemble" /> |
| </exec> |
| </target> |
| |
| <target name="install-fj" depends="fatjar"> |
| <exec executable="${basedir}/dokka-fatjar/gradlew" dir="dokka-fatjar" osfamily="unix" failonerror="true"> |
| <arg value="assemble" /> |
| <arg value="publishToMavenLocal" /> |
| </exec> |
| <exec executable="cmd.exe" dir="dokka-fatjar" osfamily="windows" failonerror="true"> |
| <arg line="/c ${basedir}\dokka-fatjar\gradlew.bat assemble publishToMavenLocal" /> |
| </exec> |
| </target> |
| |
| <target name="gradle-install" depends="install-fj"> |
| <exec executable="${basedir}/gradle-plugin/gradlew" dir="gradle-plugin" osfamily="unix" failonerror="true"> |
| <arg value="assemble" /> |
| <arg value="publishToMavenLocal" /> |
| </exec> |
| <exec executable="cmd.exe" dir="gradle-plugin" osfamily="windows" failonerror="true"> |
| <arg line="/c ${basedir}\gradle-plugin\gradlew.bat assemble publishToMavenLocal" /> |
| </exec> |
| </target> |
| |
| <target name="maven-install" depends="install-fj"> |
| <mvn mavenversion="3.0.5" dir="maven-plugin" pom="maven-plugin/pom.xml"> |
| <arg value="install" /> |
| </mvn> |
| </target> |
| |
| <target name="build-and-install" depends="gradle-install,maven-install"> |
| <echo message="Done" /> |
| </target> |
| </project> |