view build.xml @ 121:b1d6208fb517

Conditionally apply filters to file content
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Fri, 04 Feb 2011 03:37:09 +0100
parents 0617dd31477f
children 44185c4a850c
line wrap: on
line source
<?xml version="1.0" encoding="UTF-8"?>
<!--
 Copyright (c) 2010-2011 TMate Software Ltd
  
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; version 2 of the License.
 
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 For information on how to redistribute this software under
 the terms of a license other than GNU General Public License
 contact TMate Software at support@hg4j.com
-->
<project name="hg4j" default="samples">
    <description>
            Build, test and showcase hg4j 
    </description>
	
	<property name="junit.jar" value="lib/junit-4.8.2.jar"/>
	<property name="ver.qualifier" value=".rc1"/>
	<property name="version.lib" value="0.0.9"/>
	<property name="version.jar" value="${version.lib}${ver.qualifier}"/>
	
	<property name="hg4j.jar" value="hg4j_${version.jar}.jar"/>
	<property name="hg4j-tests.jar" value="hg4j-tests_${version.jar}.jar"/>
	<property name="hg4j-console.jar" value="hg4j-console_${version.jar}.jar"/>

    <target name="samples" depends="build-cmdline">
    	<path id="path.cmdline" path="${hg4j.jar};${hg4j-console.jar}"/>
    	
    	<echo message="History of a specific file(s)"/>
    	<java classpathref="path.cmdline" classname="org.tmatesoft.hg.console.Log">
    		<arg line="design.txt .classpath src/com/tmate/hgkit/ll/LocalHgRepo.java"/>
    	</java>
    	
    	<echo message="Whole repo log"/>
    	<java classpathref="path.cmdline" classname="org.tmatesoft.hg.console.Log"/>
    	
    	<echo message="Content of a file"/>
    	<java classpathref="path.cmdline" classname="org.tmatesoft.hg.console.Cat">
    		<arg line="src/com/tmate/hgkit/ll/Revlog.java"/>
    	</java>

    </target>
	
	<target name="tests" depends="build-tests">
		<junit>
			<classpath path="${hg4j.jar};${hg4j-tests.jar};${junit.jar}"/>
			<formatter type="xml"/>
			<formatter type="plain" usefile="no"/>
			<test name="org.tmatesoft.hg.test.TestHistory"/>
			<test name="org.tmatesoft.hg.test.TestManifest"/>
			<test name="org.tmatesoft.hg.test.TestStatus"/>
			<test name="org.tmatesoft.hg.test.TestStorePath"/>
		</junit>
		<!--
		<java classpath="hg4j.jar;hg4j-tests.jar" classname="org.tmatesoft.hg.test.TestHistory"/>
		<java classpath="hg4j.jar;hg4j-tests.jar" classname="org.tmatesoft.hg.test.TestManifest"/>
		<java classpath="hg4j.jar;hg4j-tests.jar" classname="org.tmatesoft.hg.test.TestStatus"/>
		-->
	</target>

    <target name="build">
    	<mkdir dir="bin"/>
    	<javac srcdir="src" destdir="bin"/>
    	<jar destfile="${hg4j.jar}">
    		<fileset dir="bin/">
    			<include name="org/tmatesoft/hg/core/**" />
    			<include name="org/tmatesoft/hg/util/**" />
    			<include name="org/tmatesoft/hg/repo/**" />
    			<include name="org/tmatesoft/hg/internal/**" />
    		</fileset>
    	</jar>
    </target>

    <target name="build-tests" depends="build">
    	<mkdir dir="bin"/>
    	<javac srcdir="test" destdir="bin"/>
    	<jar destfile="${hg4j-tests.jar}" basedir="bin" includes="org/tmatesoft/hg/test/**"/>
    </target>

    <target name="build-cmdline" depends="build">
    	<mkdir dir="bin"/>
    	<javac srcdir="cmdline" destdir="bin"/>
    	<jar destfile="${hg4j-console.jar}" basedir="bin" includes="org/tmatesoft/hg/console/**"/>
    </target>

</project>