build.xml revision 2e3d7e6e37f660560e4b5fa41916a7270e408d37
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik<?xml version="1.0" encoding="UTF-8"?>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik<!--
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen AustvikCDDL HEADER START
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen AustvikThe contents of this file are subject to the terms of the
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen AustvikCommon Development and Distribution License (the "License").
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen AustvikYou may not use this file except in compliance with the License.
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen AustvikSee LICENSE.txt included in this distribution for the specific
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austviklanguage governing permissions and limitations under the License.
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen AustvikWhen distributing Covered Code, include this CDDL HEADER in each
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvikfile and include the License file at LICENSE.txt.
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen AustvikIf applicable, add the following below this CDDL HEADER, with the
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvikfields enclosed by brackets "[]" replaced with your own identifying
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvikinformation: Portions Copyright [yyyy] [name of copyright owner]
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen AustvikCDDL HEADER END
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen AustvikCopyright 2007 Sun Microsystems, Inc. All rights reserved.
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen AustvikUse is subject to license terms.
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik-->
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik<project name="OpenGrok" default="jar" basedir=".">
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <description>Builds, tests, and runs the project opengrok.</description>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <property name="version" value="0.9.1-alpha"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <property name="distname" value="opengrok"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <property name="test.repositories" value="/testdata/repositories"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <property name="test.sources" value="/testdata/sources"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <property name="test.cvs" value="${test.repositories}/cvs"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <property name="test.cvs.repo" value="${test.cvs}/cvsrepo"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <property name="test.cvs.root" value="${test.cvs}/cvsroot"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <property name="test.hg" value="${test.repositories}/mercurial"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <property name="test.svn" value="${test.repositories}/svn"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <property name="test.razor" value="${test.repositories}/razor"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <property name="test.razor.repo" value="/ext/SampleRazorRepository/"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <property name="build.test.reposroots" value="target/reposroot"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <property name="build.test.classes.dir" value="target/test-classes"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <path id="lib.search.path">
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <pathelement path="${user.home}/.ant/lib"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <pathelement path="${java.class.path}"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <pathelement path="lib"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <pathelement path="/lib"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik </path>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <property name="hg" value="hg"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <!-- Get the id of the changeset we're building from using a
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik Mercurial command.
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik -->
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <target name="-get-changeset-from-command"
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik depends="-check-is-hg-repo" if="build.from.repo">
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <exec executable="${hg}"
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik failifexecutionfails="no"
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik outputproperty="changeset">
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <arg value="identify"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <arg value="--id"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik </exec>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik </target>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <!-- Check if we build from a checked out copy of the repository,
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik so that we have history information from Mercurial available.
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik -->
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <target name="-check-is-hg-repo">
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <available property="build.from.repo" file=".hg" type="dir"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik </target>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <target name="-post-compile-test">
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <antcall target="-create-svn-repository"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <antcall target="-create-razor-repository"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <!-- Change root in CVS test repository -->
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <!-- Strange indentation in line two levels below to get newline correctly -->
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <concat destfile="${test.cvs.repo}/CVS/Root" append="no" force="yes" eol="unix">${basedir}/${test.cvs.root}/
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik</concat>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <!-- Generate ZIP files used for unit testing mercurial/.hg and mercurial/.hgignore are renamed -->
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <copy todir="${test.hg}/.hg">
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <fileset dir="${test.hg}/hg"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik </copy>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <copy file="${test.hg}/hgignore" tofile="${test.hg}/.hgignore"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <zip destfile="${build.test.classes.dir}/org/opensolaris/opengrok/index/source.zip"
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik basedir="${test.sources}"
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik update="false"
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik defaultexcludes="no"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <zip destfile="${build.test.classes.dir}/org/opensolaris/opengrok/history/repositories.zip"
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik basedir="${test.repositories}"
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik excludes="mercurial/hg/**, mercurial/hgignore"
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik update="false"
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik defaultexcludes="no"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <antcall target="-delete-generated-repository-files"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik </target>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <target name="-create-svn-repository">
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <delete dir="${test.svn}"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <delete dir="${build.test.reposroots}/svn"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <mkdir dir="${build.test.reposroots}"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <exec executable="svnadmin" failifexecutionfails="true">
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <arg value="create"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <arg value="${build.test.reposroots}/svn"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik </exec>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <!-- need absolute path for svn url -->
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <pathconvert property="test.svn.url">
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <map from="" to="file://"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <path location="${build.test.reposroots}/svn"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik </pathconvert>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <exec executable="svn" failifexecutionfails="false">
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <arg value="import"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <arg value="${test.sources}"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <arg value="${test.svn.url}"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <arg value="-m"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <arg value="Initial import"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik </exec>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <exec executable="svn" failifexecutionfails="false">
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <arg value="checkout"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <arg value="${test.svn.url}"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <arg value="${test.svn}"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik </exec>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik </target>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <target name="-create-razor-repository">
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <delete dir="${test.razor}"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <copy todir="${test.razor}/Razor-Simple">
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <fileset dir="${test.razor.repo}/UserSandbox"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik </copy>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <copy todir="${test.razor}/Razor-Simple/SimpleCProgram/.razor">
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <fileset dir="${test.razor.repo}/Repository/OpenGrokSample/RAZOR_UNIVERSE/DOMAIN_01/Simple"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik </copy>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <!--
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik The support for binaries in Razor repositories is not fully
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik functional, so the next copy target is commented out for now.
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik -->
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <!--copy todir="${test.razor}/Razor-Simple/SimpleCProgram-BinaryRelease/.razor">
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <fileset dir="ext/SampleRazorRepository/Repository/OpenGrokSample/RAZOR_UNIVERSE/DOMAIN_01/Simple"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik </copy-->
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik </target>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <!-- clean up generated test repositories -->
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <target name="-delete-generated-repository-files">
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <delete dir="${test.hg}/.hg"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <delete file="${test.hg}/.hgignore"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <delete dir="${test.svn}"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <delete dir="${test.razor}"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik <delete file="${test.cvs.repo}/CVS/Root"/>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik </target>
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik
2e3d7e6e37f660560e4b5fa41916a7270e408d37Jorgen Austvik</project>