<?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.mng3836</groupId>
  <artifactId>parent</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>Maven Integration Test :: MNG-3836</name>
  <description>Verify that children can *override* inherited plugin configuration.</description>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.its.plugins</groupId>
          <artifactId>maven-it-plugin-configuration</artifactId>
          <version>2.1-SNAPSHOT</version>
          <configuration>
            <propertiesFile>target/failed.properties</propertiesFile>
            <stringParams>
              <stringParam>FAILED-1</stringParam>
              <stringParam>FAILED-3</stringParam>
              <stringParam>FAILED-2</stringParam>
              <stringParam>FAILED-4</stringParam>
            </stringParams>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.its.plugins</groupId>
        <artifactId>maven-it-plugin-configuration</artifactId>
        <version>2.1-SNAPSHOT</version>
        <configuration>
          <propertiesFile>target/failed.properties</propertiesFile>
          <listParam>
            <listParam>FAILED-1</listParam>
            <listParam>FAILED-3</listParam>
            <listParam>FAILED-2</listParam>
            <listParam>FAILED-4</listParam>
          </listParam>
          <domParam>
            <echo>FAILED-1</echo>
            <echo>FAILED-3</echo>
            <echo>FAILED-2</echo>
            <echo>FAILED-4</echo>
          </domParam>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
