<?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="Implementation-Vendor">
      <defaultValue>Gerrit Code Review</defaultValue>
    </requiredProperty>

    <requiredProperty key="gerritApiType">
      <defaultValue>js</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>
      <directory>src/main/js</directory>
      <includes>
        <include>**/*.js</include>
      </includes>
    </fileSet>

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

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