<?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: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 Text 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 Text</a> shares mailing lists with all the other
        <a href="http://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>[text] Problem with the ...</li>
        </ul>
      </p>
      <p>
        Questions related to the usage of Apache Commons Text should be posted to the
        <a href="http://mail-archives.apache.org/mod_mbox/commons-user/">User List</a>.
        <br />
        The <a href="http://mail-archives.apache.org/mod_mbox/commons-dev/">Developer List</a>
        is for questions and discussion related to the development of Apache Commons Text.
        <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.
        Patches are best handled via the <a href="issue-tracking.html">Issue Tracking</a> system.
        Otherwise, please upload the file to a public server and include the URL in the mail.
      </p>
    </section>

    <section name="Apache Commons Text Mailing Lists">
      <p>
        <strong>Please prefix the subject line of any messages for <a href="index.html">Apache Commons Text</a>
        with <i>[text]</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 Text.
            <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=[text]">Post</a></td>
          <td><a href="http://mail-archives.apache.org/mod_mbox/commons-user/">mail-archives.apache.org</a></td>
          <td><a href="http://markmail.org/list/org.apache.commons.users/">markmail.org</a><br />
              <a href="http://www.mail-archive.com/user@commons.apache.org/">www.mail-archive.com</a><br />
              <a href="http://news.gmane.org/gmane.comp.jakarta.commons.devel">news.gmane.org</a>
          </td>
        </tr>


        <tr>
          <td>
            <strong>Commons Developer List</strong>
            <br /><br />
            Discussion of development of Apache Commons Text.
            <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=[text]">Post</a></td>
          <td><a href="http://mail-archives.apache.org/mod_mbox/commons-dev/">mail-archives.apache.org</a></td>
          <td><a href="http://markmail.org/list/org.apache.commons.dev/">markmail.org</a><br />
              <a href="http://www.mail-archive.com/dev@commons.apache.org/">www.mail-archive.com</a><br />
              <a href="http://news.gmane.org/gmane.comp.jakarta.commons.devel">news.gmane.org</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="http://mail-archives.apache.org/mod_mbox/commons-issues/">mail-archives.apache.org</a></td>
          <td><a href="http://markmail.org/list/org.apache.commons.issues/">markmail.org</a><br />
              <a href="http://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="source-repository.html">source control</a> sytem.
            <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="http://mail-archives.apache.org/mod_mbox/commons-commits/">mail-archives.apache.org</a></td>
          <td><a href="http://markmail.org/list/org.apache.commons.commits/">markmail.org</a><br />
              <a href="http://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="http://mail-archives.apache.org/mod_mbox/www-announce/">mail-archives.apache.org</a></td>
          <td><a class="externalLink" href="http://markmail.org/list/org.apache.announce/">markmail.org</a><br />
              <a class="externalLink" href="http://old.nabble.com/Apache-News-and-Announce-f109.html">old.nabble.com</a><br />
              <a class="externalLink" href="http://www.mail-archive.com/announce@apache.org/">www.mail-archive.com</a><br />
              <a class="externalLink" href="http://news.gmane.org/gmane.comp.apache.announce">news.gmane.org</a>
          </td>
        </tr>
      </table>

    </section>
  </body>
</document>
