mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
convert DeployToServerConfigurationTypesRegistrar / WebpMetadata / LibraryKindLoader from applicationInitializedListener to applicationService — it takes relatively a lot of time
GitOrigin-RevId: 0494efaab588400fabcbe21f135f84a35d656124
This commit is contained in:
committed by
intellij-monorepo-bot
parent
f6ccd9d67c
commit
60bd9a9c9b
+3
-5
@@ -1,7 +1,6 @@
|
||||
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.openapi.roots.impl.libraries;
|
||||
|
||||
import com.intellij.ide.ApplicationInitializedListener;
|
||||
import com.intellij.openapi.application.WriteAction;
|
||||
import com.intellij.openapi.extensions.ExtensionPointListener;
|
||||
import com.intellij.openapi.extensions.PluginDescriptor;
|
||||
@@ -16,9 +15,8 @@ import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
final class LibraryKindLoader implements ApplicationInitializedListener {
|
||||
@Override
|
||||
public void componentsInitialized() {
|
||||
final class LibraryKindLoader {
|
||||
private LibraryKindLoader() {
|
||||
//todo[nik] this is temporary workaround for IDEA-98118: we need to initialize all library types to ensure that their kinds are created and registered in LibraryKind.ourAllKinds
|
||||
//In order to properly fix the problem we should extract all UI-related methods from LibraryType to a separate class and move LibraryType to intellij.platform.projectModel.impl module
|
||||
LibraryType.EP_NAME.getExtensionList();
|
||||
|
||||
@@ -1323,7 +1323,7 @@
|
||||
<highlightingPassFactory implementation="com.intellij.codeInsight.daemon.impl.ExternalToolPassFactory$MyRegistrar"/>
|
||||
<highlightingPassFactory implementation="com.intellij.codeInsight.daemon.impl.WolfPassFactory$MyRegistrar"/>
|
||||
|
||||
<applicationInitializedListener implementation="com.intellij.openapi.roots.impl.libraries.LibraryKindLoader"/>
|
||||
<applicationService serviceImplementation="com.intellij.openapi.roots.impl.libraries.LibraryKindLoader" preload="await"/>
|
||||
<projectService serviceInterface="com.intellij.codeInsight.daemon.impl.IntentionsUI"
|
||||
serviceImplementation="com.intellij.codeInsight.daemon.impl.IntentionsUIImpl"/>
|
||||
<joinLinesHandler implementation="com.intellij.codeInsight.editorActions.CommentJoinLinesHandler" order="last"/>
|
||||
|
||||
@@ -37,8 +37,9 @@
|
||||
serviceImplementation="com.intellij.remoteServer.impl.configuration.deployment.DeploymentConfigurationManagerImpl"/>
|
||||
<remoteServer.deploymentSource.type
|
||||
implementation="com.intellij.remoteServer.impl.configuration.deployment.ModuleDeploymentSourceType"/>
|
||||
<applicationInitializedListener
|
||||
implementation="com.intellij.remoteServer.impl.configuration.deployment.DeployToServerConfigurationTypesRegistrar"/>
|
||||
<applicationService
|
||||
serviceImplementation="com.intellij.remoteServer.impl.configuration.deployment.DeployToServerConfigurationTypesRegistrar"
|
||||
preload="await"/>
|
||||
|
||||
<projectService serviceImplementation="com.intellij.remoteServer.impl.runtime.ui.RemoteServersDeploymentManager"/>
|
||||
<serviceViewContributor implementation="com.intellij.remoteServer.impl.runtime.ui.DefaultRemoteServersServiceViewContributor"/>
|
||||
|
||||
+13
-7
@@ -2,21 +2,27 @@
|
||||
package com.intellij.remoteServer.impl.configuration.deployment;
|
||||
|
||||
import com.intellij.execution.configurations.ConfigurationType;
|
||||
import com.intellij.ide.ApplicationInitializedListener;
|
||||
import com.intellij.openapi.extensions.ExtensionPointListener;
|
||||
import com.intellij.openapi.extensions.PluginDescriptor;
|
||||
import com.intellij.openapi.extensions.impl.ExtensionPointImpl;
|
||||
import com.intellij.remoteServer.ServerType;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public final class DeployToServerConfigurationTypesRegistrar implements ApplicationInitializedListener {
|
||||
@Override
|
||||
public void componentsInitialized() {
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
// sync preloaded service and not as an ApplicationInitializedListener because it takes relatively a lot of time
|
||||
public final class DeployToServerConfigurationTypesRegistrar {
|
||||
private DeployToServerConfigurationTypesRegistrar() {
|
||||
//todo[nik] improve this: configuration types should be loaded lazily
|
||||
getConfigurationTypesExtPoint()
|
||||
.registerExtensions(ContainerUtil.map(ServerType.EP_NAME.getExtensionList(), type -> new DeployToServerConfigurationType(type)));
|
||||
Collection<? extends ServerType<?>> collection = ServerType.EP_NAME.getExtensionList();
|
||||
List<DeployToServerConfigurationType> list = new ArrayList<>(collection.size());
|
||||
for (ServerType<?> t : collection) {
|
||||
list.add(new DeployToServerConfigurationType(t));
|
||||
}
|
||||
getConfigurationTypesExtPoint().registerExtensions(list);
|
||||
|
||||
ServerType.EP_NAME.addExtensionPointListener(new ExtensionPointListener<>() {
|
||||
@Override
|
||||
|
||||
@@ -8,6 +8,6 @@
|
||||
]]></description>
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<fileType name="Image" extensions="webp"/>
|
||||
<applicationInitializedListener implementation="com.android.tools.adtui.webp.WebpMetadata"/>
|
||||
<projectService serviceImplementation="com.android.tools.adtui.webp.WebpMetadata$WebpMetadataRegistrar" preload="await"/>
|
||||
</extensions>
|
||||
</idea-plugin>
|
||||
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.android.tools.adtui.webp;
|
||||
|
||||
import com.intellij.ide.ApplicationInitializedListener;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import javax.imageio.metadata.IIOInvalidTreeException;
|
||||
@@ -25,7 +24,7 @@ import javax.imageio.spi.IIORegistry;
|
||||
import javax.imageio.spi.ImageReaderSpi;
|
||||
import javax.imageio.spi.ImageWriterSpi;
|
||||
|
||||
public final class WebpMetadata extends IIOMetadata implements ApplicationInitializedListener {
|
||||
public final class WebpMetadata extends IIOMetadata {
|
||||
public static final String WEBP_FORMAT_LOWER_CASE = "webp";
|
||||
public static final String WEBP_FORMAT_UPPER_CASE = "WEBP";
|
||||
public static final String[] WEBP_FORMAT_NAMES = new String[] {WEBP_FORMAT_UPPER_CASE, WEBP_FORMAT_LOWER_CASE};
|
||||
@@ -36,9 +35,10 @@ public final class WebpMetadata extends IIOMetadata implements ApplicationInitia
|
||||
public static final float DEFAULT_ENCODING_QUALITY = 0.75f;
|
||||
public static final boolean DEFAULT_LOSSLESS = true;
|
||||
|
||||
@Override
|
||||
public void componentsInitialized() {
|
||||
ensureWebpRegistered();
|
||||
static final class WebpMetadataRegistrar {
|
||||
private WebpMetadataRegistrar() {
|
||||
ensureWebpRegistered();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user