<?xml version="1.0" encoding="UTF-8"?>
<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>com.github.davidmoten</groupId>
        <artifactId>openapi-codegen-parent</artifactId>
        <version>0.1</version>
    </parent>
    <artifactId>openapi-codegen-maven-plugin-test</artifactId>
    <name>${project.artifactId}</name>
    <description />
    <packaging>jar</packaging>
    <properties>
        <cache>${project.basedir}/.openapi-codegen/cache</cache>
        <skip>true</skip>
        <downloadList>${project.basedir}/src/main/openapi/downloadList.txt</downloadList>
    </properties>

    <dependencies>

        <dependency>
            <groupId>com.github.davidmoten</groupId>
            <artifactId>openapi-codegen-spring-runtime</artifactId>
            <version>${project.parent.version}</version>
        </dependency>

        <dependency>
            <groupId>com.github.davidmoten</groupId>
            <artifactId>openapi-codegen-client-runtime</artifactId>
            <version>${project.parent.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <!-- required for Java 17 -->
        <dependency>
            <groupId>javax.annotation</groupId>
            <artifactId>javax.annotation-api</artifactId>
            <version>1.3.2</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>${spring.boot.version}</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>4.11.0</version>
            <scope>test</scope>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${compiler.plugin.version}</version>
                <configuration>
                    <source>${maven.compiler.target}</source>
                    <target>${maven.compiler.target}</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${jacoco.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>report</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.github.davidmoten</groupId>
                <artifactId>openapi-codegen-maven-plugin</artifactId>
                <version>${project.parent.version}</version>
                <executions>
                    <execution>
                        <id>unit-test-schemas</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <generator>spring2</generator>
                            <basePackage>org.davidmoten.oa3.codegen.test.main</basePackage>
                            <sources>
                                <includes>
                                    <include>main.yml</include>
                                </includes>
                            </sources>
                        </configuration>
                    </execution>
                    <execution>
                        <id>unit-test-paths</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <generator>spring2</generator>
                            <basePackage>org.davidmoten.oa3.codegen.test.paths</basePackage>
                            <sources>
                                <includes>
                                    <include>paths.yml</include>
                                </includes>
                            </sources>
                        </configuration>
                    </execution>
                    <execution>
                        <id>library</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <generator>spring2</generator>
                            <basePackage>org.davidmoten.oa3.codegen.test.library</basePackage>
                            <sources>
                                <includes>
                                    <include>library.yml</include>
                                </includes>
                            </sources>
                        </configuration>
                    </execution>
                    <execution>
                        <id>small</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <generator>spring2</generator>
                            <basePackage>org.davidmoten.oa3.codegen.test.small</basePackage>
                            <sources>
                                <includes>
                                    <include>small.yml</include>
                                </includes>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>${build.helper.version}</version>
                <executions>
                    <execution>
                        <id>add-source</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>${project.build.directory}/generated-sources/java</source>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>${deploy.version}</version>
                <configuration>
                    <skip>${skip}</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>extras</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.github.davidmoten</groupId>
                        <artifactId>openapi-codegen-maven-plugin</artifactId>
                        <version>${project.parent.version}</version>
                        <executions>
                            <execution>
                                <id>cts</id>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                                <configuration>
                                    <generator>spring2</generator>
                                    <basePackage>org.davidmoten.oa3.codegen.test.cts</basePackage>
                                    <sources>
                                        <includes>
                                            <include>cts.yml</include>
                                        </includes>
                                    </sources>
                                </configuration>
                            </execution>
                            <execution>
                                <id>ebay</id>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                                <configuration>
                                    <basePackage>org.davidmoten.oa3.codegen.test.ebay</basePackage>
                                    <sources>
                                        <includes>
                                            <include>ebay.yml</include>
                                        </includes>
                                    </sources>
                                </configuration>
                            </execution>
                            <execution>
                                <id>marqueta</id>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                                <configuration>
                                    <skip>${skip}</skip>
                                    <generator>spring2</generator>
                                    <basePackage>org.davidmoten.oa3.codegen.test.marqueta</basePackage>
                                    <sources>
                                        <includes>
                                            <include>marqueta.yml</include>
                                        </includes>
                                    </sources>
                                </configuration>
                            </execution>
                            <execution>
                                <id>openflow</id>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                                <configuration>
                                    <generator>spring2</generator>
                                    <basePackage>org.davidmoten.oa3.codegen.test.openflow</basePackage>
                                    <sources>
                                        <includes>
                                            <include>openflow.yml</include>
                                        </includes>
                                    </sources>
                                </configuration>
                            </execution>
                            <execution>
                                <id>jira</id>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                                <configuration>
                                    <generator>spring2</generator>
                                    <basePackage>org.davidmoten.oa3.codegen.test.jira</basePackage>
                                    <sources>
                                        <includes>
                                            <include>jira.yml</include>
                                        </includes>
                                    </sources>
                                </configuration>
                            </execution>
                            <execution>
                                <id>spotify</id>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                                <configuration>
                                    <downloadList>${downloadList}</downloadList>
                                    <generator>spring2</generator>
                                    <basePackage>org.davidmoten.oa3.codegen.test.spotify</basePackage>
                                    <sources>
                                        <directory>${cache}</directory>
                                        <includes>
                                            <include>spotify.yml</include>
                                        </includes>
                                    </sources>
                                </configuration>
                            </execution>
                            <execution>
                                <id>fec</id>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                                <configuration>
                                    <generator>spring2</generator>
                                    <basePackage>org.davidmoten.oa3.codegen.test.fec</basePackage>
                                    <sources>
                                        <directory>${cache}</directory>
                                        <includes>
                                            <include>fec.yml</include>
                                        </includes>
                                    </sources>
                                </configuration>
                            </execution>
                            <execution>
                                <id>chat</id>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                                <configuration>
                                    <generator>spring2</generator>
                                    <basePackage>org.davidmoten.oa3.codegen.test.chat</basePackage>
                                    <sources>
                                        <directory>${cache}</directory>
                                        <includes>
                                            <include>chat.yml</include>
                                        </includes>
                                    </sources>
                                </configuration>
                            </execution>
                            <execution>
                                <id>twitter</id>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                                <configuration>
                                    <generator>spring2</generator>
                                    <basePackage>org.davidmoten.oa3.codegen.test.twitter</basePackage>
                                    <sources>
                                        <directory>${cache}</directory>
                                        <includes>
                                            <include>twitter.yml</include>
                                        </includes>
                                    </sources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>github</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.github.davidmoten</groupId>
                        <artifactId>openapi-codegen-maven-plugin</artifactId>
                        <version>${project.parent.version}</version>
                        <executions>
                            <execution>
                                <id>github</id>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                                <configuration>
                                    <downloadList>${downloadList}</downloadList>
                                    <generator>spring2</generator>
                                    <basePackage>org.davidmoten.oa3.codegen.test.github</basePackage>
                                    <sources>
                                        <directory>${cache}</directory>
                                        <includes>
                                            <include>github.yml</include>
                                        </includes>
                                    </sources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>mailchimp</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.github.davidmoten</groupId>
                        <artifactId>openapi-codegen-maven-plugin</artifactId>
                        <version>${project.parent.version}</version>
                        <executions>
                            <execution>
                                <id>mailchimp</id>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                                <configuration>
                                    <downloadList>${downloadList}</downloadList>
                                    <generator>spring2</generator>
                                    <basePackage>org.davidmoten.oa3.codegen.test.mailchimp</basePackage>
                                    <sources>
                                        <directory>${cache}</directory>
                                        <includes>
                                            <include>mailchimp.yml</include>
                                        </includes>
                                    </sources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>docusign</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.github.davidmoten</groupId>
                        <artifactId>openapi-codegen-maven-plugin</artifactId>
                        <version>${project.parent.version}</version>
                        <executions>
                            <execution>
                                <id>docusign</id>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                                <configuration>
                                    <downloadList>${downloadList}</downloadList>
                                    <generator>spring2</generator>
                                    <basePackage>org.davidmoten.oa3.codegen.test.docusign</basePackage>
                                    <sources>
                                        <directory>${cache}</directory>
                                        <includes>
                                            <include>docusign.yml</include>
                                        </includes>
                                    </sources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>bitbucket</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.github.davidmoten</groupId>
                        <artifactId>openapi-codegen-maven-plugin</artifactId>
                        <version>${project.parent.version}</version>
                        <executions>
                            <execution>
                                <id>bitbucket</id>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                                <configuration>
                                    <downloadList>${downloadList}</downloadList>
                                    <generator>spring2</generator>
                                    <basePackage>org.davidmoten.oa3.codegen.test.bitbucket</basePackage>
                                    <sources>
                                        <directory>${cache}</directory>
                                        <includes>
                                            <include>bitbucket.yml</include>
                                        </includes>
                                    </sources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>openai</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.github.davidmoten</groupId>
                        <artifactId>openapi-codegen-maven-plugin</artifactId>
                        <version>${project.parent.version}</version>
                        <executions>
                            <execution>
                                <id>openai</id>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                                <configuration>
                                    <downloadList>${downloadList}</downloadList>
                                    <!-- has some dodgy default values in schemas -->
                                    <failOnParseErrors>false</failOnParseErrors>
                                    <generator>spring2</generator>
                                    <basePackage>org.davidmoten.oa3.codegen.test.openai</basePackage>
                                    <sources>
                                        <directory>${cache}</directory>
                                        <includes>
                                            <include>openai.yml</include>
                                        </includes>
                                    </sources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>zuora</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.github.davidmoten</groupId>
                        <artifactId>openapi-codegen-maven-plugin</artifactId>
                        <version>${project.parent.version}</version>
                        <executions>
                            <execution>
                                <id>zuora</id>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                                <configuration>
                                    <downloadList>${downloadList}</downloadList>
                                    <!-- has some dodgy default values in schemas -->
                                    <failOnParseErrors>false</failOnParseErrors>
                                    <generator>spring2</generator>
                                    <basePackage>org.davidmoten.oa3.codegen.test.zuora</basePackage>
                                    <sources>
                                        <directory>${cache}</directory>
                                        <includes>
                                            <include>zuora.yml</include>
                                        </includes>
                                    </sources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

</project>
