<?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="sync-test" default="not-me">
  <import file="../buildfiletest-base.xml"/>

  <target name="setUp">
    <mkdir dir="${output}" />
    <property name="src" location="${output}/source"/>
    <property name="dest" location="${output}/target"/>
    <mkdir dir="${src}"/>
    <mkdir dir="${dest}"/>
  </target>

  <target name="not-me">
    <fail>This file must be used from a test case</fail>
  </target>

  <target name="simplecopy" depends="setUp">
    <mkdir dir="${src}/a/b/c"/>
    <touch file="${src}/a/b/c/d"/>
    <sync todir="${dest}">
      <fileset dir="${src}"/>
    </sync>
  </target>

  <target name="copyandremove" depends="setUp">
    <mkdir dir="${src}/a/b/c"/>
    <touch file="${src}/a/b/c/d"/>
    <mkdir dir="${dest}/e"/>
    <touch file="${dest}/e/f"/>
    <sync todir="${dest}">
      <fileset dir="${src}"/>
    </sync>
  </target>

  <target name="copyandremove-with-filelist" depends="setUp">
    <mkdir dir="${src}/a/b/c"/>
    <touch file="${src}/a/b/c/d"/>
    <mkdir dir="${dest}/e"/>
    <touch file="${dest}/e/f"/>
    <sync todir="${dest}">
      <filelist dir="${src}">
        <file name="a/b/c/d"/>
        <file name="not-there"/>
      </filelist>
    </sync>
  </target>

  <target name="copyandremove-with-zipfileset" depends="setUp">
    <mkdir dir="${src}/a/b/c"/>
    <touch file="${src}/a/b/c/d"/>
    <mkdir dir="${dest}/e"/>
    <touch file="${dest}/e/f"/>
    <zip destfile="${src}/test.zip">
      <fileset dir="${src}" excludes="*.zip"/>
    </zip>
    <sync todir="${dest}">
      <zipfileset src="${src}/test.zip"/>
    </sync>
  </target>

  <target name="copyandremove-emptypreserve" depends="setUp">
    <mkdir dir="${src}/a/b/c"/>
    <touch file="${src}/a/b/c/d"/>
    <mkdir dir="${dest}/e"/>
    <touch file="${dest}/e/f"/>
    <sync todir="${dest}">
      <fileset dir="${src}"/>
      <preserveintarget/>
    </sync>
  </target>

  <target name="emptycopy" depends="setUp">
    <mkdir dir="${src}/a/b/c"/>
    <touch file="${src}/a/b/c/d"/>
    <sync todir="${dest}">
      <fileset dir="${src}" excludes="**/d"/>
    </sync>
  </target>

  <target name="emptydircopy" depends="setUp">
    <mkdir dir="${src}/a/b/c"/>
    <touch file="${src}/a/b/c/d"/>
    <sync todir="${dest}"
         includeemptydirs="true">
      <fileset dir="${src}" excludes="**/d"/>
    </sync>
  </target>

  <target name="emptydircopyandremove" depends="setUp">
    <mkdir dir="${src}/a/b/c"/>
    <touch file="${src}/a/b/c/d"/>
    <mkdir dir="${dest}/e/f"/>
    <sync todir="${dest}"
         includeemptydirs="true">
      <fileset dir="${src}" excludes="**/d"/>
    </sync>
  </target>

  <target name="copynoremove" depends="setUp">
    <mkdir dir="${src}/a/b/c"/>
    <touch file="${src}/a/b/c/d"/>
    <mkdir dir="${dest}/e"/>
    <touch file="${dest}/e/f"/>
    <sync todir="${dest}">
      <fileset dir="${src}"/>
      <preserveintarget>
        <include name="e/f"/>
      </preserveintarget>
    </sync>
  </target>

  <target name="copynoremove-selectors" depends="setUp">
    <mkdir dir="${src}/a/b/c"/>
    <touch file="${src}/a/b/c/d"/>
    <mkdir dir="${dest}/e"/>
    <touch file="${dest}/e/f"/>
    <sync todir="${dest}">
      <fileset dir="${src}"/>
      <preserveintarget>
        <filename name="e/f"/>
      </preserveintarget>
    </sync>
  </target>

</project>