<?xml version="1.0" encoding="ISO-8859-1"?>
<!--

    Copyright 2004 The Apache Software Foundation

    Licensed 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.
-->

<!-- $Rev$ $Date$ -->

<project
    xmlns:velocity="jelly:velocity"
    xmlns:ant="jelly:ant"
    default="default"
    >

    <goal name="default">
        <attainGoal name="war:install"/>
    </goal>

    <postGoal name="war:webapp">
      <!-- Copy LICENSE.txt and NOTICE.txt Files -->
      <ant:copy file="LICENSE.txt" tofile="${maven.war.webapp.dir}/META-INF/LICENSE.txt" />
      <ant:copy file="NOTICE.txt" tofile="${maven.war.webapp.dir}/META-INF/NOTICE.txt" />
    </postGoal>
    
</project>