4 февраля 2014 г.

ant: компиляция и сборка jar прямиком с git

Пояснять особо нечего тут. Используются только стандартные таски. Для git clone используется exec, далее компилируется и собирается как обычно. Ниже пример моего ant-скрипта для сборки с git либы json.jar.
<?xml version="1.0" encoding="UTF-8"?>
<project name="json.jar" default="build" basedir=".">
    <description>build json.jar (org.json.*) from github</description>
 <property name="gitrep" value="https://github.com/douglascrockford/JSON-java"/>
 <property name="projname" value="JSON-java"/>
 <property name="classesdir" value="classes"/>
 <property name="destjar" value="json.jar"/>
 <property name="srcdir" value="src"/>
 <property name="srcreldir" value="org/json"/>
 <property name="srcdestjar" value="json-src.jar"/>
 
 <target name="gitpull">
     <exec executable="git">
         <arg value="clone"/>
         <arg value="${gitrep}"/>
     </exec>
 </target>
 
 <target name="compile" depends="gitpull">
  <mkdir dir="${classesdir}"/>
  <javac srcdir="${projname}" destdir="${classesdir}" includes="**/*.java" target="1.6" source="1.6" includeantruntime="false">
   <!-- ... /-->
  </javac>
 </target>
 
 <target name="createjar" depends="compile">
  <jar destfile="${destjar}" basedir="${classesdir}"/>
 </target>
 
 <target name="preparesrc" depends="gitpull">
  <copy todir="${srcdir}/${srcreldir}">
   <fileset dir="${projname}"/>
  </copy>
 </target>
 
 <target name="createsrcjar" depends="preparesrc">
  <jar destfile="${srcdestjar}" basedir="${srcdir}"/>
 </target>
 
 <target name="clean">
  <delete dir="${projname}"/>
  <delete dir="${classesdir}"/>
  <delete dir="${srcdir}"/>
 </target>
 
 <target name="build" depends="createjar, createsrcjar, clean"/>
</project>

Комментариев нет:

Отправить комментарий