From 0a42a1c1048c9dc892d23fafafc1305afd07a5ce Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Thu, 6 Apr 2017 15:12:39 +0300 Subject: [PATCH] Minor: fix maven IC tests with custom local repository --- .../tools/kotlin-maven-plugin-test/pom.xml | 4 ++++ .../IncrementalCompilationIT.java | 3 +-- .../org.jetbrains.kotlin.maven/MavenITBase.java | 15 +++++++++++++++ .../MavenProject.java | 17 +++++++++++++++-- 4 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 libraries/tools/kotlin-maven-plugin-test/src/test/java/org.jetbrains.kotlin.maven/MavenITBase.java diff --git a/libraries/tools/kotlin-maven-plugin-test/pom.xml b/libraries/tools/kotlin-maven-plugin-test/pom.xml index ebbf1fbbff8..012f471dbec 100644 --- a/libraries/tools/kotlin-maven-plugin-test/pom.xml +++ b/libraries/tools/kotlin-maven-plugin-test/pom.xml @@ -93,6 +93,10 @@ kotlin.version ${project.version} + + maven.repo.local + ${maven.repo.local} + diff --git a/libraries/tools/kotlin-maven-plugin-test/src/test/java/org.jetbrains.kotlin.maven/IncrementalCompilationIT.java b/libraries/tools/kotlin-maven-plugin-test/src/test/java/org.jetbrains.kotlin.maven/IncrementalCompilationIT.java index 00b5c629dbf..9fb55d6b5fe 100644 --- a/libraries/tools/kotlin-maven-plugin-test/src/test/java/org.jetbrains.kotlin.maven/IncrementalCompilationIT.java +++ b/libraries/tools/kotlin-maven-plugin-test/src/test/java/org.jetbrains.kotlin.maven/IncrementalCompilationIT.java @@ -1,10 +1,9 @@ package org.jetbrains.kotlin.maven; import org.junit.Test; - import java.io.File; -public class IncrementalCompilationIT { +public class IncrementalCompilationIT extends MavenITBase { @Test public void testSimpleCompile() throws Exception { MavenProject project = new MavenProject("kotlinSimple"); diff --git a/libraries/tools/kotlin-maven-plugin-test/src/test/java/org.jetbrains.kotlin.maven/MavenITBase.java b/libraries/tools/kotlin-maven-plugin-test/src/test/java/org.jetbrains.kotlin.maven/MavenITBase.java new file mode 100644 index 00000000000..ad91ea5f1db --- /dev/null +++ b/libraries/tools/kotlin-maven-plugin-test/src/test/java/org.jetbrains.kotlin.maven/MavenITBase.java @@ -0,0 +1,15 @@ +package org.jetbrains.kotlin.maven; + +import org.junit.Rule; +import org.junit.rules.TestRule; +import org.junit.rules.TestWatcher; +import org.junit.runner.Description; + +public abstract class MavenITBase { + @Rule + public TestRule watcher = new TestWatcher() { + protected void starting(Description description) { + System.out.println("Running test: " + description.getDisplayName()); + } + }; +} diff --git a/libraries/tools/kotlin-maven-plugin-test/src/test/java/org.jetbrains.kotlin.maven/MavenProject.java b/libraries/tools/kotlin-maven-plugin-test/src/test/java/org.jetbrains.kotlin.maven/MavenProject.java index 90dd81d5770..23fb77be21a 100644 --- a/libraries/tools/kotlin-maven-plugin-test/src/test/java/org.jetbrains.kotlin.maven/MavenProject.java +++ b/libraries/tools/kotlin-maven-plugin-test/src/test/java/org.jetbrains.kotlin.maven/MavenProject.java @@ -2,7 +2,9 @@ package org.jetbrains.kotlin.maven; import com.intellij.openapi.util.io.FileUtil; import kotlin.io.TextStreamsKt; +import kotlin.text.StringsKt; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.io.*; import java.util.*; @@ -66,8 +68,19 @@ class MavenProject { cmd.add("mvn"); cmd.add("-Dkotlin.compiler.incremental.log.level=info"); - String kotlinVersion = getNotNullSystemProperty("kotlin.version"); - cmd.add("-Dkotlin.version=" + kotlinVersion); + String kotlinVersionProperty = "kotlin.version"; + cmd.add("-D" + kotlinVersionProperty + "=" + getNotNullSystemProperty(kotlinVersionProperty)); + + String mavenRepoLocalProperty = "maven.repo.local"; + String localRepoPath = System.getProperty(mavenRepoLocalProperty); + try { + if (localRepoPath != null && !StringsKt.isBlank(localRepoPath) && new File(localRepoPath).isDirectory()) { + cmd.add("-D" + mavenRepoLocalProperty + "=" + localRepoPath); + } + } + catch (SecurityException e) { + e.printStackTrace(); + } cmd.addAll(Arrays.asList(args));