<?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>

  <parent>
    <groupId>org.apache.maven.its.mng2591</groupId>
    <artifactId>parent</artifactId>
    <version>1.0</version>
  </parent>

  <artifactId>subproject</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.its.plugins</groupId>
        <artifactId>maven-it-plugin-configuration</artifactId>
        <version>2.1-SNAPSHOT</version>
        <configuration>
          <propertiesFile>target/config.properties</propertiesFile>
          <stringParams combine.children="append">
            <!-- NOTE: These values are deliberately not in alpha order! -->
            <stringParam>CHILD-1</stringParam>
            <stringParam>CHILD-3</stringParam>
            <stringParam>CHILD-2</stringParam>
            <stringParam>CHILD-4</stringParam>
          </stringParams>
          <listParam combine.children="append">
            <!-- NOTE: These values are deliberately not in alpha order! -->
            <listParam>CHILD-1</listParam>
            <listParam>CHILD-3</listParam>
            <listParam>CHILD-2</listParam>
            <listParam>CHILD-4</listParam>
          </listParam>
        </configuration>
        <executions>
          <execution>
            <id>test</id>
            <goals>
              <goal>config</goal>
            </goals>
            <phase>validate</phase>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
