blob: e4d8d000be6eba55196a73937cc708a3992406ef [file] [log] [blame]
<?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">
<parent>
<artifactId>kotlin-project</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
<version>1.4-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>kotlin-maven-plugin-test</artifactId>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
<resources>
<resource>
<directory>${project.basedir}/src/test/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<id>test-compile</id>
<phase>test-compile</phase>
<goals><goal>testCompile</goal></goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<!--
moved the integration test into a profile so we can disable this
for example this integration test doesn't work if offline
-->
<profile>
<id>integrationTest</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<jvm>${env.JDK_18}/bin/java</jvm>
<forkMode>once</forkMode>
<systemProperties>
<property>
<name>maven.home</name>
<value>${maven.home}</value>
</property>
<property>
<name>kotlin.version</name>
<value>${project.version}</value>
</property>
<property>
<name>maven.repo.local</name>
<value>${maven.repo.local}</value>
</property>
</systemProperties>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-invoker-plugin</artifactId>
<version>2.0.0</version>
<configuration>
<pomIncludes>
<pomInclude>*/pom.xml</pomInclude>
</pomIncludes>
<properties>
<kotlin.version>${project.version}</kotlin.version>
</properties>
<!--This could speed up test by providing local repo as remote repo for test but might be tricky on different OS-->
<!--<settingsFile>src/it/settings.xml</settingsFile>-->
<localRepositoryPath>local-repo</localRepositoryPath>
<extraArtifacts>
<artifact>org.jetbrains.kotlin:kotlin-maven-plugin:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-maven-allopen:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-maven-noarg:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-maven-sam-with-receiver:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-annotation-processing-maven:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-script-runtime:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-stdlib:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-stdlib-common:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-stdlib-js:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-stdlib-jdk7:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-stdlib-jdk8:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-reflect:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-stdlib:${project.version}:jar:modular</artifact>
<artifact>org.jetbrains.kotlin:kotlin-stdlib-jdk7:${project.version}:jar:modular</artifact>
<artifact>org.jetbrains.kotlin:kotlin-stdlib-jdk8:${project.version}:jar:modular</artifact>
<artifact>org.jetbrains.kotlin:kotlin-reflect:${project.version}:jar:modular</artifact>
<artifact>org.jetbrains.kotlin:kotlin-test-common:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-test-annotations-common:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-test:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-test-junit:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-test-junit5:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-test-testng:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-test-js:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-script-util:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-bom:${project.version}:pom</artifact>
</extraArtifacts>
<showErrors>true</showErrors>
<postBuildHookScript>verify</postBuildHookScript>
<streamLogs>false</streamLogs>
<invokerPropertiesFile>invoker.properties</invokerPropertiesFile>
<scriptVariables>
<kotlinVersion>${project.version}</kotlinVersion>
</scriptVariables>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<configuration>
<projectsDirectory>src/it</projectsDirectory>
<cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
</configuration>
<!--<phase>package</phase>-->
<goals>
<goal>install</goal>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>integration-test-java9</id>
<configuration>
<projectsDirectory>src/it/java9</projectsDirectory>
<cloneProjectsTo>${project.build.directory}/it/java9</cloneProjectsTo>
<javaHome>${env.JDK_9}</javaHome>
</configuration>
<goals>
<goal>install</goal>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- allows the integration test to be disabled (for example if you are offline) -->
<profile>
<id>noTest</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>skipTests</name>
<value>true</value>
</property>
</activation>
</profile>
</profiles>
</project>