From 6b4fff9550a354f29d7a1cd25a41270aa568687a Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Thu, 18 May 2023 19:23:53 +0200 Subject: [PATCH] update plantuml GitOrigin-RevId: 1a59bc88b6b91c1f4c9115467af9d1f459da6a0b --- docs/build.main.kts | 4 +- docs/build.sh | 4 +- docs/out/getting-service.svg | 274 ++++++++++----------- docs/out/icon-loading-stat.svg | 322 ++++++++++++------------- docs/out/plugin-model.svg | 230 ++++++++++-------- docs/out/projectClose-dispose-flow.svg | 300 +++++++++++------------ docs/plugin-model.puml | 2 +- 7 files changed, 565 insertions(+), 571 deletions(-) diff --git a/docs/build.main.kts b/docs/build.main.kts index 7b2456c14cfa..1d617180cbfe 100644 --- a/docs/build.main.kts +++ b/docs/build.main.kts @@ -1,6 +1,6 @@ -// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. @file:Repository("https://repo1.maven.org/maven2/") -@file:DependsOn("net.sourceforge.plantuml:plantuml:1.2021.6") +@file:DependsOn("net.sourceforge.plantuml:plantuml:1.2023.7") import net.sourceforge.plantuml.FileFormat import net.sourceforge.plantuml.FileFormatOption diff --git a/docs/build.sh b/docs/build.sh index ca2230bf6720..90745c7f2374 100755 --- a/docs/build.sh +++ b/docs/build.sh @@ -1,12 +1,12 @@ #!/bin/sh -# Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +# Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. set -ex # brew install graphviz cd "$(dirname "$0")" -KOTLIN="/Applications/Idea.app/Contents/plugins/KotlinPlugin" +KOTLIN="/Applications/Idea.app/Contents/plugins/Kotlin" java -Dfile.encoding=UTF-8 -classpath $KOTLIN/kotlinc/lib/kotlin-compiler.jar:$KOTLIN/lib/kotlin-stdlib.jar:$KOTLIN/lib/kotlin-reflect.jar:$KOTLIN/kotlinc/lib/kotlin-main-kts.jar:$KOTLIN/kotlinc/lib/kotlin-stdlib.jar:$KOTLIN/kotlinc/lib/kotlin-reflect.jar:/Volumes/data/.ivy2/cache/net.sourceforge.plantuml/plantuml/jars/plantuml-1.2021.6.jar:$KOTLIN/kotlinc/lib/kotlin-script-runtime.jar org.jetbrains.kotlin.cli.jvm.K2JVMCompiler \ -kotlin-home $KOTLIN/kotlinc -jvm-target 1.8 -\ diff --git a/docs/out/getting-service.svg b/docs/out/getting-service.svg index cd9e4538813a..cc4fe5992d95 100644 --- a/docs/out/getting-service.svg +++ b/docs/out/getting-service.svg @@ -1,4 +1,5 @@ - + + - + + - - - In any thread. - Get on demand only. - Do not cache result. - Do not request in constructor unless needed. - - getService - - Return - null - - no - Is + + + In any thread. + Get on demand only. + Do not cache result. + Do not request in constructor unless needed. + + getService + + Return + null + + no + Is - Service Declaration + Service Declaration - Found - yes - - no - Is + Found + yes + + no + Is - Light Service + Light Service - yes - - - Is Container Active? - active - disposed or dispose in progress - - - synchronized on service class - - Is Initializing? - yes - no - - Throw - PluginException - Cyclic Service Initialization - - - non cancelable - - - Avoid getting other services to reduce initialization tree. - As less dependencies, as more faster and reliable. - - Create Instance - - Register to be Disposed on Container Dispose - if Implements - Disposable - - Load Persistent State - if Implements - PersistentStateComponent - - no - Is Created and Initialized? - yes - - - Throw - ProcessCanceledException - - no - Is Created and Initialized? - yes - - - Return Instance - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + yes + + + Is Container Active? + active + disposed or dispose in progress + + + synchronized on service class + + Is Initializing? + yes + no + + Throw + PluginException + Cyclic Service Initialization + + + non cancelable + + + Avoid getting other services to reduce initialization tree. + As less dependencies, as more faster and reliable. + + Create Instance + + Register to be Disposed on Container Dispose + if Implements + Disposable + + Load Persistent State + if Implements + PersistentStateComponent + + no + Is Created and Initialized? + yes + + + Throw + ProcessCanceledException + + no + Is Created and Initialized? + yes + + + Return Instance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/out/icon-loading-stat.svg b/docs/out/icon-loading-stat.svg index defc13df9150..358ef395b91a 100644 --- a/docs/out/icon-loading-stat.svg +++ b/docs/out/icon-loading-stat.svg @@ -1,4 +1,5 @@ - + + - + + - - - Externally called method - IconLoader.findIcon - - find-icon - - - Internally called method - CachedImageIcon.loadImage - . - Called numerous times per - CachedImageIcon - instance — to compute a new scale. - - find-icon-load - - Is SVG - yes - no - - svg-load - - png-load - - - Is resourceClass Provided - yes - no - - load-from-resource - - Is prebuiltCacheId Provided - yes - - svg-prebuilt - - Return Image - - Return - null - - no - Is Resource Exist - yes - - load-from-url - - - Is SVG - yes - no - - svg-cache-read - - svg-decode - - no - Is Cached - yes - - - png-decode - - - no - Is Cached - yes - - - Return Image - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Externally called method + IconLoader.findIcon + + find-icon + + + Internally called method + CachedImageIcon.loadImage + . + Called numerous times per + CachedImageIcon + instance — to compute a new scale. + + find-icon-load + + Is SVG + yes + no + + svg-load + + png-load + + + Is resourceClass Provided + yes + no + + load-from-resource + + Is prebuiltCacheId Provided + yes + + svg-prebuilt + + Return Image + + Return + null + + no + Is Resource Exist + yes + + load-from-url + + + Is SVG + yes + no + + svg-cache-read + + svg-decode + + no + Is Cached + yes + + + png-decode + + + no + Is Cached + yes + + + Return Image + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/out/plugin-model.svg b/docs/out/plugin-model.svg index 091fb7828a9c..1bef8b393852 100644 --- a/docs/out/plugin-model.svg +++ b/docs/out/plugin-model.svg @@ -1,119 +1,137 @@ - - + + - + + - - - - content - - - - dependencies - - - - dependencies - - - module name="…" 0…N - - - module name="…" N - - - content - is not allowed and is not supported for module. - - - Module dependency is always optional. - If the module depends on an unavailable plugin, it will not be loaded. - - module name="…" 0…N - - plugin id="…" 0…N - - - The dependency is specified in a module descriptor itself in a new model, - not where the module is referenced. - - module name="…" 0…N - - plugin id="…" 0…N - - - - plugin - - - - Every plugin is a module, but not every module is a plugin. - A plugin is a group of related modules and for now, - it is the only way to distribute modules. - - - Same as for - module - - - a sibling cannot access classes from each other - unless specified as a dependency - - - - - - - a module can access classes from a containing plugin - - - - - - - - - - - + + + + + content + + + + + + dependencies + + + + + + dependencies + + + + + module name="…" 0…N + + + + + module name="…" N + + + + + content + is not allowed and is not supported for module. + + + + + Module dependency is always optional. + If the module depends on an unavailable plugin, it will not be loaded. + + + + module name="…" 0…N + + + + plugin id="…" 0…N + + + + + The dependency is specified in a module descriptor itself in a new model, + not where the module is referenced. + + + + module name="…" 0…N + + + + plugin id="…" 0…N + + + + + + plugin + + + + + + Every plugin is a module, but not every module is a plugin. + A plugin is a group of related modules and for now, + it is the only way to distribute modules. + + + + + Same as for + module + + + + + a sibling cannot access classes from each other + unless specified as a dependency + + + + + + + + + + + a module can access classes from a containing plugin + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/out/projectClose-dispose-flow.svg b/docs/out/projectClose-dispose-flow.svg index 64afe2bd62d3..77b9e792a283 100644 --- a/docs/out/projectClose-dispose-flow.svg +++ b/docs/out/projectClose-dispose-flow.svg @@ -1,4 +1,5 @@ - + + - + + - - - Project closing executed in a dispatch thread. - - closeProject - - canClose - (ep=ProjectCloseHandler) - - canClose - - (ep=ProjectCloseHandler) - yes - no - - Stop Service Preloading - - - In unit test mode in a light tests, - light project is not closed and not disposed. - - Fire - projectClosingBeforeSave - Event - (l=ProjectManagerListener) - - Save Project Files - - Save Project Settings - Successfully or Error Ignored - Error Occurred - - Fire - projectClosing - Event - (l=ProjectManagerListener) - - - write action - - - If you incorrectly specify project for - MessageBus.connect() - , - it will be disconnected on this step. - Do not specify - parentDisposable - unless needed. - - Dispose everything that uses Project as parent disposable - - Dispose Project Message Bus Connections - without explicitly specified parent disposable - - - Getting services and publishing to message bus - is prohibited from now on. - Project.isDisposed - returns - true - (not changed in a read action, - because state is set in a write action). - - Set Project State to - DISPOSE_IN_PROGRESS - - - Connecting to message bus is prohibited from now on. - - Dispose Project Message Bus Connection Disposable - - - Result of - ProjectManager.getOpenProjects() - is valid only in a read action. - - Remove Project from List of Opened - - Fire - projectClosed - Event - (l=ProjectManagerListener) - - Set Project State to - DISPOSED - - - First created, last disposed. - Children are disposed before parent. - - Dispose Services and Components - - Dispose Message Bus - - Set Project State to - DISPOSE_COMPLETED - - Close Cancelled - - Close Cancelled - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Project closing executed in a dispatch thread. + + closeProject + + canClose + (ep=ProjectCloseHandler) + + canClose +      + (ep=ProjectCloseHandler) + yes + no + + Stop Service Preloading + + + In unit test mode in a light tests, + light project is not closed and not disposed. + + Fire + projectClosingBeforeSave + Event + (l=ProjectManagerListener) + + Save Project Files + + Save Project Settings + Successfully or Error Ignored + Error Occurred + + Fire + projectClosing + Event + (l=ProjectManagerListener) + + + write action + + + If you incorrectly specify project for + MessageBus.connect() + , + it will be disconnected on this step. + Do not specify + parentDisposable + unless needed. + + Dispose everything that uses Project as parent disposable + + Dispose Project Message Bus Connections + without explicitly specified parent disposable + + + Getting services and publishing to message bus + is prohibited from now on. + Project.isDisposed + returns + true + (not changed in a read action, + because state is set in a write action). + + Set Project State to + DISPOSE_IN_PROGRESS + + + Connecting to message bus is prohibited from now on. + + Dispose Project Message Bus Connection Disposable + + + Result of + ProjectManager.getOpenProjects() + is valid only in a read action. + + Remove Project from List of Opened + + Fire + projectClosed + Event + (l=ProjectManagerListener) + + Set Project State to + DISPOSED + + + First created, last disposed. + Children are disposed before parent. + + Dispose Services and Components + + Dispose Message Bus + + Set Project State to + DISPOSE_COMPLETED + + Close Cancelled + + Close Cancelled + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/plugin-model.puml b/docs/plugin-model.puml index 28b76fdafe15..4534203ac637 100644 --- a/docs/plugin-model.puml +++ b/docs/plugin-model.puml @@ -3,7 +3,7 @@ ' https://www.augmentedmind.de/2021/01/17/plantuml-layout-tutorial-styles/ -component "[[https://github.com/JetBrains/intellij-community/blob/master/docs/plugin.md plugin]]" as P +component "[[https://youtrack.jetbrains.com/articles/IJPL-A-31/Plugin-Model plugin]]" as P folder content as PluginContent { [module name="…" 0…N] as M