<?xml version="1.0"?>
<!--
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.
-->
<!--
 +======================================================================+
 |****                                                              ****|
 |****      THIS FILE IS GENERATED BY THE COMMONS BUILD PLUGIN      ****|
 |****                    DO NOT EDIT DIRECTLY                      ****|
 |****                                                              ****|
 +======================================================================+
 | TEMPLATE FILE: mail-lists-template.xml                               |
 | commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates |
 +======================================================================+
 |                                                                      |
 | 1) Re-generate using: mvn commons-build:mail-page                    |
 |                                                                      |
 | 2) Set the following properties in the component's pom:              |
 |    - commons.componentid (required, alphabetic, lower case)          |
 |                                                                      |
 | 3) Example Properties                                                |
 |                                                                      |
 |  <properties>                                                        |
 |    <commons.componentid>math</commons.componentid>                   |
 |  </properties>                                                       |
 |                                                                      |
 +======================================================================+
-->
<document>
  <properties>
    <title>Apache Commons Imaging Mailing Lists</title>
    <author email="dev@commons.apache.org">Apache Commons Documentation Team</author>
  </properties>
  <body>

    <section name="Overview">
      <p>
        <a href="index.html">Apache Commons Imaging</a> shares mailing lists with all the other
        <a href="https://commons.apache.org/components.html">Commons Components</a>.
        To make it easier for people to only read messages related to components they are interested in,
        the convention in Commons is to prefix the subject line of messages with the component's name,
        for example:
        <ul>
          <li>[imaging] Problem with the ...</li>
        </ul>
      </p>
      <p>
        Questions related to the usage of Apache Commons Imaging should be posted to the
        <a href="https://lists.apache.org/list.html?user@commons.apache.org">User List</a>.
        <br />
        The <a href="https://lists.apache.org/list.html?dev@commons.apache.org">Developer List</a>
        is for questions and discussion related to the development of Apache Commons Imaging.
        <br />
        Please do not cross-post; developers are also subscribed to the user list.
        <br />
        You must be subscribed to post to the mailing lists.  Follow the Subscribe links below
        to subscribe.
      </p>
      <p>
        <strong>Note:</strong> please don't send patches or attachments to any of the mailing lists;
        most of the lists are set up to drop attachments.
        Patches are best handled via the <a href="issue-tracking.html">Issue Tracking</a> system.
        If you have a GitHub account, most components also accept PRs (pull requests).
        Otherwise, please upload the file to a public server and include the URL in the mail.
      </p>
    </section>

    <section name="Apache Commons Imaging Mailing Lists">
      <p>
        <strong>Please prefix the subject line of any messages for <a href="index.html">Apache Commons Imaging</a>
        with <i>[imaging]</i></strong> - <i>thanks!</i>
        <br />
        <br />
      </p>

      <table>
        <tr>
          <th>Name</th>
          <th>Subscribe</th>
          <th>Unsubscribe</th>
          <th>Post</th>
          <th>Archive</th>
          <th>Other Archives</th>
        </tr>


        <tr>
          <td>
            <strong>Commons User List</strong>
            <br /><br />
            Questions on using Apache Commons Imaging.
            <br /><br />
          </td>
          <td><a href="mailto:user-subscribe@commons.apache.org">Subscribe</a></td>
          <td><a href="mailto:user-unsubscribe@commons.apache.org">Unsubscribe</a></td>
          <td><a href="mailto:user@commons.apache.org?subject=[imaging]">Post</a></td>
          <td>
              <a href="https://lists.apache.org/list.html?user@commons.apache.org">lists.apache.org</a>
          </td>
          <td>
              <a href="https://www.mail-archive.com/user@commons.apache.org/">www.mail-archive.com</a>
          </td>
        </tr>


        <tr>
          <td>
            <strong>Commons Developer List</strong>
            <br /><br />
            Discussion of development of Apache Commons Imaging.
            <br /><br />
          </td>
          <td><a href="mailto:dev-subscribe@commons.apache.org">Subscribe</a></td>
          <td><a href="mailto:dev-unsubscribe@commons.apache.org">Unsubscribe</a></td>
          <td><a href="mailto:dev@commons.apache.org?subject=[imaging]">Post</a></td>
          <td>
              <a href="https://lists.apache.org/list.html?dev@commons.apache.org">lists.apache.org</a>
          </td>
          <td>
              <a href="https://www.mail-archive.com/dev@commons.apache.org/">www.mail-archive.com</a>
          </td>
        </tr>


        <tr>
          <td>
            <strong>Commons Issues List</strong>
            <br /><br />
            Only for e-mails automatically generated by the <a href="issue-tracking.html">issue tracking</a> system.
            <br /><br />
          </td>
          <td><a href="mailto:issues-subscribe@commons.apache.org">Subscribe</a></td>
          <td><a href="mailto:issues-unsubscribe@commons.apache.org">Unsubscribe</a></td>
          <td><i>read only</i></td>
          <td>
              <a href="https://lists.apache.org/list.html?issues@commons.apache.org">lists.apache.org</a>
          </td>
          <td>
              <a href="https://www.mail-archive.com/issues@commons.apache.org/">www.mail-archive.com</a>
          </td>
        </tr>


        <tr>
          <td>
            <strong>Commons Commits List</strong>
            <br /><br />
            Only for e-mails automatically generated by the <a href="scm.html">source control</a> system.
            <br /><br />
          </td>
          <td><a href="mailto:commits-subscribe@commons.apache.org">Subscribe</a></td>
          <td><a href="mailto:commits-unsubscribe@commons.apache.org">Unsubscribe</a></td>
          <td><i>read only</i></td>
          <td>
              <a href="https://lists.apache.org/list.html?commits@commons.apache.org">lists.apache.org</a>
          </td>
          <td>
              <a href="https://www.mail-archive.com/commits@commons.apache.org/">www.mail-archive.com</a>
          </td>
        </tr>

      </table>

    </section>
    <section name="Apache Mailing Lists">
      <p>
        Other mailing lists which you may find useful include:
      </p>

      <table>
        <tr>
          <th>Name</th>
          <th>Subscribe</th>
          <th>Unsubscribe</th>
          <th>Post</th>
          <th>Archive</th>
          <th>Other Archives</th>
        </tr>
        <tr>
          <td>
            <strong>Apache Announce List</strong>
            <br /><br />
            General announcements of Apache project releases.
            <br /><br />
          </td>
          <td><a class="externalLink" href="mailto:announce-subscribe@apache.org">Subscribe</a></td>
          <td><a class="externalLink" href="mailto:announce-unsubscribe@apache.org">Unsubscribe</a></td>
          <td><i>read only</i></td>
          <td>
              <a class="externalLink" href="https://lists.apache.org/list.html?announce@apache.org">lists.apache.org</a>
          </td>
          <td>
              <a class="externalLink" href="https://www.mail-archive.com/announce@apache.org/">www.mail-archive.com</a>
          </td>
        </tr>
      </table>

    </section>
  </body>
</document>
