view build.xml @ 163:a5198b6487dc

Record reasons for slow status for future reference
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Thu, 10 Mar 2011 03:18:49 +0100
parents d5268ca7715b
children b45e612ea750
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/org/tmatesoft/hg/core/HgRepoFacade.java" />
		</java>

		<echo message="${line.separator}>>>Latest commit" />
		<java classpathref="path.cmdline" classname="org.tmatesoft.hg.console.Log">
			<arg line="--debug --limit 1" />
		</java>

		<echo message="${line.separator}>>>Content of a file" />
		<java classpathref="path.cmdline" classname="org.tmatesoft.hg.console.Cat">
			<arg line="src/org/tmatesoft/hg/core/HgRepoFacade.java --rev 1" />
		</java>

		<echo message="${line.separator}>>>Status between two revisions" />
		<java classpathref="path.cmdline" classname="org.tmatesoft.hg.console.Status">
			<arg line="--rev 140 --rev 142" />
		</java>

		<echo message="${line.separator}>>>Status, working copy, all" />
		<java classpathref="path.cmdline" classname="org.tmatesoft.hg.console.Status">
			<arg line="-A" />
		</java>

		<echo message="${line.separator}>>>Manifest" />
		<java classpathref="path.cmdline" classname="org.tmatesoft.hg.console.Manifest">
			<arg line="--debug" />
		</java>
	</target>

	<target name="tests" depends="build-tests">
		<property name="test-repos-root" value="${java.io.tmpdir}/hg4j-tests/"/>
		<delete dir="${test-repos-root}" quiet="yes"/>
		<unjar src="test-data/test-repos.jar" dest="${test-repos-root}"/>
		<junit>
			<classpath path="${hg4j.jar};${hg4j-tests.jar};${junit.jar}" />
			<formatter type="xml" />
			<formatter type="plain" usefile="no" />
			<sysproperty key="hg4j.tests.repos" value="${test-repos-root}"/>
			<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" />
			<test name="org.tmatesoft.hg.test.TestByteChannel" />
		</junit>
	</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>
			<fileset file="COPYING"/>
		</jar>
	</target>

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

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

</project>