<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright 2005 The Apache Software Foundation

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
  
       http://www.apache.org/licenses/LICENSE-2.0
  
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

-->

<project default="default"
    xmlns:j="jelly:core"
    xmlns:ant="jelly:ant"
    xmlns:maven="jelly:maven"
    >

    <!-- ==================== -->
    <!-- Default Global Goals -->
    <!-- ==================== -->

    <goal name="default">
        <attainGoal name="jar:install-snapshot"/>
    </goal>

    <goal name="build">
        <attainGoal name="default"/>
    </goal>

    <goal name="rebuild">
        <attainGoal name="clean"/>
        <attainGoal name="build"/>
    </goal>

    <goal name="clobber">
        <attainGoal name="clean"/>
        <delete dir="mdr" includeEmptyDirs="true"/>
    </goal>

    <!-- Checkout btree sources from nebeans repository -->
    <preGoal name="java:prepare-filesystem">
        <echo>Using cvsroot ${netbeans.cvsroot}</echo>
        <cvs cvsRoot="${netbeans.cvsroot}"
             command="checkout -l ${netbeans.cvs.tag}"
             package="mdr/src/org/netbeans/mdr/persistence"/>
        <cvs cvsRoot="${netbeans.cvsroot}"
             command="checkout ${netbeans.cvs.tag}"
	     package="mdr/src/org/netbeans/mdr/persistence/btreeimpl"/>
        <cvs cvsRoot="${netbeans.cvsroot}"
             command="checkout ${netbeans.cvs.tag}"
	     package="mdr/src/org/netbeans/mdr/util/MapEntryImpl.java"/>
    </preGoal>

    <!-- Need multiple source diretories: --> 
    <!--   mdr - the netbeans sources     -->
    <!--   src - local source files       -->
    <preGoal name="java:compile">
       <ant:path id="mdr.src" location="${basedir}/mdr/src"/>
       <maven:addPath id="maven.compile.src.set" refid="mdr.src"/>
    </preGoal>

</project>
