| <?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>2.0.255-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.13.1</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>${jdk_1_8}/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>3.5.1</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-annotation-processing:${project.version}</artifact> |
| <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-lombok:${project.version}</artifact> |
| <artifact>org.jetbrains.kotlin:kotlin-maven-sam-with-receiver:${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}:klib</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-test-common:${project.version}:pom</artifact> |
| <artifact>org.jetbrains.kotlin:kotlin-test-annotations-common:${project.version}:pom</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}:klib</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> |
| <javaHome>${jdk_1_8}</javaHome> |
| </configuration> |
| <!--<phase>package</phase>--> |
| <goals> |
| <goal>install</goal> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>integration-test-java8-only</id> |
| <configuration> |
| <projectsDirectory>src/it/java8</projectsDirectory> |
| <cloneProjectsTo>${project.build.directory}/it/java8</cloneProjectsTo> |
| <javaHome>${jdk_1_8}</javaHome> |
| </configuration> |
| <goals> |
| <goal>install</goal> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>integration-test-java9-only</id> |
| <configuration> |
| <projectsDirectory>src/it/java9</projectsDirectory> |
| <cloneProjectsTo>${project.build.directory}/it/java9</cloneProjectsTo> |
| <javaHome>${jdk_9_0}</javaHome> |
| </configuration> |
| <goals> |
| <goal>install</goal> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>integration-test-java17-only</id> |
| <configuration> |
| <projectsDirectory>src/it/java17</projectsDirectory> |
| <cloneProjectsTo>${project.build.directory}/it/java17</cloneProjectsTo> |
| <javaHome>${jdk_17_0}</javaHome> |
| </configuration> |
| <goals> |
| <goal>install</goal> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>integration-test-k2</id> |
| <configuration> |
| <projectsDirectory>src/it</projectsDirectory> |
| <cloneProjectsTo>${project.build.directory}/it-k2</cloneProjectsTo> |
| <javaHome>${jdk_1_8}</javaHome> |
| <pomExcludes> |
| <!-- exclude kapt --> |
| <pomExclude>test-dagger-maven-example/pom.xml</pomExclude> |
| <pomExclude>test-enable-extensions-kapt-allopen/pom.xml</pomExclude> |
| <pomExclude>test-kapt-generateKotlinCode/pom.xml</pomExclude> |
| <pomExclude>test-enable-extensions/pom.xml</pomExclude> |
| <pomExclude>test-kapt-allopen/pom.xml</pomExclude> |
| <pomExclude>test-lombok-with-kapt/pom.xml</pomExclude> |
| <!-- exclude kts --> |
| <pomExclude>test-helloworld-kts/pom.xml</pomExclude> |
| <!-- exclude test, that depends on lv as they will be automatically fixed, when current lv goes to 2.0 --> |
| <pomExclude>test-languageVersion/pom.xml</pomExclude> |
| <pomExclude>test-apiVersion/pom.xml</pomExclude> |
| </pomExcludes> |
| <properties> |
| <kotlin.compiler.languageVersion>2.0</kotlin.compiler.languageVersion> |
| </properties> |
| </configuration> |
| <!--<phase>package</phase>--> |
| <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> |