Added simple kotlin-maven-plugin integration test

This commit is contained in:
Daniel Penkin
2012-05-08 02:23:36 +04:00
parent 1484e8852c
commit d6e8b63dc3
6 changed files with 205 additions and 0 deletions
@@ -55,6 +55,32 @@
<artifactId>maven-plugin-plugin</artifactId>
<version>2.9</version>
</plugin>
<plugin>
<artifactId>maven-invoker-plugin</artifactId>
<version>1.5</version>
<configuration>
<projectsDirectory>src/it</projectsDirectory>
<cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
<pomIncludes>
<pomInclude>*/pom.xml</pomInclude>
</pomIncludes>
<!--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>${project.build.directory}/local-repo</localRepositoryPath>
<postBuildHookScript>verify.bsh</postBuildHookScript>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<phase>package</phase>
<goals>
<goal>install</goal>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
@@ -0,0 +1,35 @@
<?xml version="1.0"?>
<settings>
<profiles>
<profile>
<id>it-repo</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>local.central</id>
<url>@localRepositoryUrl@</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>local.central</id>
<url>@localRepositoryUrl@</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
</settings>
@@ -0,0 +1,105 @@
<?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>
<groupId>org.jetbrains.kotlin.it</groupId>
<artifactId>test-helloworld</artifactId>
<version>1.0</version>
<name>Test Hello World project</name>
<description>
Test the kotlin-maven-plugin:compile goal on HelloWorld project.
</description>
<properties>
<kotlin.version>0.1-SNAPSHOT</kotlin.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
</dependency>
</dependencies>
<build>
<!--suppress MavenModelInspection -->
<sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
<!--suppress MavenModelInspection -->
<!--testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory-->
<plugins>
<plugin>
<artifactId>kotlin-maven-plugin</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
<version>${kotlin.version}</version>
<executions>
<execution>
<id>compile</id>
<phase>process-sources</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>test-compile</id>
<phase>process-test-sources</phase>
<goals>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>jetbrains-release</id>
<url>http://repository.jetbrains.com/releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>jetbrains-snapshots</id>
<url>http://repository.jetbrains.com/kotlin-snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>jetbrains-release</id>
<url>http://repository.jetbrains.com/releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>jetbrains-snapshots</id>
<url>http://repository.jetbrains.com/kotlin-snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
@@ -0,0 +1,14 @@
package org.jetbrains
/**
* User: danielpenkin
* Date: 06.05.12
* Time: 22:53
*/
fun main(args : Array<String>) {
System.out?.println(getGreeting())
}
fun getGreeting() : String {
return "Hello, World!"
}
@@ -0,0 +1,18 @@
package org.jetbrains;
import org.junit.Test;
import static junit.framework.Assert.assertEquals;
/**
* User: danielpenkin
* Date: 06.05.12
* Time: 23:35
*/
public class HelloWorldJavaTest {
@Test
public void greeting() {
assertEquals("Hello, World!", org.jetbrains.namespace.getGreeting());
}
}
@@ -0,0 +1,7 @@
import java.io.*;
File file = new File( basedir, "target/test-helloworld-1.0.jar" );
if (!file.exists() || !file.isFile())
{
throw new FileNotFoundException( "Could not find generated JAR: " + file );
}