<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ 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.
  -->
<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.apache.apache.resources</groupId>
    <artifactId>apache-resource-bundles</artifactId>
    <version>40-SNAPSHOT</version>
  </parent>

  <artifactId>apache-incubator-disclaimer-resource-bundle</artifactId>
  <version>1.2-SNAPSHOT</version>

  <name>Apache Incubator Disclaimer Resource Bundle</name>
  <description>An archive which contains the standard Apache Incubator disclaimer.</description>

  <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/maven/resources/trunk/apache-incubator-disclaimer-resource-bundle</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/resources/trunk/apache-incubator-disclaimer-resource-bundle</developerConnection>
    <url>http://svn.apache.org/viewcvs.cgi/maven/resources/trunk/apache-incubator-disclaimer-resource-bundle</url>
  </scm>

</project>
