mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[plugin model tests] report an error if a module-level component is found in the monorepo (IJPL-179165)
Also, report module-level listeners just in case. GitOrigin-RevId: b9ed4e97624bcf98b0c507eb9c5c2d73ae844ff3
This commit is contained in:
committed by
intellij-monorepo-bot
parent
f9d91aac95
commit
b464ad55ce
@@ -535,19 +535,34 @@ class PluginModelValidator(
|
||||
* Checks elements in the main module or a content module
|
||||
*/
|
||||
private fun checkModuleElements(moduleDescriptor: RawPluginDescriptor, sourceModule: JpsModule, descriptorFile: Path) {
|
||||
for (extensionPointElement in moduleDescriptor.moduleElementsContainer.extensionPoints) {
|
||||
fun reportError(message: String) {
|
||||
reportError(
|
||||
message = """
|
||||
|Module-level extension point '$extensionPointElement' is defined in '${sourceModule.name}'.
|
||||
|Module-level extension points are deprecated in general and forbidden in intellij monorepo.
|
||||
|Use application-level or project-level extension point, and pass 'Module' instance as a parameter if needed.
|
||||
|""".trimMargin(),
|
||||
message = message,
|
||||
sourceModule = sourceModule,
|
||||
mapOf(
|
||||
"descriptorFile" to descriptorFile,
|
||||
),
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
for (extensionPointElement in moduleDescriptor.moduleElementsContainer.extensionPoints) {
|
||||
reportError("""
|
||||
|Module-level extension point '$extensionPointElement' is defined in '${sourceModule.name}'.
|
||||
|Module-level extension points are deprecated in general and forbidden in intellij monorepo.
|
||||
|Use application-level or project-level extension point, and pass 'Module' instance as a parameter if needed.
|
||||
|""".trimMargin())
|
||||
}
|
||||
for (componentElement in moduleDescriptor.moduleElementsContainer.components) {
|
||||
reportError("""
|
||||
|Module-level component '$componentElement' is defined in '${sourceModule.name}'.
|
||||
|Module-level components are deprecated in general and forbidden in intellij monorepo.
|
||||
|Use application-level or project-level services instead, and pass 'Module' instance as a parameter if needed.
|
||||
""".trimMargin()
|
||||
)
|
||||
}
|
||||
for (listenerElement in moduleDescriptor.moduleElementsContainer.listeners) {
|
||||
reportError("Module-level listener '$listenerElement' is defined in '${sourceModule.name}', but they aren't supported.")
|
||||
}
|
||||
}
|
||||
|
||||
// TODO same for depends
|
||||
|
||||
Reference in New Issue
Block a user