<?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.maven</groupId>
    <artifactId>maven-impl-modules</artifactId>
    <version>4.1.0-SNAPSHOT</version>
  </parent>

  <artifactId>maven-support</artifactId>
  <name>Maven 4 Model Support</name>
  <description>Provides the Maven 4 Model Support</description>

  <dependencies>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-api-model</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-api-settings</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-api-toolchain</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-api-metadata</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-api-plugin</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-xml</artifactId>
    </dependency>

    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-api</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.modello</groupId>
        <artifactId>modello-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>velocity-lifecycle</id>
            <goals>
              <goal>velocity</goal>
            </goals>
            <phase>generate-sources</phase>
            <configuration>
              <version>2.0.0</version>
              <basedir>${project.basedir}/../../api/maven-api-plugin</basedir>
              <velocityBasedir>${project.basedir}/../../src/mdo</velocityBasedir>
              <models>
                <model>src/main/mdo/lifecycle.mdo</model>
              </models>
              <templates>
                <template>reader-stax.vm</template>
                <template>writer-stax.vm</template>
              </templates>
              <params>
                <param>packageModelV4=org.apache.maven.api.plugin.descriptor.lifecycle</param>
                <param>packageToolV4=org.apache.maven.plugin.lifecycle.io</param>
              </params>
            </configuration>
          </execution>
          <execution>
            <id>velocity-plugin</id>
            <goals>
              <goal>velocity</goal>
            </goals>
            <phase>generate-sources</phase>
            <configuration>
              <version>2.0.0</version>
              <basedir>${project.basedir}/../../api/maven-api-plugin</basedir>
              <velocityBasedir>${project.basedir}/../../src/mdo</velocityBasedir>
              <models>
                <model>src/main/mdo/plugin.mdo</model>
              </models>
              <templates>
                <template>reader-stax.vm</template>
                <template>writer-stax.vm</template>
              </templates>
              <params>
                <param>packageModelV3=org.apache.maven.plugin.descriptor</param>
                <param>packageModelV4=org.apache.maven.api.plugin.descriptor</param>
                <param>packageToolV4=org.apache.maven.plugin.descriptor.io</param>
              </params>
            </configuration>
          </execution>
          <execution>
            <id>velocity-settings</id>
            <goals>
              <goal>velocity</goal>
            </goals>
            <phase>generate-sources</phase>
            <configuration>
              <pluralExceptions>
                <aliases>alias</aliases>
              </pluralExceptions>
              <version>2.0.0</version>
              <basedir>${project.basedir}/../../api/maven-api-settings</basedir>
              <velocityBasedir>${project.basedir}/../../src/mdo</velocityBasedir>
              <models>
                <model>src/main/mdo/settings.mdo</model>
              </models>
              <templates>
                <template>merger.vm</template>
                <template>transformer.vm</template>
                <template>reader-stax.vm</template>
                <template>writer-stax.vm</template>
              </templates>
              <params>
                <param>forcedIOModelVersion=1.3.0</param>
                <param>packageModelV3=org.apache.maven.settings</param>
                <param>packageModelV4=org.apache.maven.api.settings</param>
                <param>packageToolV4=org.apache.maven.settings.v4</param>
                <param>locationTracking=true</param>
                <param>generateLocationClasses=true</param>
              </params>
            </configuration>
          </execution>
          <execution>
            <id>velocity-toolchains</id>
            <goals>
              <goal>velocity</goal>
            </goals>
            <phase>generate-sources</phase>
            <configuration>
              <version>1.2.0</version>
              <basedir>${project.basedir}/../../api/maven-api-toolchain</basedir>
              <velocityBasedir>${project.basedir}/../../src/mdo</velocityBasedir>
              <models>
                <model>src/main/mdo/toolchains.mdo</model>
              </models>
              <templates>
                <template>merger.vm</template>
                <template>transformer.vm</template>
                <template>reader-stax.vm</template>
                <template>writer-stax.vm</template>
              </templates>
              <params>
                <param>packageModelV3=org.apache.maven.toolchain.model</param>
                <param>packageModelV4=org.apache.maven.api.toolchain</param>
                <param>packageToolV4=org.apache.maven.toolchain.v4</param>
                <param>locationTracking=true</param>
                <param>generateLocationClasses=true</param>
              </params>
            </configuration>
          </execution>
          <execution>
            <id>velocity-metadata</id>
            <goals>
              <goal>velocity</goal>
            </goals>
            <phase>generate-sources</phase>
            <configuration>
              <version>1.1.0</version>
              <basedir>${project.basedir}/../../api/maven-api-metadata</basedir>
              <velocityBasedir>${project.basedir}/../../src/mdo</velocityBasedir>
              <models>
                <model>src/main/mdo/metadata.mdo</model>
              </models>
              <templates>
                <template>reader-stax.vm</template>
                <template>writer-stax.vm</template>
              </templates>
              <params>
                <param>packageModelV4=org.apache.maven.api.metadata</param>
                <param>packageToolV4=org.apache.maven.metadata.v4</param>
              </params>
            </configuration>
          </execution>
          <execution>
            <id>model-v4</id>
            <goals>
              <goal>velocity</goal>
            </goals>
            <phase>generate-sources</phase>
            <configuration>
              <version>4.2.0</version>
              <basedir>${project.basedir}/../../api/maven-api-model</basedir>
              <velocityBasedir>${project.basedir}/../../src/mdo</velocityBasedir>
              <models>
                <model>src/main/mdo/maven.mdo</model>
              </models>
              <templates>
                <template>merger.vm</template>
                <template>transformer.vm</template>
                <template>reader-stax.vm</template>
                <template>writer-stax.vm</template>
                <template>model-version.vm</template>
              </templates>
              <params>
                <param>forcedIOModelVersion=4.0.0</param>
                <param>packageModelV3=org.apache.maven.model</param>
                <param>packageModelV4=org.apache.maven.api.model</param>
                <param>packageToolV4=org.apache.maven.model.v4</param>
                <param>isMavenModel=true</param>
                <param>enforceNamespace=true</param>
                <param>minimalVersion=4.0.0</param>
              </params>
            </configuration>
          </execution>
          <execution>
            <id>modello-site-docs</id>
            <phase>none</phase>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

</project>
