<?xml version="1.0" encoding="UTF-8"?>
<!--
 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.
-->
<!--

  WARNING: This file is generated! Do not edit by hand!
  
-->
<project name="maven" default="jar" basedir=".">

  <target name="jar">

    <property name="maven.build.dir" value="target" />
    <property name="maven.build.dest" value="${maven.build.dir}/classes" />

    <mkdir dir="${maven.build.dest}" />

    <javac
      destdir="${maven.build.dest}"
      excludes="**/package.html"
      debug="false"
      deprecation="false"
      optimize="false">
      <src>
         <pathelement location="src/java" />
      </src>
    </javac>

    <jar
      jarfile="${maven.build.dir}/${maven.final.name}.jar"
      basedir="${maven.build.dest}"
      excludes="**/package.html"
    />

  </target>

</project>
