<?xml version="1.0" encoding="UTF-8"?>
<!--

  ~ 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.
  
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.heron</groupId>
  <artifactId>ARTIFACT_ID</artifactId>
  <version>VERSION</version>  
  <packaging>jar</packaging>
  <name>NAME</name>
  <description>DESCRIPTION</description>
  <url>http://www.heronstreaming.io</url>
  <licenses>
    <license>
      <name>The Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
    </license>
  </licenses>

  <mailingLists>
    <mailingList>
        <name>Heron user mailing list</name>
        <subscribe>user-subscribe@heron.incubator.apache.org</subscribe>
        <unsubscribe>user-unsubscribe@heron.incubator.apache.org</unsubscribe>
        <post>user@heron.incubator.apache.org</post>
        <archive>http://mail-archives.apache.org/mod_mbox/heron-user/</archive>
    </mailingList>
    <mailingList>
        <name>Heron developer mailing list</name>
        <subscribe>dev-subscribe@heron.incubator.apache.org</subscribe>
        <unsubscribe>dev-unsubscribe@heron.incubator.apache.org</unsubscribe>
        <post>dev@heron.incubator.apache.org</post>
        <archive>http://mail-archives.apache.org/mod_mbox/heron-dev/</archive>
    </mailingList>
  </mailingLists>

  <developers>
    <developer>
      <name>Heron Project</name>
      <email>dev@heron.incubator.apache.org</email>
      <organization>Apache Software Foundation</organization>
      <organizationUrl>http://http://apache.org/</organizationUrl>
    </developer>
  </developers>

  <scm>
    <connection>scm:git:git@github.com:apache/incubator-heron.git</connection>
    <developerConnection>scm:git:git@github.com:apache/incubator-heron.git</developerConnection>
    <url>git@github.com:apache/incubator-heron.git</url>
  </scm>
</project>
