<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.bluetrainsoftware.maven</groupId>
	<artifactId>openapi-dart-generator</artifactId>
	<packaging>jar</packaging>
	<name>openapi-dart-generator</name>
	<version>7.2</version>

	<description>
		dart2 generator from openapi 3.x spec files. Changing to openapitools dependencies.
	</description>

	<url>https://www.bluetrainsoftware.com</url>
	<developers>
		<developer>
			<email>richard@bluetrainsoftware.com</email>
			<id>rvowles</id>
			<name>Richard Vowles</name>
		</developer>
	</developers>

	<licenses>
		<license>
			<name>Apache License 2.0</name>
			<url>https://opensource.org/licenses/Apache-2.0</url>
		</license>
	</licenses>

	<scm>
		<connection>scm:git:git@github.com:dart-ogurets/dart-openapi-maven.git</connection>
		<developerConnection>scm:git:git@github.com:dart-ogurets/dart-openapi-maven.git</developerConnection>
		<url>git@github.com:dart-ogurets/dart-openapi-maven.git</url>
		<tag>openapi-dart-generator-7.2</tag>
	</scm>

	<properties>
		<openapi-codegen-version>6.4.0</openapi-codegen-version>
    <maven.compiler.target>1.11</maven.compiler.target>
    <maven.compiler.source>1.11</maven.compiler.source>
    <kotlin.version>1.8.10</kotlin.version>
	</properties>

	<prerequisites>
		<maven>3.5</maven>
	</prerequisites>

	<dependencies>
		<dependency>
			<groupId>org.openapitools</groupId>
			<artifactId>openapi-generator-core</artifactId>
			<version>${openapi-codegen-version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.openapitools</groupId>
			<artifactId>openapi-generator-cli</artifactId>
			<version>${openapi-codegen-version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.openapitools</groupId>
			<artifactId>openapi-generator-maven-plugin</artifactId>
			<version>${openapi-codegen-version}</version>
			<scope>provided</scope>
		</dependency>

    <!-- because we are using kotlin now, lets use their annotations -->
    <dependency>
      <groupId>org.jetbrains</groupId>
      <artifactId>annotations</artifactId>
      <version>23.0.0</version>
    </dependency>

    <dependency>
      <groupId>org.jetbrains.kotlin</groupId>
      <artifactId>kotlin-stdlib-jdk8</artifactId>
      <version>[${kotlin.version}]</version>
    </dependency>

    <dependency>
      <groupId>org.jetbrains.kotlin</groupId>
      <artifactId>kotlin-reflect</artifactId>
      <version>[${kotlin.version}]</version>
    </dependency>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13.1</version>
      <scope>test</scope>
    </dependency>
	</dependencies>

	<build>
		<plugins>
      <plugin>
        <groupId>io.repaint.maven</groupId>
        <artifactId>tiles-maven-plugin</artifactId>
        <version>2.23</version>
        <extensions>true</extensions>
        <configuration>
          <filtering>false</filtering>
          <tiles>
            <tile>cd.connect.tiles:tile-release:[1.2, 2)</tile>
          </tiles>
        </configuration>
      </plugin>
      <plugin>
        <!-- if including source jars, use the no-fork goals
             otherwise both the Groovy sources and Java stub sources
             will get included in your jar -->
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <!-- source plugin \> = 2.1 is required to use the no-fork goals -->
        <version>3.0.0</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <goals>
              <goal>jar-no-fork</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-maven-plugin</artifactId>
        <version>${kotlin.version}</version>
        <executions>
          <execution>
            <id>compile</id>
            <goals>
              <goal>compile</goal>
            </goals>
            <configuration>
              <sourceDirs>
                <sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
                <sourceDir>${project.basedir}/src/main/java</sourceDir>
                <jvmTarget>11</jvmTarget>
              </sourceDirs>
            </configuration>
          </execution>
          <execution>
            <id>test-compile</id>
            <goals> <goal>test-compile</goal> </goals>
            <configuration>
              <sourceDirs>
                <sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
                <sourceDir>${project.basedir}/src/test/java</sourceDir>
                <jvmTarget>11</jvmTarget>
              </sourceDirs>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
          <release>11</release>
          <source>11</source>
          <target>11</target>
          <executable>javac11</executable>
          <useIncrementalCompilation>false</useIncrementalCompilation>
        </configuration>
        <executions>
          <!-- Replacing default-compile as it is treated specially by maven -->
          <execution>
            <id>default-compile</id>
            <phase>none</phase>
            <configuration />
          </execution>
          <!-- Replacing default-testCompile as it is treated specially by maven -->
          <execution>
            <id>default-testCompile</id>
            <phase>none</phase>
            <configuration />
          </execution>
          <execution>
            <id>java-compile</id>
            <phase>compile</phase>
            <goals>
              <goal>compile</goal>
            </goals>
            <configuration />
          </execution>
          <execution>
            <id>java-test-compile</id>
            <phase>test-compile</phase>
            <goals>
              <goal>testCompile</goal>
            </goals>
            <configuration />
          </execution>
        </executions>
      </plugin>
      <!-- files ending in spec or test -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.0.0-M3</version>
        <configuration>
          <includes>
            <include>**/*Test.java</include>
          </includes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>3.2.0</version>
        <configuration>
          <source>11</source>
          <detectJavaApiLink>false</detectJavaApiLink>
        </configuration>
      </plugin>

      <!-- ensure we know what our licenses are -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>license-maven-plugin</artifactId>
        <version>2.0.0</version>
        <executions>
          <execution>
            <id>licences</id>
            <goals>
              <goal>add-third-party</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-invoker-plugin</artifactId>
        <version>3.2.1</version>
        <configuration>
<!--          <mavenOpts>-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000</mavenOpts>-->
          <projectsDirectory>src/it</projectsDirectory>
          <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
          <postBuildHookScript>verify</postBuildHookScript>
          <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
          <settingsFile>src/it/settings.xml</settingsFile>
          <debug>true</debug>
        </configuration>
        <executions>
          <execution>
            <id>integration-test</id>
            <goals>
              <goal>install</goal>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
		</plugins>
	</build>

</project>
