<?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-5.0-webapp">

  <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>auto</defaultValue>
    </requiredProperty>
    <requiredProperty key="turbine_database_jndipath">
      <defaultValue>jdbc/turbine</defaultValue>
    </requiredProperty>
    <requiredProperty key="turbine_database_driver">
      <defaultValue>com.mysql.cj.jdbc.Driver</defaultValue>
    </requiredProperty>
    <requiredProperty key="turbine_database_url">
      <defaultValue>jdbc:mysql://localhost:3306/</defaultValue>
    </requiredProperty>
    <requiredProperty key="turbine_database_timezone">
      <defaultValue>UTC</defaultValue>
    </requiredProperty>
    <requiredProperty key="turbine_database_user">
      <defaultValue>db_user</defaultValue>
    </requiredProperty>
    <requiredProperty key="turbine_database_password">
      <defaultValue>db_password</defaultValue>
    </requiredProperty>
     <requiredProperty key="app_volume_local_repo">
        <defaultValue>${settings.localRepository}</defaultValue>
     </requiredProperty>
     <requiredProperty key="docker">
        <defaultValue>${docker}</defaultValue>
     </requiredProperty>
  </requiredProperties>
  <fileSets>
    <fileSet filtered="true" packaged="true">
        <directory>src/test/java</directory>
        <includes>
          <include>**/*.java</include>
        </includes>
    </fileSet>
   <fileSet filtered="true" packaged="false">
        <directory>src/test/resources</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.xml</include>
        </includes>
    </fileSet>
    <fileSet filtered="false" packaged="false">
        <directory>src/test/logs</directory>
        <includes>
          <include>**/*.log</include>
        </includes>
    </fileSet>
    <fileSet filtered="true" packaged="false">
        <directory>src/test/conf</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.xml</include>
        </includes>
    </fileSet>
    <fileSet filtered="true" packaged="true" encoding="UTF-8">
      <directory>src/main/java</directory>
      <includes>
        <include>**/*.java</include>
        <include>**/*.properties</include>
      </includes>
    </fileSet>
    <fileSet filtered="false" packaged="false" encoding="UTF-8">
      <directory>docs</directory>
      <includes>
        <include>**/*.md</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/META-INF</directory>
      <includes>
        <include>**/*.xml</include>
        <include>**/*.properties</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>
     <fileSet filtered="false" packaged="false">
        <directory>src/main/webapp/logs</directory>
        <includes>
          <include>**/*</include>
        </includes>
    </fileSet>
    <fileSet filtered="true" packaged="false">
        <directory>src/main/docker-resources</directory>
        <includes>
          <include>**/*</include>
        </includes>
     </fileSet>
     <fileSet filtered="false" packaged="false" encoding="UTF-8">
      <directory>src/main/data</directory>
      <includes>
        <include>**/*.txt</include>
        <include>**/*.sql</include>
      </includes>
    </fileSet>
  </fileSets>
</archetype-descriptor>
