<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <parent>
        <groupId>org.openapitools</groupId>
        <artifactId>openapi-generator-project</artifactId>
        <version>3.0.2</version>
        <relativePath>../..</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>openapi-generator-gradle-plugin-mvn-wrapper</artifactId>
    <packaging>pom</packaging>
    <name>openapi-generator-gradle-plugin (maven wrapper)</name>
    <description>This is a maven wrapper to call gradle during installation phase</description>


    <dependencies>
        <dependency>
            <groupId>org.openapitools</groupId>
            <artifactId>openapi-generator</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>

            <!-- NOTE: Consider this temporary, as a way to cleanly hook into our pipeline.
                We've discussed moving the entire project to gradle https://github.com/OpenAPITools/openapi-generator/issues/200, which would avoid this fitting. -->
            <!-- 1) disable maven install. This wrapper is not needed. (gradle will install a jar and a pom into the local maven repo) -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <version>2.5.2</version>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
            <!-- 2) run gradle -->
            <plugin>
                <groupId>org.fortasoft</groupId>
                <artifactId>gradle-maven-plugin</artifactId>
                <version>1.0.8</version>
                <configuration>
                    <gradleVersion>4.7</gradleVersion>
                    <args>
                        <arg>-P openApiGeneratorVersion=${project.version}</arg>
                    </args>
                </configuration>
                <executions>
                    <execution>
                        <phase>install</phase>
                        <goals>
                            <!-- goal must be "invoke" -->
                            <goal>invoke</goal>
                        </goals>
                        <configuration>
                            <tasks>
                                <!-- calls "clean assemble install" -->
                                <task>clean</task>
                                <task>assemble</task>
                                <task>install</task>
                            </tasks>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!-- 3) disable maven deploy. This wrapper is not needed. -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.8.2</version>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
