Skolson5903
09/09/2020, 12:59 AMCaused by: org.gradle.testkit.runner.InvalidPluginMetadataException: Test runtime classpath does not contain plugin metadata file 'plugin-under-test-metadata.properties'
at org.gradle.testkit.runner.internal.PluginUnderTestMetadataReading.readImplementationClasspath(PluginUnderTestMetadataReading.java:44)
at org.gradle.testkit.runner.internal.PluginUnderTestMetadataReading.readImplementationClasspath(PluginUnderTestMetadataReading.java:37)
at org.gradle.testkit.runner.internal.DefaultGradleRunner.withPluginClasspath(DefaultGradleRunner.java:162)
...
I've seen old posts about people seeing this specific error, and this plugin is supposed to help with an issue in IDEA:
"com.palantir.idea-test-fix" version "0.1.0"
but it doesn't help me. I didn't look into it so don't know what specifically this is doing. Anyway was hoping someone else has this working 🙂 Thanks in advance for any info. In case it's useful, here's the snippet causing the above error:
val gradleRunner = GradleRunner.create()
.withPluginClasspath()
.withProjectDir(testProjectDir.root)
.withTestKitDir(testProjectDir.newFolder())
sam
09/09/2020, 1:01 AMSkolson5903
09/09/2020, 2:04 AMsam
09/09/2020, 2:06 AMsam
09/09/2020, 2:06 AMSkolson5903
09/09/2020, 2:07 AMsam
09/09/2020, 2:09 AMSkolson5903
09/09/2020, 2:11 AMsam
09/09/2020, 2:12 AMsam
09/09/2020, 2:12 AMSkolson5903
09/09/2020, 2:12 AMSkolson5903
09/09/2020, 2:13 AMSkolson5903
09/09/2020, 2:15 AMsam
09/09/2020, 2:15 AMsam
09/09/2020, 2:15 AMSkolson5903
09/09/2020, 2:19 AMMiSikora
09/09/2020, 6:21 AMMiSikora
09/09/2020, 6:21 AMSkolson5903
09/09/2020, 5:41 PMMiSikora
09/09/2020, 5:42 PMSkolson5903
09/09/2020, 5:43 PMMiSikora
09/09/2020, 5:45 PMSkolson5903
09/09/2020, 6:00 PMMiSikora
09/09/2020, 6:00 PMSkolson5903
09/09/2020, 6:01 PMMiSikora
09/09/2020, 6:03 PMSkolson5903
09/09/2020, 6:04 PMSkolson5903
09/09/2020, 6:35 PMval fixIdeaPluginClasspath = tasks.create("fixIdeaPluginClasspath") {
doFirst {
tasks.pluginUnderTestMetadata.configure {
val ideaClassesPath = project.buildDir.toPath()
.resolveSibling("out")
.resolve("production").toFile()
val newClasspath = pluginClasspath.toMutableList()
newClasspath.add(0, ideaClassesPath)
pluginClasspath.setFrom(newClasspath)
}
}
}
tasks.getByName("pluginUnderTestMetadata").mustRunAfter(fixIdeaPluginClasspath)
fun org.gradle.plugins.ide.idea.model.IdeaProject.settings(block: ProjectSettings.() -> Unit) =
(this@settings as ExtensionAware).extensions.configure(block)
fun ProjectSettings.taskTriggers(block: org.jetbrains.gradle.ext.TaskTriggersConfig.() -> Unit) =
(this@taskTriggers as ExtensionAware).extensions.configure("taskTriggers", block)
idea {
project {
settings {
taskTriggers {
beforeBuild(fixIdeaPluginClasspath, tasks.pluginUnderTestMetadata)
}
}
}
}