<?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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://maven.apache.org/POM/4.0.0">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>NPanday.ITs</groupId>
    <artifactId>NPanday.ITs.Parent</artifactId>
    <version>1-SNAPSHOT</version>
  </parent>
  <groupId>Microsoft.NPANDAY377WithCustomNPandaySettingsDirectoryTest</groupId>
  <artifactId>NPANDAY377WithCustomNPandaySettingsDirectoryTest-parent</artifactId>
  <packaging>pom</packaging>
  <name>Microsoft.NPANDAY377WithCustomNPandaySettingsDirectoryTest : NPANDAY377WithCustomNPandaySettingsDirectoryTest-parent</name>
  <version>1.0-SNAPSHOT</version>
  <modules>
    <module>NPANDAY_377_WithCustomNPandaySettingsDirectoryTest</module>
  </modules>
</project>
