<?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="all" default="order" xmlns:ivy="antlib:org.apache.ivy.ant">
  <property name="common.dir" value="${basedir}/common" />
  <import file="${common.dir}/common.xml"/>

  <fileset id="projects" dir="projects" includes="**/build.xml"/>

  <path id="unordered-list">
    <fileset refid="projects"/>
  </path>

  <target name="buildlist" depends="load-ivy"> 
    <ivy:buildlist reference="ordered-list">
      <fileset refid="projects"/>
    </ivy:buildlist>
  </target>
  
  <target name="publish" depends="buildlist" 
	description="compile, jar and publish all projects in the right order">
    <subant target="publish" buildpathref="ordered-list">
      <propertyset>
	<propertyref name="ivy.loaded" />
      </propertyset>
    </subant>
  </target>

  <target name="clean" description="clean all projects">
    <subant target="clean" buildpathref="unordered-list" />
  </target>
  
  <target name="fullclean" depends="clean, load-ivy" 
  description="clean tutorial: delete repository, ivy cache, and all projects">
    <delete dir="repository"/>
  	<ivy:cleancache />
  </target>

  <target name="order" depends="buildlist">
    <subant target="hello" buildpathref="ordered-list" />
  </target>

</project>
