[maven] IDEA-360863 WSL: transform Maven plugins paths

(cherry picked from commit 4fe12fa7b707a0c40fb890c700e021a00320d5dd)

IJ-CR-147131

GitOrigin-RevId: 94f5a3f80be1f8f43e153c31a1fdea3c33de3d65
This commit is contained in:
Dmitry Kichinsky
2024-10-17 21:55:44 +02:00
committed by intellij-monorepo-bot
parent f543720f38
commit 0152c21c2b

View File

@@ -147,17 +147,34 @@ abstract class MavenEmbedderWrapper internal constructor(private val project: Pr
return getOrCreateWrappee().resolveArtifactsTransitively(ArrayList(artifacts), ArrayList(remoteRepositories), ourToken)
}
private fun MavenArtifact.transformPaths(transformer: RemotePathTransformerFactory.Transformer) = this.replaceFile(
File(transformer.toIdePath(file.path)!!),
null
)
private fun PluginResolutionResponse.transformPaths(transformer: RemotePathTransformerFactory.Transformer): PluginResolutionResponse {
return PluginResolutionResponse(
this.mavenPluginId,
this.pluginArtifact?.transformPaths(transformer),
this.pluginDependencyArtifacts.map { it.transformPaths(transformer) }
)
}
suspend fun resolvePlugins(
resolutionRequests: List<PluginResolutionRequest>,
progressReporter: RawProgressReporter?,
eventHandler: MavenEventHandler,
forceUpdateSnapshots: Boolean,
): List<PluginResolutionResponse> {
return runLongRunningTask(
val responseList = runLongRunningTask(
LongRunningEmbedderTask { embedder, taskInput ->
embedder.resolvePlugins(taskInput, ArrayList(resolutionRequests), forceUpdateSnapshots, ourToken)
},
progressReporter, eventHandler)
val transformer = RemotePathTransformerFactory.createForProject(project)
if (transformer == RemotePathTransformerFactory.Transformer.ID) return responseList
return responseList.map { it.transformPaths(transformer) }
}
fun resolvePlugin(plugin: MavenPlugin,