<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.sonatype.oss</groupId>
        <artifactId>oss-parent</artifactId>
        <version>5</version>
        <relativePath/><!-- lookup parent from repository -->
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.openapitools</groupId>
    <artifactId>openapi-generator-project</artifactId>
    <packaging>pom</packaging>
    <name>openapi-generator-project</name>
    <!-- RELEASE_VERSION -->
    <version>6.2.0</version>
    <!-- /RELEASE_VERSION -->
    <url>https://github.com/openapitools/openapi-generator</url>
    <scm>
        <connection>scm:git:git@github.com:openapitools/openapi-generator.git</connection>
        <developerConnection>scm:git:git@github.com:openapitools/openapi-generator.git</developerConnection>
        <url>https://github.com/openapitools/openapi-generator</url>
    </scm>
    <developers>
        <!-- original author of the project -->
        <developer>
            <id>fehguy</id>
            <name>Tony Tam</name>
            <email>fehguy@gmail.com</email>
        </developer>
        <!-- openapi-generator core team -->
        <developer>
            <id>wing328</id>
            <name>William Cheng</name>
            <email>wing328hk@gmail.com</email>
        </developer>
        <developer>
            <id>jimschubert</id>
            <name>Jim Schubert</name>
            <email>james.schubert@gmail.com</email>
        </developer>
        <developer>
            <id>cbornet</id>
            <name>Christophe Bornet</name>
        </developer>
        <developer>
            <id>jmini</id>
            <name>Jérémie Bresson</name>
            <email>dev@jmini.fr</email>
        </developer>
        <developer>
            <id>etherealjoy</id>
            <name>Sunn</name>
            <email>sunn.ssb@live.com</email>
        </developer>
        <developer>
            <id>spacether</id>
            <name>Justin Black</name>
            <email>justin.a.black@gmail.com</email>
        </developer>
    </developers>
    <issueManagement>
        <system>github</system>
        <url>https://github.com/openapitools/openapi-generator/issues</url>
    </issueManagement>
    <distributionManagement>
        <snapshotRepository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <repository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
    </distributionManagement>
    <licenses>
        <license>
            <name>Apache License 2.0</name>
            <url>https://www.apache.org/licenses/LICENSE-2.0.html</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
    <build>
        <sourceDirectory>src/main/java</sourceDirectory>
        <outputDirectory>target/classes</outputDirectory>
        <extensions>
            <extension>
                <groupId>org.jvnet.wagon-svn</groupId>
                <artifactId>wagon-svn</artifactId>
                <version>${wagon-svn.version}</version>
            </extension>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ssh-external</artifactId>
                <version>${wagon-ssh-external.version}</version>
            </extension>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-webdav</artifactId>
                <version>${wagon-webdav.version}</version>
            </extension>
        </extensions>
        <defaultGoal>install</defaultGoal>
        <directory>target</directory>
        <finalName>${project.artifactId}-${project.version}</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>${checkstyle.plugin.version}</version>
                <configuration>
                    <consoleOutput>false</consoleOutput>
                    <failsOnError>false</failsOnError>
                    <excludes>**/samples/*.java</excludes>
                </configuration>
                <executions>
                    <execution>
                        <id>checkstyle-check</id>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <phase>verify</phase>
                    </execution>
                </executions>
            </plugin>
            <!-- https://www.jacoco.org/jacoco/trunk/doc/maven.html -->
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${jacoco.version}</version>
                <executions>
                    <execution>
                        <id>jacoco-initialize</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>jacoco-site</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>default-check</id>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <rule>
                                    <element>PACKAGE</element>
                                    <limits>
                                        <limit>
                                            <counter>LINE</counter>
                                            <value>COVEREDRATIO</value>
                                            <minimum>0</minimum>
                                        </limit>
                                    </limits>
                                </rule>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
                    <excludes>
                        <exclude>**/gradle-wrapper.jar</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${maven-surefire-plugin.version}</version>
                <configuration>
                    <printSummary>true</printSummary>
                    <parallel>classes</parallel>
                    <threadCountClasses>3</threadCountClasses>
                    <useSystemClassLoader>false</useSystemClassLoader>
                    <junitArtifactName>none:none</junitArtifactName>
                    <testNGArtifactName>org.testng:testng</testNGArtifactName>
                    <argLine>@{argLine} -XX:+StartAttachListener</argLine>
                    <systemPropertyVariables>
                        <org.openapitools.codegen.utils.oncelogger.expiry>1000</org.openapitools.codegen.utils.oncelogger.expiry>
                        <org.openapitools.codegen.utils.oncelogger.cachesize>5000</org.openapitools.codegen.utils.oncelogger.cachesize>
                    </systemPropertyVariables>
                </configuration>
                <dependencies>
                    <dependency>
                        <!--  must be on the classpath for test instrumentation  -->
                        <groupId>org.jacoco</groupId>
                        <artifactId>org.jacoco.agent</artifactId>
                        <classifier>runtime</classifier>
                        <version>${jacoco.version}</version>
                        <scope>runtime</scope>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin.version}</version>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.source}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>${maven-jar-plugin.version}</version>
                <configuration>
                    <archive>
                        <manifestEntries>
                            <mode>development</mode>
                            <url>${project.url}</url>
                            <implementation-version>${project.version}</implementation-version>
                            <package>org.openapitools</package>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>${maven-site-plugin.version}</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <version>${maven-release-plugin.version}</version>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>${maven-javadoc-plugin.version}</version>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <encoding>UTF-8</encoding>
                    <maxmemory>1g</maxmemory>
                    <failOnWarnings>true</failOnWarnings>
                </configuration>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.0.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>3.0.0-M2</version>
                <executions>
                    <execution>
                        <id>enforce-versions</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireJavaVersion>
                                    <version>1.8.0</version>
                                </requireJavaVersion>
                                <requireMavenVersion>
                                    <version>3.2.5</version>
                                </requireMavenVersion>
                                <requireReleaseDeps>
                                    <message>No Snapshots Allowed!</message>
                                    <failWhenParentIsSnapshot>false</failWhenParentIsSnapshot>
                                    <excludes>
                                        <exclude>org.openapitools:*</exclude>
                                    </excludes>
                                </requireReleaseDeps>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>de.thetaphi</groupId>
                <artifactId>forbiddenapis</artifactId>
                <version>2.6</version>
                <configuration>
                    <bundledSignatures>
                        <!--
                          This will automatically choose the right
                          signatures based on 'maven.compiler.target':
                        -->
                        <bundledSignature>jdk-unsafe</bundledSignature>
                        <bundledSignature>jdk-deprecated</bundledSignature>
                        <bundledSignature>jdk-internal</bundledSignature>
                        <!-- disallow undocumented classes like sun.misc.Unsafe: -->
                        <bundledSignature>jdk-non-portable</bundledSignature>
                        <bundledSignature>jdk-reflection</bundledSignature>
                    </bundledSignatures>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>check</goal>
                            <goal>testCheck</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>se.bjurr.violations</groupId>
                    <artifactId>violations-maven-plugin</artifactId>
                    <version>${violations-maven-plugin.version}</version>
                    <configuration>
                        <maxViolations>0</maxViolations>
                        <detailLevel>VERBOSE</detailLevel>
                        <minSeverity>ERROR</minSeverity>
                        <violations>
                            <violation>
                                <parser>FINDBUGS</parser>
                                <reporter>Spotbugs</reporter>
                                <folder>${project.basedir}</folder>
                                <pattern>.*/spotbugsXml\.xml$</pattern>
                            </violation>
                            <violation>
                                <parser>PMD</parser>
                                <reporter>PMD</reporter>
                                <folder>${project.basedir}</folder>
                                <pattern>.*/pmd\.xml$</pattern>
                            </violation>
                            <violation>
                                <parser>CHECKSTYLE</parser>
                                <reporter>Checkstyle</reporter>
                                <folder>${project.basedir}</folder>
                                <pattern>.*/checkstyle-result\.xml$</pattern>
                            </violation>
                        </violations>
                    </configuration>
                    <executions>
                        <execution>
                            <phase>verify</phase>
                            <goals>
                                <goal>violations</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>com.github.spotbugs</groupId>
                    <artifactId>spotbugs-maven-plugin</artifactId>
                    <version>${spotbugs-plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-pmd-plugin</artifactId>
                    <version>${pmd-plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>${checkstyle.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>pl.project13.maven</groupId>
                    <artifactId>git-commit-id-plugin</artifactId>
                    <version>${git-commit-id-plugin.version}</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
    <profiles>

        <profile>
            <id>release</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>1.6</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                        <version>1.6.8</version>
                        <extensions>true</extensions>
                        <configuration>
                            <serverId>ossrh</serverId>
                            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                            <autoReleaseAfterClose>true</autoReleaseAfterClose>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>release-sign-artifacts</id>
            <activation>
                <property>
                    <name>performRelease</name>
                    <value>true</value>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <!-- CI related -->
        <profile>
            <!-- This profile will run much more in-depth static analysis checks. -->
            <id>static-analysis</id>
            <properties>
                <skipTests>true</skipTests>
                <maven.javadoc.skip>true</maven.javadoc.skip>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.github.spotbugs</groupId>
                        <artifactId>spotbugs-maven-plugin</artifactId>
                        <version>${spotbugs-plugin.version}</version>
                        <configuration>
                            <failOnError>false</failOnError>
                            <!-- https://spotbugs.readthedocs.io/en/stable/effort.html -->
                            <effort>min</effort>
                            <excludeFilterFile>${project.basedir}${file.separator}spotbugs-exclude.xml</excludeFilterFile>
                        </configuration>
                        <executions>
                            <execution>
                                <id>spotbugs-check</id>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                                <phase>verify</phase>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-pmd-plugin</artifactId>
                        <version>${pmd-plugin.version}</version>
                        <configuration>
                            <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
                            <failOnViolation>false</failOnViolation>
                            <printFailingErrors>false</printFailingErrors>
                            <rulesets>
                                <ruleset>category/java/errorprone.xml</ruleset>
                            </rulesets>
                            <excludes>
                                <exclude>**/samples/**/*</exclude>
                            </excludes>
                        </configuration>
                        <executions>
                            <execution>
                                <id>pmd-check</id>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                                <phase>verify</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
            <reporting>
                <plugins>
                    <plugin>
                        <groupId>com.github.spotbugs</groupId>
                        <artifactId>spotbugs-maven-plugin</artifactId>
                        <version>${spotbugs-plugin.version}</version>
                    </plugin>
                </plugins>
            </reporting>
        </profile>
        <!-- Samples -->
        <profile>
            <id>android-client</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/android/volley</module>
            </modules>
        </profile>
        <profile>
            <id>bash-client</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/bash</module>
            </modules>
        </profile>
        <profile>
            <id>clojure-client</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>clojure</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/clojure</module>
            </modules>
        </profile>
        <profile>
            <id>haskell-http-client</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>haskell-http-client</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/haskell-http-client</module>
            </modules>
        </profile>
        <profile>
            <id>haskell-http-client-integration-test</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>haskell-http-client</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/haskell-http-client/tests-integration</module>
            </modules>
        </profile>
        <profile>
            <id>java-client-jersey1</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/java/jersey1</module>
            </modules>
        </profile>
        <profile>
            <id>java-client-jersey2-java8</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/java/jersey2-java8</module>
            </modules>
        </profile>
        <profile>
            <id>java-client-openapi3-jersey2-java8</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/openapi3/client/petstore/java/jersey2-java8</module>
            </modules>
        </profile>
        <profile>
            <id>java-client-okhttp-gson</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/java/okhttp-gson</module>
            </modules>
        </profile>
        <profile>
            <id>java-client-okhttp-gson-parcelable</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/java/okhttp-gson-parcelableModel</module>
            </modules>
        </profile>
        <profile>
            <id>java-client-retrofit2</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/java/retrofit2</module>
            </modules>
        </profile>
        <profile>
            <id>java-client-retrofit2-rx</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/java/retrofit2rx</module>
            </modules>
        </profile>
        <profile>
            <id>java-client-feign</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/java/feign</module>
            </modules>
        </profile>
        <profile>
            <id>javascript-client-es6</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>javascript</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/javascript-es6</module>
            </modules>
        </profile>
        <profile>
            <id>javascript-client-promise-es6</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>javascript</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/javascript-promise-es6</module>
            </modules>
        </profile>
        <profile>
            <id>scala-httpclient</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>scala</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/scala-httpclient</module>
            </modules>
        </profile>
        <profile>
            <id>java-micronaut-client</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/java-micronaut-client</module>
            </modules>
        </profile>
        <profile>
            <id>java-micronaut-server</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/java-micronaut-server</module>
            </modules>
        </profile>
        <profile>
            <id>java-msf4j-server</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/java-msf4j</module>
            </modules>
        </profile>
        <profile>
            <id>jaxrs-cxf-server</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/jaxrs-cxf</module>
            </modules>
        </profile>
        <profile>
            <id>jaxrs-resteasy-server</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/jaxrs-resteasy/default</module>
            </modules>
        </profile>
        <profile>
            <id>jaxrs-resteasy-server-joda</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/jaxrs-resteasy/joda</module>
            </modules>
        </profile>
        <profile>
            <id>jaxrs-resteasy-eap-server</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/jaxrs-resteasy/eap</module>
            </modules>
        </profile>
        <profile>
            <id>jaxrs-resteasy-eap-server-joda</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/jaxrs-resteasy/eap-joda</module>
            </modules>
        </profile>
        <profile>
            <id>jaxrs-server</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/jaxrs/jersey2</module>
            </modules>
        </profile>
        <profile>
            <id>jaxrs-server-jersey1</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/jaxrs/jersey1</module>
            </modules>
        </profile>
        <profile>
            <!-- openapi v3's one -->
            <id>jaxrs-jersey</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/jaxrs-jersey</module>
            </modules>
        </profile>
        <profile>
            <id>jaxrs-spec</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/jaxrs-spec</module>
            </modules>
        </profile>
        <profile>
            <id>jaxrs-spec-interface</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/jaxrs-spec-interface</module>
            </modules>
        </profile>
        <profile>
            <id>jaxrs-spec-interface-response</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/jaxrs-spec-interface-response</module>
            </modules>
        </profile>
        <profile>
            <id>typescript-client-tests-default</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/openapi3/client/petstore/typescript/tests/default</module>
            </modules>
        </profile>
        <profile>
            <id>typescript-client-tests-deno</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/openapi3/client/petstore/typescript/tests/deno</module>
            </modules>
        </profile>
        <profile>
            <id>typescript-client-tests-jquery</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/openapi3/client/petstore/typescript/tests/jquery</module>
            </modules>
        </profile>
        <profile>
            <id>typescript-client-tests-browser</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/openapi3/client/petstore/typescript/tests/browser</module>
            </modules>
        </profile>
        <profile>
            <id>typescript-fetch-client-tests-default</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/typescript-fetch/tests/default</module>
            </modules>
        </profile>
        <profile>
            <id>typescript-fetch-client-builds-default</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/typescript-fetch/builds/default</module>
            </modules>
        </profile>
        <profile>
            <id>typescript-fetch-client-builds-es6-target</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/typescript-fetch/builds/es6-target</module>
            </modules>
        </profile>
        <profile>
            <id>typescript-fetch-client-builds-with-npm-version</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/typescript-fetch/builds/with-npm-version</module>
            </modules>
        </profile>
        <profile>
            <id>typescript-fetch-client-builds-prefix-parameter-interfaces</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces</module>
            </modules>
        </profile>
        <profile>
            <id>typescript-node-npm-client</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/typescript-node/npm</module>
            </modules>
        </profile>
        <profile>
            <id>python-client</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/python-prior</module>
            </modules>
        </profile>
        <profile>
            <id>ruby-client</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/ruby</module>
            </modules>
        </profile>
        <profile>
            <id>go-client</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/client/petstore/go</module>
            </modules>
        </profile>
        <profile>
            <id>springboot-beanvalidation</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/springboot-beanvalidation</module>
            </modules>
        </profile>
        <profile>
            <id>springboot-reactive</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/springboot-reactive</module>
            </modules>
        </profile>
        <profile>
            <id>springboot</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/springboot</module>
            </modules>
        </profile>
        <profile>
            <id>springboot-virtualan</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/springboot-virtualan</module>
            </modules>
        </profile>
        <profile>
            <id>java-inflector</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/java-inflector</module>
            </modules>
        </profile>
        <profile>
            <id>java-undertow</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>java</value>
                </property>
            </activation>
            <modules>
                <module>samples/server/petstore/java-undertow</module>
            </modules>
        </profile>
        <profile>
            <id>samples</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>samples</value>
                </property>
            </activation>
            <modules>
                <!-- comment out as newer version of qt needed in travis
                <module>samples/client/petstore/cpp-qt</module>-->
                <module>samples/client/petstore/php/OpenAPIClient-php</module>
                <!-- TODO: move to github action or circleci
                <module>samples/client/petstore/crystal</module>-->
                <!-- servers -->
                <module>samples/server/petstore/python-aiohttp</module>
                <module>samples/server/petstore/python-aiohttp-srclayout</module>
                <module>samples/server/petstore/python-fastapi</module>
                <module>samples/server/petstore/python-flask</module>
                <!-- TODO: will move these to Github action
                <module>samples/server/petstore/php-slim4</module>
                <module>samples/server/petstore/php-laravel</module>
                <module>samples/server/petstore/php-lumen</module>-->
                <!--<module>samples/server/petstore/rust-server</module>-->
                <!-- clients -->
                <module>samples/client/petstore/perl</module>
                <!--<module>samples/client/petstore/bash</module>-->
                <module>samples/client/petstore/ruby-faraday</module>
                <module>samples/client/petstore/ruby</module>
                <module>samples/client/petstore/ruby-autoload</module>
                <!-- comment out as it's not working as the moment
                <module>samples/client/petstore/c</module>
                -->
                <module>samples/client/petstore/rust</module>
                <module>samples/client/petstore/rust/reqwest/petstore</module>
                <module>samples/client/petstore/rust/reqwest/petstore-async</module>
                <!--<module>samples/client/petstore/javascript-apollo</module>-->
                <module>samples/client/petstore/python-legacy</module>
                <module>samples/client/petstore/python-asyncio</module>
                <module>samples/client/petstore/python-tornado</module>
                <module>samples/openapi3/client/petstore/python-legacy</module>
            </modules>
        </profile>
        <!-- test with JDK8 in CircleCI -->
        <profile>
            <id>samples.circleci</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>samples.circleci</value>
                </property>
            </activation>
            <modules>
                <!-- servers -->
                <module>samples/server/petstore/java-camel</module>
                <module>samples/server/petstore/java-vertx-web</module>
                <module>samples/server/petstore/java-inflector</module>
                <module>samples/server/petstore/java-pkmst</module>
                <module>samples/server/petstore/java-undertow</module>
            </modules>
        </profile>
        <profile>
            <id>samples.circleci.spring</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>samples.circleci.spring</value>
                </property>
            </activation>
            <modules>
                <!-- clients -->
                <module>samples/client/petstore/spring-cloud</module>
            </modules>
        </profile>
        <!-- node 3 tests in CircleCI -->
        <profile>
            <id>samples.circleci.node3</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>samples.circleci.node3</value>
                </property>
            </activation>
            <modules>
                <!-- clients -->
                <module>samples/client/petstore/python-prior</module>
                <module>samples/client/petstore/python-prior_disallowAdditionalPropertiesIfNotPresent</module>
                <!--<module>samples/openapi3/client/petstore/python-legacy</module>-->
                <!-- TODO comment out below when the test for typescript-nestjs is ready
                <module>samples/client/petstore/typescript-nestjs-v6-provided-in-root</module>-->
                <!-- comment out due to error `npm run build`
                <module>samples/client/petstore/typescript-jquery/npm</module>-->
                <module>samples/client/petstore/typescript-angular-v12-provided-in-root</module>
                <module>samples/client/petstore/typescript-angular-v13-provided-in-root</module>
                <module>samples/client/petstore/typescript-angular-v14-provided-in-root</module>
                <module>samples/openapi3/client/petstore/typescript/builds/default</module>
                <module>samples/openapi3/client/petstore/typescript/tests/default</module>
                <module>samples/openapi3/client/petstore/typescript/builds/jquery</module>
                <module>samples/openapi3/client/petstore/typescript/tests/jquery</module>
                <module>samples/openapi3/client/petstore/typescript/builds/object_params</module>
                <module>samples/openapi3/client/petstore/typescript/tests/object_params</module>
                <module>samples/openapi3/client/petstore/typescript/builds/inversify</module>
                <!-- comment out due to failure in travis ci
                <module>samples/openapi3/client/petstore/typescript/tests/inversify</module>
                <module>samples/openapi3/client/petstore/typescript/tests/deno</module>-->
                <module>samples/openapi3/client/petstore/typescript/builds/browser</module>
                <module>samples/openapi3/client/petstore/typescript/tests/browser</module>
                <module>samples/client/petstore/typescript-fetch/builds/default</module>
                <module>samples/client/petstore/typescript-fetch/builds/es6-target</module>
                <module>samples/client/petstore/typescript-fetch/builds/with-npm-version</module>
                <module>samples/client/petstore/typescript-fetch/tests/default</module>
                <module>samples/client/petstore/typescript-node/npm</module>
                <module>samples/client/petstore/typescript-rxjs/builds/with-npm-version</module>
                <module>samples/client/petstore/typescript-axios/builds/with-npm-version</module>
                <module>samples/client/petstore/typescript-axios/tests/default</module>
                <module>samples/client/petstore/javascript-flowtyped</module>
                <module>samples/client/petstore/javascript-es6</module>
                <module>samples/client/petstore/javascript-promise-es6</module>
            </modules>
        </profile>
        <!-- node 4 tests in CircleCI -->
        <profile>
            <id>samples.circleci.node4</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>samples.circleci.node4</value>
                </property>
            </activation>
            <modules>
                <!-- python clients which don't need the server running -->
                <module>samples/openapi3/client/petstore/python</module>
                <module>samples/openapi3/client/petstore/python-prior</module>
            </modules>
        </profile>
        <!-- other tests in CircleCI -->
        <profile>
            <id>samples.circleci.others</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>samples.circleci.others</value>
                </property>
            </activation>
            <modules>
                <!-- clients -->
                <!-- test java-related projects -->
                <module>samples/client/petstore/scala-akka</module>
                <module>samples/client/petstore/scala-sttp</module>
                <module>samples/client/petstore/clojure</module>
                <module>samples/client/petstore/java/jersey2-java8</module>
                <module>samples/openapi3/client/petstore/java/jersey2-java8</module>
                <module>samples/client/petstore/java/jersey3</module>
                <module>samples/client/others/java/okhttp-gson-streaming</module>
                <module>samples/client/petstore/java/okhttp-gson</module>
            </modules>
        </profile>
        <!-- test with JDK9 in Shippable CI -->
        <profile>
            <id>samples.shippable</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>samples.shippable</value>
                </property>
            </activation>
            <modules>
                <!-- clients -->
                <module>samples/openapi3/client/elm</module>
                <!--<module>samples/client/petstore/elixir</module>-->
                <module>samples/client/petstore/erlang-client</module>
                <module>samples/client/petstore/erlang-proper</module>
                <!--<module>samples/server/petstore/erlang-server</module>-->
            </modules>
        </profile>
        <!-- test with Haskell -->
        <profile>
            <id>samples.misc</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>samples.misc</value>
                </property>
            </activation>
            <modules>
                <!-- clients -->
                <!--<module>samples/client/petstore/haskell-http-client</module>-->
                <!-- servers -->
                <!--<module>samples/server/petstore/haskell-servant</module>-->
                <!-- test Go projects -->
                <module>samples/client/petstore/go</module>
                <module>samples/openapi3/client/petstore/go</module>
                <module>samples/server/petstore/go-api-server</module>
                <!-- comment out due to Go version
                <module>samples/server/petstore/go-gin-api-server</module>-->
                <module>samples/server/petstore/go-echo-server</module>
            </modules>
        </profile>
        <profile>
            <id>samples.dart</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>samples.dart</value>
                </property>
            </activation>
            <modules>
                <module>samples/openapi3/client/petstore/dart2/petstore_client_lib</module>
                <module>samples/openapi3/client/petstore/dart-dio/oneof</module>
                <module>samples/openapi3/client/petstore/dart-dio/oneof_polymorphism_and_inheritance</module>
                <module>samples/openapi3/client/petstore/dart-dio/oneof_primitive</module>
                <module>samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake</module>
                <module>samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable</module>
            </modules>
        </profile>
        <profile>
            <id>samples.ios</id>
            <activation>
                <property>
                    <name>env</name>
                    <value>samples.ios</value>
                </property>
            </activation>
            <modules>
                <!-- swift 5 samples -->
                <module>samples/client/petstore/swift5/alamofireLibrary</module>
                <module>samples/client/petstore/swift5/combineLibrary</module>
                <module>samples/client/petstore/swift5/default</module>
                <module>samples/client/petstore/swift5/deprecated</module>
                <module>samples/client/petstore/swift5/frozenEnums</module>
                <module>samples/client/petstore/swift5/nonPublicApi</module>
                <module>samples/client/petstore/swift5/objcCompatible</module>
                <module>samples/client/petstore/swift5/promisekitLibrary</module>
                <module>samples/client/petstore/swift5/readonlyProperties</module>
                <module>samples/client/petstore/swift5/resultLibrary</module>
                <module>samples/client/petstore/swift5/rxswiftLibrary</module>
                <module>samples/client/petstore/swift5/urlsessionLibrary</module>
                <!-- swift 5 tests -->
                <!-- temporarily comment them because they are flaky
                <module>samples/client/petstore/swift5/alamofireLibrary/SwaggerClientTests</module>
                <module>samples/client/petstore/swift5/combineLibrary/SwaggerClientTests</module>
                <module>samples/client/petstore/swift5/default/SwaggerClientTests</module>
                <module>samples/client/petstore/swift5/promisekitLibrary/SwaggerClientTests</module>
                <module>samples/client/petstore/swift5/rxswiftLibrary/SwaggerClientTests</module>
                <module>samples/client/petstore/swift5/urlsessionLibrary/SwaggerClientTests</module>
                -->
                <!-- swift 1.x, 3.x, 4.x client generators have been deprecated
                <module>samples/client/petstore/swift4/default/SwaggerClientTests</module>
                <module>samples/client/petstore/swift4/promisekit/SwaggerClientTests</module>
                <module>samples/client/petstore/swift4/rxswift/SwaggerClientTests</module>
                <module>samples/client/petstore/swift3/default/SwaggerClientTests</module>
                <module>samples/client/petstore/swift3/promisekit/SwaggerClientTests</module>
                <module>samples/client/petstore/swift3/rxswift/SwaggerClientTests</module>
                <module>samples/client/petstore/swift/default/SwaggerClientTests</module>
                <module>samples/client/petstore/swift/promisekit/SwaggerClientTests</module>
                <module>samples/client/petstore/swift/rxswift/SwaggerClientTests</module>-->
                <!-- comment out objc tests as it's timing out
                <module>samples/client/petstore/objc/default/SwaggerClientTests</module>
                <module>samples/client/petstore/objc/core-data/SwaggerClientTests</module>-->
            </modules>
        </profile>
        <profile>
            <id>openapi-generator</id>
            <activation>
                <activeByDefault>true</activeByDefault>
                <property>
                    <name>!integration-test</name>
                </property>
            </activation>
            <modules>
                <module>modules/openapi-generator-core</module>
                <module>modules/openapi-generator</module>
                <module>modules/openapi-generator-cli</module>
                <module>modules/openapi-generator-maven-plugin</module>
                <module>modules/openapi-generator-gradle-plugin</module>
                <module>modules/openapi-generator-online</module>
            </modules>
        </profile>
    </profiles>
    <reporting>
        <outputDirectory>target/site</outputDirectory>
        <plugins>
            <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>scala-maven-plugin</artifactId>
                <version>${scala-maven-plugin.version}</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jxr-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <aggregate>true</aggregate>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>${maven-project-info-reports-plugin.version}</version>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>project-team</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
        </plugins>
    </reporting>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>${testng.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.openrewrite</groupId>
                <artifactId>rewrite-maven</artifactId>
                <version>${openrewrite.version}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <repositories>
        <repository>
            <id>sonatype-snapshots</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>

        <archunit.version>0.23.1</archunit.version>
        <checkstyle.plugin.version>3.1.0</checkstyle.plugin.version>
        <commons-cli.version>1.4</commons-cli.version>
        <commons-io.version>2.11.0</commons-io.version>
        <commons-lang.version>3.12.0</commons-lang.version>
        <commons-text.version>1.9</commons-text.version>
        <diffutils.version>1.3.0</diffutils.version>
        <generex.version>1.0.2</generex.version>
        <git-commit-id-plugin.version>4.9.10</git-commit-id-plugin.version>
        <groovy.version>3.0.9</groovy.version>
        <guava.version>30.1.1-jre</guava.version>
        <handlebars-java.version>4.2.1</handlebars-java.version>
        <jackson-threetenbp.version>2.10.0</jackson-threetenbp.version>
        <jackson.version>2.13.4</jackson.version>
        <jacoco.version>0.8.7</jacoco.version>
        <jmustache.version>1.14</jmustache.version>
        <junit.version>4.13.2</junit.version>
        <kotlin.version>1.6.10</kotlin.version>
        <maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>
        <maven-jar-plugin.version>3.2.2</maven-jar-plugin.version>
        <maven-javadoc-plugin.version>3.4.0</maven-javadoc-plugin.version>
        <maven-project-info-reports-plugin.version>3.0.0</maven-project-info-reports-plugin.version>
        <maven-release-plugin.version>2.5.3</maven-release-plugin.version>
        <maven-site-plugin.version>3.7.1</maven-site-plugin.version>
        <mockito.version>4.5.1</mockito.version>
        <pmd-plugin.version>3.12.0</pmd-plugin.version>
        <reflections.version>0.10</reflections.version>
        <rxgen.version>1.3</rxgen.version>
        <scala-maven-plugin.version>4.6.1</scala-maven-plugin.version>
        <slf4j.version>1.7.36</slf4j.version>
        <spotbugs-plugin.version>3.1.12.2</spotbugs-plugin.version>
        <maven-surefire-plugin.version>3.0.0-M6</maven-surefire-plugin.version>
        <openrewrite.version>7.22.0</openrewrite.version>
        <swagger-parser-groupid.version>io.swagger.parser.v3</swagger-parser-groupid.version>
        <swagger-parser.version>2.1.1</swagger-parser.version>
        <testng.version>7.5</testng.version>
        <violations-maven-plugin.version>1.34</violations-maven-plugin.version>
        <wagon-ssh-external.version>3.4.3</wagon-ssh-external.version>
        <wagon-svn.version>1.12</wagon-svn.version>
        <wagon-webdav.version>1.0-beta-2</wagon-webdav.version>
    </properties>
</project>
