mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-06 06:21:16 +07:00
[maven] IDEA-389543 remove dead MavenProjectsTreeTestCase base
GitOrigin-RevId: 8bb088b18db543f1bfd3b56a0dec6d9e3ab1ed9d
This commit is contained in:
committed by
intellij-monorepo-bot
parent
da2c52ac21
commit
d22724fdf2
-146
@@ -1,146 +0,0 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package org.jetbrains.idea.maven.project.importing
|
||||
|
||||
import com.intellij.maven.testFramework.MavenMultiVersionImportingTestCase
|
||||
import com.intellij.openapi.application.WriteAction
|
||||
import com.intellij.openapi.components.service
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.util.Pair
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.platform.util.progress.RawProgressReporter
|
||||
import com.intellij.testFramework.RunAll
|
||||
import com.intellij.util.ThrowableRunnable
|
||||
import org.jetbrains.idea.maven.buildtool.MavenLogEventHandler
|
||||
import org.jetbrains.idea.maven.model.MavenExplicitProfiles
|
||||
import org.jetbrains.idea.maven.project.MavenEmbedderWrappers
|
||||
import org.jetbrains.idea.maven.project.MavenEmbedderWrappersManager
|
||||
import org.jetbrains.idea.maven.project.MavenGeneralSettings
|
||||
import org.jetbrains.idea.maven.project.MavenProject
|
||||
import org.jetbrains.idea.maven.project.MavenProjectChanges
|
||||
import org.jetbrains.idea.maven.project.MavenProjectResolver
|
||||
import org.jetbrains.idea.maven.project.MavenProjectsManager
|
||||
import org.jetbrains.idea.maven.project.MavenProjectsTree
|
||||
import org.jetbrains.idea.maven.project.MavenSettingsCache
|
||||
import org.jetbrains.idea.maven.utils.MavenUtil
|
||||
import java.io.IOException
|
||||
import java.util.concurrent.CopyOnWriteArrayList
|
||||
|
||||
abstract class MavenProjectsTreeTestCase : MavenMultiVersionImportingTestCase() {
|
||||
private var myTree: MavenProjectsTree? = null
|
||||
protected val rawProgressReporter: RawProgressReporter = object : RawProgressReporter {}
|
||||
protected lateinit var mavenEmbedderWrappers: MavenEmbedderWrappers
|
||||
|
||||
val tree: MavenProjectsTree
|
||||
get() {
|
||||
return myTree!!
|
||||
}
|
||||
|
||||
|
||||
override fun setUp() {
|
||||
super.setUp()
|
||||
mavenEmbedderWrappers = project.service<MavenEmbedderWrappersManager>().createMavenEmbedderWrappers()
|
||||
myTree = MavenProjectsManager.getInstance(project).getProjectsTree()
|
||||
}
|
||||
|
||||
override fun tearDown() {
|
||||
RunAll(
|
||||
ThrowableRunnable { mavenEmbedderWrappers.close() },
|
||||
ThrowableRunnable { super.tearDown() }
|
||||
).run()
|
||||
}
|
||||
|
||||
protected suspend fun updateAll(vararg files: VirtualFile) {
|
||||
updateAll(emptyList<String>(), *files)
|
||||
}
|
||||
|
||||
protected suspend fun updateAll(profiles: List<String>, vararg files: VirtualFile) {
|
||||
tree.updateAll(listOf(*files),false, mavenGeneralSettings, MavenExplicitProfiles(profiles, emptySet()), mavenEmbedderWrappers, rawProgressReporter)
|
||||
}
|
||||
|
||||
protected suspend fun update(file: VirtualFile) {
|
||||
tree.update(listOf(file), false, mavenGeneralSettings, MavenExplicitProfiles.NONE, mavenEmbedderWrappers, rawProgressReporter)
|
||||
}
|
||||
|
||||
protected suspend fun deleteProject(file: VirtualFile) {
|
||||
tree.delete(listOf(file), mavenGeneralSettings, MavenExplicitProfiles.NONE, mavenEmbedderWrappers, rawProgressReporter)
|
||||
}
|
||||
|
||||
@Throws(IOException::class)
|
||||
protected fun updateTimestamps(vararg files: VirtualFile) {
|
||||
WriteAction.runAndWait<IOException> {
|
||||
for (each in files) {
|
||||
each.setBinaryContent(each.contentsToByteArray())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class ListenerLog : CopyOnWriteArrayList<Pair<String, Set<String>>> {
|
||||
internal constructor() : super()
|
||||
internal constructor(log: ListenerLog) : super(log)
|
||||
|
||||
fun add(key: String, vararg values: String): ListenerLog {
|
||||
val log = ListenerLog(this)
|
||||
log.add(Pair<String, Set<String>>(key, setOf(*values)))
|
||||
return log
|
||||
}
|
||||
}
|
||||
|
||||
protected class MyLoggingListener : MavenProjectsTree.Listener {
|
||||
@JvmField
|
||||
var log: MutableList<Pair<String, Set<String?>>> = CopyOnWriteArrayList()
|
||||
private fun add(key: String, value: Set<String?>) {
|
||||
log.add(Pair(key, value))
|
||||
}
|
||||
|
||||
override fun projectsUpdated(updated: List<Pair<MavenProject, MavenProjectChanges>>, deleted: List<MavenProject>) {
|
||||
append(MavenUtil.collectFirsts(updated), "updated")
|
||||
append(deleted, "deleted")
|
||||
}
|
||||
|
||||
private fun append(updated: List<MavenProject>, text: String) {
|
||||
add(text, updated.map { it.mavenId.artifactId }.toSet())
|
||||
}
|
||||
|
||||
override fun projectsResolved(projects: List<MavenProject>) {
|
||||
for (project in projects) {
|
||||
add("resolved", setOf(project.mavenId.artifactId))
|
||||
}
|
||||
}
|
||||
|
||||
override fun pluginsResolved(projects: List<MavenProject>) {
|
||||
for (project in projects) {
|
||||
add("plugins", setOf(project.mavenId.artifactId))
|
||||
}
|
||||
}
|
||||
|
||||
override fun foldersResolved(projectWithChanges: Pair<MavenProject, MavenProjectChanges>) {
|
||||
add("folders", setOf(projectWithChanges.first.mavenId.artifactId))
|
||||
}
|
||||
}
|
||||
|
||||
protected suspend fun resolve(project: Project,
|
||||
mavenProject: MavenProject,
|
||||
generalSettings: MavenGeneralSettings
|
||||
) {
|
||||
val resolver = MavenProjectResolver(project)
|
||||
val progressReporter = object : RawProgressReporter {}
|
||||
val updateSnapshots = projectsManager.forceUpdateSnapshots || generalSettings.isAlwaysUpdateSnapshots
|
||||
resolver.resolve(true,
|
||||
listOf(mavenProject),
|
||||
tree,
|
||||
MavenExplicitProfiles.NONE,
|
||||
tree.workspaceMap,
|
||||
MavenSettingsCache.getInstance(project).getEffectiveUserLocalRepo(),
|
||||
updateSnapshots,
|
||||
mavenEmbedderWrappers,
|
||||
progressReporter,
|
||||
MavenLogEventHandler)
|
||||
}
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
protected fun log(): ListenerLog {
|
||||
return ListenerLog()
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user