<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2012 The Android Open Source Project

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.
-->
<archetype-descriptor name="Gerrit Plugin">
  <requiredProperties>
    <requiredProperty key="pluginName"/>

    <requiredProperty key="Gerrit-Module">
      <defaultValue>Y</defaultValue>
    </requiredProperty>
    <requiredProperty key="Gerrit-SshModule">
      <defaultValue>Y</defaultValue>
    </requiredProperty>
    <requiredProperty key="Gerrit-HttpModule">
      <defaultValue>Y</defaultValue>
    </requiredProperty>

    <requiredProperty key="Implementation-Vendor">
      <defaultValue>Gerrit Code Review</defaultValue>
    </requiredProperty>
    <requiredProperty key="Implementation-Url">
      <defaultValue>http://code.google.com/p/gerrit/</defaultValue>
    </requiredProperty>

    <requiredProperty key="gerritApiType">
      <defaultValue>plugin</defaultValue>
    </requiredProperty>
    <requiredProperty key="gerritApiVersion">
      <defaultValue>${defaultGerritApiVersion}</defaultValue>
    </requiredProperty>
  </requiredProperties>

  <fileSets>
    <fileSet filtered="true" packaged="true">
      <directory>src/main/java</directory>
      <includes>
        <include>**/*.java</include>
      </includes>
    </fileSet>

    <fileSet filtered="true">
      <directory>src/main/resources/Documentation</directory>
      <includes>
        <include>**/*.md</include>
      </includes>
    </fileSet>

    <fileSet filtered="true">
      <directory></directory>
      <include>.buckconfig</include>
      <include>BUCK</include>
      <include>VERSION</include>
      <include>lib/gerrit/BUCK</include>
      <excludes>
        <exclude>**/*.java</exclude>
      </excludes>
    </fileSet>

    <fileSet>
      <directory></directory>
      <includes>
        <include>.gitignore</include>
        <include>.settings/*</include>
        <include>LICENSE</include>
      </includes>
    </fileSet>
  </fileSets>
</archetype-descriptor>
