<?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.
-->
<archetype-descriptor 
  xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd"
  name="turbine-4.0-velocity">

  <requiredProperties>
    <requiredProperty key="turbine_app_name">
      <defaultValue>My Turbine Web Application</defaultValue>
    </requiredProperty>
    <requiredProperty key="turbine_intake_file">
      <defaultValue>intake.xml</defaultValue>
    </requiredProperty>
    <requiredProperty key="turbine_database_name">
      <defaultValue>turbine</defaultValue>
    </requiredProperty>
    <requiredProperty key="turbine_database_adapter">
      <defaultValue>mysql</defaultValue>
    </requiredProperty>
    <requiredProperty key="turbine_database_jndipath">
      <defaultValue>java:comp/env/jdbc/Turbine</defaultValue>
    </requiredProperty>
  </requiredProperties>

  <fileSets>
    <fileSet filtered="true" packaged="true" encoding="UTF-8">
      <directory>src/main/java</directory>
      <includes>
        <include>**/*.java</include>
        <include>**/*.properties</include>
      </includes>
    </fileSet>
    <fileSet filtered="true" packaged="false" encoding="UTF-8">
      <directory>src/main/torque-schema</directory>
      <includes>
        <include>**/*.xml</include>
      </includes>
    </fileSet>
    <fileSet filtered="true" packaged="false" encoding="UTF-8">
      <directory>src/main/webapp/WEB-INF</directory>
      <includes>
        <include>**/*.xml</include>
        <include>**/*.properties</include>
      </includes>
    </fileSet>
    <fileSet filtered="false" packaged="false" encoding="UTF-8">
      <directory>src/main/webapp/templates</directory>
      <includes>
        <include>**/*.vm</include>
      </includes>
    </fileSet>
    <fileSet filtered="false" packaged="false" encoding="UTF-8">
      <directory>src/main/webapp/resources</directory>
      <includes>
        <include>**/*</include>
      </includes>
    </fileSet>
  </fileSets>
</archetype-descriptor>
