<?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.
-->
<project name="Sigil" default="build">

  <target name="build-eclipse">
    <subant buildpath="sigil-builder" target="build"/>
  </target>

  <target name="build-ivy">
    <subant buildpath="bld-ivy" target="dist"/>
  </target>

  <target name="build-junit">
    <subant buildpath="bld-junit" target="install"/>
    <subant buildpath="bld-junit-cli" target="install"/>
  </target>

  <target name="clean">
    <delete dir="build" />
    <subant buildpath="sigil-builder" target="clean"/>
    <subant buildpath="bld-ivy" target="clean"/>
    <subant buildpath="bld-junit" target="clean"/>
    <subant buildpath="bld-junit-cli" target="clean"/>
  </target>

  <target name="build" depends="build-eclipse, build-ivy, build-junit" /> 

  <target name="ci-commit" depends="clean, build"/>

  <target name="ci-daily" depends="clean, build">
    <subant buildpath="sigil-builder" target="new.updateSite"/>
  </target>

</project>
