Kapt: Get rid of the 'compiler-tests' dependency in 'plugins-tests'

(cherry picked from commit bb370f1)
This commit is contained in:
Yan Zhulanow
2016-08-12 18:59:10 +03:00
committed by Yan Zhulanow
parent a9de8ec89b
commit 9960e7f7cd
4 changed files with 61 additions and 5 deletions
-1
View File
@@ -31,7 +31,6 @@
</library>
</orderEntry>
<orderEntry type="module" module-name="java-model-wrappers" scope="TEST" />
<orderEntry type="module" module-name="compiler-tests" scope="TEST" />
<orderEntry type="module" module-name="light-classes" scope="TEST" />
<orderEntry type="library" scope="TEST" name="junit-plugin" level="project" />
<orderEntry type="module" module-name="annotation-processing" scope="TEST" />
@@ -22,8 +22,10 @@ import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.PsiClass;
import com.intellij.psi.search.GlobalSearchScope;
import junit.framework.TestCase;
import org.jetbrains.kotlin.asJava.AbstractCompilerLightClassTest;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.checkers.KotlinMultiFileTestWithJava;
import org.jetbrains.kotlin.cli.jvm.config.JavaSourceRoot;
import org.jetbrains.kotlin.test.ConfigurationKind;
import org.jetbrains.kotlin.test.KotlinTestUtils;
import java.io.File;
@@ -34,9 +36,20 @@ import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public abstract class AbstractJavaAnnotationProcessingTest extends AbstractCompilerLightClassTest {
public abstract class AbstractJavaAnnotationProcessingTest extends KotlinMultiFileTestWithJava<Void, Void> {
private final static Pattern SUBJECT_FQ_NAME_PATTERN = Pattern.compile("^//\\s*(.*)$", Pattern.MULTILINE);
@NotNull
@Override
protected ConfigurationKind getConfigurationKind() {
return ConfigurationKind.ALL;
}
@Override
protected boolean isKotlinSourceRootNeeded() {
return true;
}
@Override
protected void doTest(String testDirPath) throws Exception {
File testDir = new File(testDirPath);
@@ -63,4 +76,14 @@ public abstract class AbstractJavaAnnotationProcessingTest extends AbstractCompi
protected void doMultiFileTest(File testDataFile, Map<String, ModuleAndDependencies> modules, List<Void> files) throws IOException {}
protected abstract void doTest(File testDataFile, PsiClass lightClass);
@Override
protected Void createTestModule(@NotNull String name) {
return null;
}
@Override
protected Void createTestFile(Void module, String fileName, String text, Map<String, String> directives) {
return null;
}
}
@@ -19,7 +19,12 @@ package org.jetbrains.kotlin.annotation.processing.test.wrappers;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.psi.PsiClass;
import com.intellij.psi.search.GlobalSearchScope;
import org.jetbrains.kotlin.asJava.AbstractCompilerLightClassTest;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.asJava.finder.JavaElementFinder;
import org.jetbrains.kotlin.checkers.KotlinMultiFileTestWithJava;
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
import org.jetbrains.kotlin.test.ConfigurationKind;
import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.utils.ExceptionUtilsKt;
import java.io.File;
@@ -29,8 +34,19 @@ import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public abstract class AbstractKotlinAnnotationProcessingTest extends AbstractCompilerLightClassTest {
public abstract class AbstractKotlinAnnotationProcessingTest extends KotlinMultiFileTestWithJava<Void, Void> {
private final static Pattern SUBJECT_FQ_NAME_PATTERN = Pattern.compile("^//\\s*(.*)$", Pattern.MULTILINE);
@NotNull
@Override
protected ConfigurationKind getConfigurationKind() {
return ConfigurationKind.ALL;
}
@Override
protected boolean isKotlinSourceRootNeeded() {
return true;
}
@Override
protected void doMultiFileTest(File testDataFile, Map<String, ModuleAndDependencies> modules, List<Void> files) throws IOException {
@@ -53,4 +69,22 @@ public abstract class AbstractKotlinAnnotationProcessingTest extends AbstractCom
throw ExceptionUtilsKt.rethrow(e);
}
}
@Override
protected Void createTestModule(@NotNull String name) {
return null;
}
@Override
protected Void createTestFile(Void module, String fileName, String text, Map<String, String> directives) {
return null;
}
@NotNull
private static JavaElementFinder createFinder(@NotNull KotlinCoreEnvironment environment) throws IOException {
// We need to resolve all the files in order too fill in the trace that sits inside LightClassGenerationSupport
KotlinTestUtils.resolveAllKotlinFiles(environment);
return JavaElementFinder.getInstance(environment.getProject());
}
}