<?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="cocoon-ajax-dojo" default="unzip-dojo" basedir=".">
  <target name="unzip-dojo" description="Uncompressing dojo zip file and include the content into the ajax jar file" >
  	<!-- FIXME : Use maven built-in properties to locate source and destination folders -->
    <property name="srcDir" location="src/main/resources/org/apache/cocoon/dojo/resources"/>
    <property name="destDir" location="target/classes/org/apache/cocoon/dojo/resources"/>
    <!-- build.xml:25: The 'unwar' type doesn't support the nested "regexpmapper" element. -->
    <delete dir="target/dojo-temp"/>
    <unzip dest="target/dojo-temp">
      <fileset dir="${srcDir}">
        <include name="dojo-*.zip"/>
      </fileset>
    </unzip>
    <delete>
      <fileset dir="${destDir}" includes="dojo-*.zip"/>
    </delete>
    <copy todir="${destDir}">
      <fileset dir="target/dojo-temp"/>
      <regexpmapper from="^([^/]+)/(.*)$$" to="\2" handledirsep="true"/>
    </copy>
    <echo>copied</echo>
  </target>
</project>
