<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="core/src/main/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>