<?xml version="1.0"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You 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.
-->

<!-- $Id: build.xml 473841 2006-11-12 00:46:38Z gregor $ -->

<!DOCTYPE project [
<!-- ===========================================================================

                       * =========================== *
                       |  Apache Lenya Build System |
                       * =========================== *

       CVS $Id: build.xml 473841 2006-11-12 00:46:38Z gregor $:

    History
    =======
    
    when        Who               What
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    2003-04-16  Gregor J. Rothfuss   Refactoring
    2003-03-01  Michael Wechner      Custom Tasks
    2002-02-05  Giacomo Pati         Revision
    2001-01-06  Marc Liyanage        Initial version

============================================================================ -->

]>

<project default="webapp" basedir="." name="lenya">

  <!-- ==================  Apache Lenya targets  ======================== -->

  <!-- =================================================================== -->
  <!-- Global properties  -->
  <import file="src/targets/properties-build.xml" />
  <!-- Initialization targets  -->
  <import file="src/targets/init-build.xml" />
  <!-- IDE targets             --> 
  <import file="src/targets/ide-build.xml" />
  <!-- Compile targets         --> 
  <import file="src/targets/compile-build.xml" />
  <!-- Documentation targets   --> 
  <import file="src/targets/docs-build.xml" />
  <!-- Web application targets -->
  <import file="src/targets/webapp-build.xml" />
  <!-- Testcases targets       -->
  <import file="src/targets/test-build.xml" />
  <!-- Distribution targets    -->
  <import file="src/targets/dist-build.xml" />
  <!-- Kupu targets            -->
  <import file="src/targets/kupu-build.xml" />
  <!-- Export targets          -->
  <import file="src/targets/export-build.xml" />
  <!-- Publication tests       -->
  <import file="src/targets/publication-test-build.xml" />
  <!-- Successfully Built Message       -->
  <import file="src/targets/message-build.xml" />
  <!-- Antlr grammar compilation       -->
  <import file="src/targets/antlr-build.xml" />
  <!-- =================================================================== -->

</project>
