Pill: Add "Generate All Tests" run configuration

This commit is contained in:
Yan Zhulanow
2018-02-15 23:40:11 +03:00
parent 55164660a8
commit e7a2743dcf
7 changed files with 261 additions and 18 deletions
+4 -3
View File
@@ -99,7 +99,8 @@ private val CONFIGURATION_MAPPING = mapOf(
private val TEST_CONFIGURATION_MAPPING = mapOf(
listOf("runtime", "testRuntime") to Scope.RUNTIME,
listOf("compile", "testCompile") to Scope.COMPILE,
listOf("compileOnly", "testCompileOnly") to Scope.PROVIDED
listOf("compileOnly", "testCompileOnly") to Scope.PROVIDED,
listOf("jpsTest") to Scope.TEST
)
private val SOURCE_SET_MAPPING = mapOf(
@@ -273,9 +274,9 @@ private fun ParserContext.parseDependencies(project: Project, forTests: Boolean)
}
}
if (dependency.configuration == "runtimeElements") {
if (dependency.configuration == "runtimeElements" && scope != Scope.TEST) {
mainRoots += POrderRoot(PDependency.Module(dependency.moduleName + ".src"), scope)
} else if (dependency.configuration == "tests-jar") {
} else if (dependency.configuration == "tests-jar" || dependency.configuration == "jpsTest") {
mainRoots += POrderRoot(
PDependency.Module(dependency.moduleName + ".test"),
scope,
+4 -1
View File
@@ -14,7 +14,10 @@ import java.io.FileOutputStream
import javax.xml.transform.stream.StreamResult
class JpsCompatiblePlugin : Plugin<Project> {
override fun apply(project: Project) {}
override fun apply(project: Project) {
// 'jpsTest' does not require the 'tests-jar' artifact
project.configurations.create("jpsTest")
}
}
class JpsCompatibleRootPlugin : Plugin<Project> {
@@ -0,0 +1,8 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="[JPS] Generate All Tests" type="Application" factoryName="Application">
<option name="MAIN_CLASS_NAME" value="org.jetbrains.kotlin.pill.generateAllTests.Main" />
<module name="generate-all-tests.test" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<method />
</configuration>
</component>
+208 -14
View File
@@ -4,7 +4,8 @@
},
"configurations": [
"bootstrapCompile"
"bootstrapCompile",
"jpsTest"
],
"extensions": {
"ext": "org.gradle.api.plugins.ExtraPropertiesExtension",
@@ -25,6 +26,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -78,6 +80,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -136,6 +139,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -182,6 +186,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -194,7 +199,8 @@
"testImplementation",
"testRuntime",
"testRuntimeClasspath",
"testRuntimeOnly"
"testRuntimeOnly",
"tests-jar"
],
"extensions": {
"ext": "org.gradle.api.plugins.ExtraPropertiesExtension",
@@ -219,6 +225,7 @@
"default",
"implementation",
"instrumentationClasspath",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -255,6 +262,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -290,6 +298,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -326,6 +335,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -374,7 +384,6 @@
"compileOnly",
"compilerDummyJar",
"default",
"distJar",
"implementation",
"kapt",
"kaptTest",
@@ -416,6 +425,7 @@
"default",
"distJar",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -495,6 +505,7 @@
"default",
"distJar",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -535,6 +546,7 @@
"default",
"distJar",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -636,6 +648,7 @@
"default",
"distJar",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -791,6 +804,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -955,6 +969,7 @@
"compilerDummyJar",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -996,6 +1011,7 @@
"distJar",
"fatJarContents",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -1042,7 +1058,6 @@
"compileOnly",
"compilerDummyJar",
"default",
"distJar",
"implementation",
"kapt",
"kaptAgp25",
@@ -1086,7 +1101,6 @@
"compileClasspath",
"compileOnly",
"default",
"distJar",
"implementation",
"kapt",
"kaptTest",
@@ -1148,6 +1162,40 @@
"reporting": "org.gradle.api.reporting.ReportingExtension"
}
},
":kotlin-gradle-plugin-test-utils-embeddable": {
"conventions": {
"base": "org.gradle.api.plugins.BasePluginConvention",
"java": "org.gradle.api.plugins.JavaPluginConvention"
},
"configurations": [
"apiElements",
"archives",
"compile",
"compileClasspath",
"compileOnly",
"compilerDummyJar",
"default",
"implementation",
"packedJars",
"runtime",
"runtimeClasspath",
"runtimeElements",
"runtimeJar",
"runtimeOnly",
"testCompile",
"testCompileClasspath",
"testCompileOnly",
"testImplementation",
"testRuntime",
"testRuntimeClasspath",
"testRuntimeOnly"
],
"extensions": {
"ext": "org.gradle.api.plugins.ExtraPropertiesExtension",
"defaultArtifacts": "org.gradle.api.internal.plugins.DefaultArtifactPublicationSet",
"reporting": "org.gradle.api.reporting.ReportingExtension"
}
},
":kotlin-gradle-subplugin-example": {
"conventions": {
"base": "org.gradle.api.plugins.BasePluginConvention",
@@ -1160,6 +1208,7 @@
"compile",
"compileClasspath",
"compileOnly",
"compilerDummyJar",
"default",
"implementation",
"kapt",
@@ -1167,6 +1216,7 @@
"runtime",
"runtimeClasspath",
"runtimeElements",
"runtimeJar",
"runtimeOnly",
"testCompile",
"testCompileClasspath",
@@ -1215,7 +1265,6 @@
"compileOnly",
"compilerDummyJar",
"default",
"distJar",
"implementation",
"kapt",
"kaptTest",
@@ -1257,6 +1306,7 @@
"default",
"distJar",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -1295,6 +1345,7 @@
"default",
"distJar",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -1405,6 +1456,7 @@
"default",
"distJar",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -1481,7 +1533,6 @@
"compileOnly",
"compilerDummyJar",
"default",
"distJar",
"implementation",
"kapt",
"kaptTest",
@@ -1523,6 +1574,7 @@
"default",
"distJar",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -1603,6 +1655,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -1643,6 +1696,7 @@
"default",
"distJar",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -1989,6 +2043,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2012,6 +2067,17 @@
"reporting": "org.gradle.api.reporting.ReportingExtension"
}
},
":pill": {
"conventions": {
},
"configurations": [
],
"extensions": {
"ext": "org.gradle.api.plugins.ExtraPropertiesExtension"
}
},
":plugins": {
"conventions": {
@@ -2047,6 +2113,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2166,6 +2233,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2201,6 +2269,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2236,6 +2305,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2271,6 +2341,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2307,6 +2378,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2342,6 +2414,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2377,6 +2450,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2413,6 +2487,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2448,6 +2523,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2484,6 +2560,7 @@
"default",
"implementation",
"jflexPath",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2519,6 +2596,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2554,6 +2632,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2589,6 +2668,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2625,6 +2705,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2660,6 +2741,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2695,6 +2777,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2730,6 +2813,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2765,6 +2849,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2800,6 +2885,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2835,6 +2921,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2870,6 +2957,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2882,8 +2970,7 @@
"testImplementation",
"testRuntime",
"testRuntimeClasspath",
"testRuntimeOnly",
"tests-jar"
"testRuntimeOnly"
],
"extensions": {
"ext": "org.gradle.api.plugins.ExtraPropertiesExtension",
@@ -2906,6 +2993,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2918,8 +3006,7 @@
"testImplementation",
"testRuntime",
"testRuntimeClasspath",
"testRuntimeOnly",
"tests-jar"
"testRuntimeOnly"
],
"extensions": {
"ext": "org.gradle.api.plugins.ExtraPropertiesExtension",
@@ -2942,6 +3029,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -2977,6 +3065,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3012,6 +3101,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3058,6 +3148,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3093,6 +3184,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3163,6 +3255,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3198,6 +3291,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3389,6 +3483,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3425,6 +3520,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3460,6 +3556,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3496,6 +3593,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3567,6 +3665,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3604,6 +3703,7 @@
"default",
"implementation",
"instrumentationClasspath",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3640,6 +3740,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3676,6 +3777,7 @@
"default",
"implementation",
"instrumentationClasspath",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3711,6 +3813,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3747,6 +3850,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3782,6 +3886,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3818,6 +3923,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3853,6 +3959,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3888,6 +3995,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3923,6 +4031,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3958,6 +4067,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -3994,6 +4104,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -4031,6 +4142,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -4067,7 +4179,6 @@
"compileClasspath",
"compileOnly",
"default",
"distJar",
"implementation",
"runtime",
"runtimeClasspath",
@@ -4102,7 +4213,6 @@
"compileClasspath",
"compileOnly",
"default",
"distJar",
"implementation",
"runtime",
"runtimeClasspath",
@@ -4137,7 +4247,6 @@
"compileClasspath",
"compileOnly",
"default",
"distJar",
"implementation",
"runtime",
"runtimeClasspath",
@@ -4386,6 +4495,83 @@
"signing": "org.gradle.plugins.signing.SigningExtension"
}
},
":kotlin-test:kotlin-test-testng": {
"conventions": {
"base": "org.gradle.api.plugins.BasePluginConvention",
"java": "org.gradle.api.plugins.JavaPluginConvention",
"maven": "org.gradle.api.plugins.MavenPluginConvention"
},
"configurations": [
"apiElements",
"archives",
"compile",
"compileClasspath",
"compileOnly",
"default",
"distJar",
"expectedBy",
"implement",
"implementation",
"kapt",
"kaptTest",
"runtime",
"runtimeClasspath",
"runtimeElements",
"runtimeOnly",
"signatures",
"testCompile",
"testCompileClasspath",
"testCompileOnly",
"testImplementation",
"testRuntime",
"testRuntimeClasspath",
"testRuntimeOnly"
],
"extensions": {
"ext": "org.gradle.api.plugins.ExtraPropertiesExtension",
"kotlin": "org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension",
"kapt": "org.jetbrains.kotlin.gradle.plugin.KaptExtension",
"defaultArtifacts": "org.gradle.api.internal.plugins.DefaultArtifactPublicationSet",
"reporting": "org.gradle.api.reporting.ReportingExtension",
"signing": "org.gradle.plugins.signing.SigningExtension"
}
},
":pill:generate-all-tests": {
"conventions": {
"base": "org.gradle.api.plugins.BasePluginConvention",
"java": "org.gradle.api.plugins.JavaPluginConvention"
},
"configurations": [
"apiElements",
"archives",
"compile",
"compileClasspath",
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
"runtimeClasspath",
"runtimeElements",
"runtimeOnly",
"testCompile",
"testCompileClasspath",
"testCompileOnly",
"testImplementation",
"testRuntime",
"testRuntimeClasspath",
"testRuntimeOnly"
],
"extensions": {
"ext": "org.gradle.api.plugins.ExtraPropertiesExtension",
"kotlin": "org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension",
"kapt": "org.jetbrains.kotlin.gradle.plugin.KaptExtension",
"defaultArtifacts": "org.gradle.api.internal.plugins.DefaultArtifactPublicationSet",
"reporting": "org.gradle.api.reporting.ReportingExtension"
}
},
":plugins:android-extensions-compiler": {
"conventions": {
"base": "org.gradle.api.plugins.BasePluginConvention",
@@ -4401,6 +4587,7 @@
"default",
"distJar",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"robolectricClasspath",
@@ -4441,6 +4628,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -4479,6 +4667,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -4515,6 +4704,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -4550,6 +4740,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -4586,6 +4777,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -4621,6 +4813,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -4657,6 +4850,7 @@
"compileOnly",
"default",
"implementation",
"jpsTest",
"kapt",
"kaptTest",
"runtime",
@@ -0,0 +1,15 @@
apply { plugin("kotlin") }
apply { plugin("jps-compatible") }
dependencies {
jpsTest(project(":generators", configuration = "jpsTest"))
jpsTest(project(":compiler", configuration = "jpsTest"))
jpsTest(project(":js:js.tests", configuration = "jpsTest"))
jpsTest(project(":compiler:tests-java8", configuration = "jpsTest"))
}
sourceSets {
"main" { }
"test" { projectDefault() }
}
@@ -0,0 +1,20 @@
/*
* Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.pill.generateAllTests;
import org.jetbrains.kotlin.generators.tests.GenerateCompilerTestsKt;
import org.jetbrains.kotlin.generators.tests.GenerateJava8TestsKt;
import org.jetbrains.kotlin.generators.tests.GenerateJsTestsKt;
import org.jetbrains.kotlin.generators.tests.GenerateTestsKt;
public class Main {
public static void main(String[] args) {
GenerateCompilerTestsKt.main(args);
GenerateTestsKt.main(args);
GenerateJsTestsKt.main(args);
GenerateJava8TestsKt.main(args);
}
}
+2
View File
@@ -149,6 +149,7 @@ include ":kotlin-build-common",
":ultimate:ultimate-runner",
":kotlin-annotations-jvm",
":kotlin-annotations-android",
":pill:generate-all-tests",
// plugin markers:
':kotlin-gradle-plugin:plugin-marker',
@@ -231,6 +232,7 @@ project(':examples:kotlin-jsr223-local-example').projectDir = "$rootDir/librarie
project(':examples:kotlin-jsr223-daemon-local-eval-example').projectDir = "$rootDir/libraries/examples/kotlin-jsr223-daemon-local-eval-example" as File
project(':kotlin-annotations-jvm').projectDir = "$rootDir/libraries/tools/kotlin-annotations-jvm" as File
project(':kotlin-annotations-android').projectDir = "$rootDir/libraries/tools/kotlin-annotations-android" as File
project(':pill:generate-all-tests').projectDir = "$rootDir/plugins/pill/generate-all-tests" as File
// plugin markers:
project(':kotlin-gradle-plugin:plugin-marker').projectDir = file("$rootDir/libraries/tools/kotlin-gradle-plugin/plugin-marker")