<?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>
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.maven.its.mng5000</groupId>
  <artifactId>parent</artifactId>
  <version>0.1</version>
  <packaging>pom</packaging>

  <name>Maven Integration Test :: MNG-5000</name>
  <description>Verify that child path aware URL adjustment still works when the child's artifactId doesn't match the name
    of its base directory as given in the parent's module section.</description>

  <url>http://project.url/parent</url>

  <modules>
    <module>../different-from-artifactId</module>
  </modules>

  <scm>
    <connection>http://scm.project.url/parent</connection>
    <developerConnection>https://scm.project.url/parent</developerConnection>
    <url>http://viewvc.project.url/parent</url>
  </scm>
  <distributionManagement>
    <site>
      <id>parent.site</id>
      <url>http://site.project.url/parent</url>
    </site>
  </distributionManagement>
</project>
