mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[vcs] IJPL-173922 Share IssueNavigationConfiguration
GitOrigin-RevId: 9a6b4303cc9f224975e24b7381cc634a0a8ed791
This commit is contained in:
committed by
intellij-monorepo-bot
parent
6fc577294c
commit
c191be6a78
@@ -31,6 +31,7 @@ jvm_library(
|
||||
"//java/idea-ui:ui",
|
||||
"//platform/usageView-impl",
|
||||
"//platform/vcs-api:vcs",
|
||||
"//platform/vcs-impl/shared",
|
||||
"//platform/editor-ui-ex:editor-ex",
|
||||
"//java/execution/impl",
|
||||
"//platform/diff-api:diff",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
<orderEntry type="module" module-name="intellij.java.ui" />
|
||||
<orderEntry type="module" module-name="intellij.platform.usageView.impl" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.vcs" />
|
||||
<orderEntry type="module" module-name="intellij.platform.vcs.impl.shared" />
|
||||
<orderEntry type="module" module-name="intellij.platform.editor.ex" />
|
||||
<orderEntry type="module" module-name="intellij.idea.community.customization" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.java.execution.impl" />
|
||||
|
||||
@@ -43,6 +43,7 @@ jvm_library(
|
||||
"//platform/credential-store-impl:credentialStore-impl",
|
||||
"//platform/dvcs-impl/shared",
|
||||
"@lib//:http-client",
|
||||
"//platform/vcs-impl/shared",
|
||||
],
|
||||
runtime_deps = [":collaboration-tools_resources"]
|
||||
)
|
||||
@@ -98,6 +99,7 @@ jvm_library(
|
||||
"@lib//:http-client",
|
||||
"@lib//:app-cash-turbine-jvm",
|
||||
"@lib//:assert_j",
|
||||
"//platform/vcs-impl/shared",
|
||||
],
|
||||
runtime_deps = [":collaboration-tools_resources"]
|
||||
)
|
||||
|
||||
@@ -49,5 +49,6 @@
|
||||
<orderEntry type="library" name="http-client" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="app.cash.turbine.jvm" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="assertJ" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.platform.vcs.impl.shared" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -13,8 +13,6 @@
|
||||
*f:com.intellij.codeInsight.hints.VcsCodeVisionLanguageContext$Companion
|
||||
- sf:EXTENSION:java.lang.String
|
||||
- f:getProvidersExtensionPoint():com.intellij.lang.LanguageExtension
|
||||
*:com.intellij.openapi.vcs.LinkDescriptor
|
||||
- a:getRange():com.intellij.openapi.util.TextRange
|
||||
*:com.intellij.openapi.vcs.VcsFileListenerIgnoredFilesProvider
|
||||
- *sf:Companion:com.intellij.openapi.vcs.VcsFileListenerIgnoredFilesProvider$Companion
|
||||
- s:isAdditionAllowed(com.intellij.openapi.project.Project,com.intellij.openapi.vcs.FilePath):Z
|
||||
|
||||
@@ -268,35 +268,6 @@ f:com.intellij.openapi.vcs.Ignored
|
||||
- f:getMatchedPattern():java.lang.String
|
||||
- hashCode():I
|
||||
a:com.intellij.openapi.vcs.IgnoredCheckResult
|
||||
c:com.intellij.openapi.vcs.IssueNavigationConfiguration
|
||||
- com.intellij.openapi.util.SimpleModificationTracker
|
||||
- com.intellij.openapi.components.PersistentStateComponent
|
||||
- <init>():V
|
||||
- s:findIssueLinkMatches(java.lang.CharSequence,com.intellij.openapi.vcs.IssueNavigationLink,java.util.List):V
|
||||
- findIssueLinks(java.lang.CharSequence):java.util.List
|
||||
- s:getInstance(com.intellij.openapi.project.Project):com.intellij.openapi.vcs.IssueNavigationConfiguration
|
||||
- getLinks():java.util.List
|
||||
- getState():com.intellij.openapi.vcs.IssueNavigationConfiguration
|
||||
- loadState(com.intellij.openapi.vcs.IssueNavigationConfiguration):V
|
||||
- s:processTextWithLinks(java.lang.String,java.util.List,java.util.function.Consumer,java.util.function.BiConsumer):V
|
||||
- setLinks(java.util.List):V
|
||||
c:com.intellij.openapi.vcs.IssueNavigationConfiguration$LinkMatch
|
||||
- com.intellij.openapi.vcs.LinkDescriptor
|
||||
- java.lang.Comparable
|
||||
- <init>(com.intellij.openapi.util.TextRange,java.lang.String):V
|
||||
- compareTo(java.lang.Object):I
|
||||
- getRange():com.intellij.openapi.util.TextRange
|
||||
- getTargetUrl():java.lang.String
|
||||
c:com.intellij.openapi.vcs.IssueNavigationLink
|
||||
- <init>():V
|
||||
- <init>(java.lang.String,java.lang.String):V
|
||||
- equals(java.lang.Object):Z
|
||||
- getIssuePattern():java.util.regex.Pattern
|
||||
- getIssueRegexp():java.lang.String
|
||||
- getLinkRegexp():java.lang.String
|
||||
- hashCode():I
|
||||
- setIssueRegexp(java.lang.String):V
|
||||
- setLinkRegexp(java.lang.String):V
|
||||
f:com.intellij.openapi.vcs.LineHandlerHelper
|
||||
- <init>():V
|
||||
- s:splitText(java.lang.String):java.util.List
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
|
||||
<projectService serviceInterface="com.intellij.openapi.vcs.AbstractVcsHelper"
|
||||
serviceImplementation="com.intellij.openapi.vcs.impl.AbstractVcsHelperImpl"/>
|
||||
<projectService serviceImplementation="com.intellij.openapi.vcs.IssueNavigationConfiguration"/>
|
||||
<projectService serviceImplementation="com.intellij.openapi.vcs.contentAnnotation.VcsContentAnnotationSettings"/>
|
||||
<projectService serviceInterface="com.intellij.openapi.vcs.roots.VcsRootDetector"
|
||||
serviceImplementation="com.intellij.openapi.vcs.roots.VcsRootDetectorImpl"/>
|
||||
|
||||
@@ -24,6 +24,7 @@ jvm_library(
|
||||
"//platform/platform-impl/rpc",
|
||||
"//platform/diagnostic",
|
||||
"@lib//:opentelemetry",
|
||||
"//platform/platform-impl:ide-impl",
|
||||
],
|
||||
runtime_deps = [":shared_resources"]
|
||||
)
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
*:com.intellij.openapi.vcs.LinkDescriptor
|
||||
- a:getRange():com.intellij.openapi.util.TextRange
|
||||
@@ -1,3 +1,33 @@
|
||||
c:com.intellij.openapi.vcs.IssueNavigationConfiguration
|
||||
- com.intellij.openapi.util.SimpleModificationTracker
|
||||
- com.intellij.openapi.components.PersistentStateComponent
|
||||
- <init>():V
|
||||
- s:findIssueLinkMatches(java.lang.CharSequence,com.intellij.openapi.vcs.IssueNavigationLink,java.util.List):V
|
||||
- findIssueLinks(java.lang.CharSequence):java.util.List
|
||||
- s:getInstance(com.intellij.openapi.project.Project):com.intellij.openapi.vcs.IssueNavigationConfiguration
|
||||
- getLinks():java.util.List
|
||||
- getState():com.intellij.openapi.vcs.IssueNavigationConfiguration
|
||||
- loadState(com.intellij.openapi.vcs.IssueNavigationConfiguration):V
|
||||
- noStateLoaded():V
|
||||
- s:processTextWithLinks(java.lang.String,java.util.List,java.util.function.Consumer,java.util.function.BiConsumer):V
|
||||
- setLinks(java.util.List):V
|
||||
c:com.intellij.openapi.vcs.IssueNavigationConfiguration$LinkMatch
|
||||
- com.intellij.openapi.vcs.LinkDescriptor
|
||||
- java.lang.Comparable
|
||||
- <init>(com.intellij.openapi.util.TextRange,java.lang.String):V
|
||||
- compareTo(java.lang.Object):I
|
||||
- getRange():com.intellij.openapi.util.TextRange
|
||||
- getTargetUrl():java.lang.String
|
||||
c:com.intellij.openapi.vcs.IssueNavigationLink
|
||||
- <init>():V
|
||||
- <init>(java.lang.String,java.lang.String):V
|
||||
- equals(java.lang.Object):Z
|
||||
- getIssuePattern():java.util.regex.Pattern
|
||||
- getIssueRegexp():java.lang.String
|
||||
- getLinkRegexp():java.lang.String
|
||||
- hashCode():I
|
||||
- setIssueRegexp(java.lang.String):V
|
||||
- setLinkRegexp(java.lang.String):V
|
||||
com.intellij.platform.vcs.impl.shared.changes.DiffPreviewUpdateProcessor
|
||||
- a:clear():V
|
||||
- a:getComponent():javax.swing.JComponent
|
||||
|
||||
@@ -45,5 +45,6 @@
|
||||
<orderEntry type="module" module-name="intellij.platform.ide.rpc" />
|
||||
<orderEntry type="module" module-name="intellij.platform.diagnostic" />
|
||||
<orderEntry type="library" name="opentelemetry" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ide.impl" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -1,4 +1,4 @@
|
||||
<idea-plugin package="com.intellij.platform.vcs.impl.shared">
|
||||
<idea-plugin>
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<platform.entityTypes implementation="com.intellij.platform.vcs.impl.shared.rhizome.ShelfDiffEntityTypeProvider"/>
|
||||
<platform.entityTypes implementation="com.intellij.platform.vcs.impl.shared.rhizome.GroupingItemTypeProvider"/>
|
||||
@@ -6,5 +6,9 @@
|
||||
<platform.entityTypes implementation="com.intellij.platform.vcs.impl.shared.rhizome.VcsEntityTypeProvider"/>
|
||||
<registryKey key="vcs.shelves.rhizome.enabled" defaultValue="false" restartRequired="true"
|
||||
description="New vcs shelves split to frontend and backend using Rhizome and rpc"/>
|
||||
|
||||
<projectService serviceImplementation="com.intellij.openapi.vcs.IssueNavigationConfiguration"/>
|
||||
<projectSettings service="com.intellij.openapi.vcs.IssueNavigationConfiguration"/>
|
||||
<rdct.remoteSettingProvider implementation="com.intellij.platform.vcs.impl.shared.VcsRemoteSettingsInfoProvider"/>
|
||||
</extensions>
|
||||
</idea-plugin>
|
||||
|
||||
+17
-3
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
|
||||
package com.intellij.openapi.vcs;
|
||||
|
||||
@@ -13,6 +13,7 @@ import com.intellij.openapi.util.SimpleModificationTracker;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.util.io.URLUtil;
|
||||
import com.intellij.util.xmlb.XmlSerializerUtil;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -25,10 +26,18 @@ import java.util.function.Consumer;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
|
||||
@State(name = "IssueNavigationConfiguration", storages = @Storage("vcs.xml"))
|
||||
/**
|
||||
* Settings state is available both on frontend and backend.
|
||||
* However, the synchronization direction is only backend -> frontend, which provides only read access on the frontend side.
|
||||
*
|
||||
* @see com.intellij.platform.vcs.impl.shared.VcsRemoteSettingsInfoProvider
|
||||
*/
|
||||
@State(name = IssueNavigationConfiguration.SETTINGS_KEY, storages = @Storage("vcs.xml"))
|
||||
public class IssueNavigationConfiguration extends SimpleModificationTracker
|
||||
implements PersistentStateComponent<IssueNavigationConfiguration> {
|
||||
@ApiStatus.Internal
|
||||
public static final String SETTINGS_KEY = "IssueNavigationConfiguration";
|
||||
|
||||
private static final Logger LOG = Logger.getInstance(IssueNavigationConfiguration.class);
|
||||
|
||||
public static IssueNavigationConfiguration getInstance(Project project) {
|
||||
@@ -56,6 +65,11 @@ public class IssueNavigationConfiguration extends SimpleModificationTracker
|
||||
XmlSerializerUtil.copyBean(state, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void noStateLoaded() {
|
||||
loadState(new IssueNavigationConfiguration());
|
||||
}
|
||||
|
||||
public static class LinkMatch implements LinkDescriptor, Comparable {
|
||||
private final TextRange myRange;
|
||||
private final String myTargetUrl;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
|
||||
package com.intellij.openapi.vcs;
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs
|
||||
|
||||
import com.intellij.openapi.util.TextRange
|
||||
@@ -13,4 +13,4 @@ import org.jetbrains.annotations.ApiStatus
|
||||
@ApiStatus.Experimental
|
||||
interface LinkDescriptor {
|
||||
val range: TextRange
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.platform.vcs.impl.shared
|
||||
|
||||
import com.intellij.ide.settings.RemoteSettingInfo
|
||||
import com.intellij.ide.settings.RemoteSettingInfoProvider
|
||||
import com.intellij.openapi.vcs.IssueNavigationConfiguration
|
||||
|
||||
internal class VcsRemoteSettingsInfoProvider : RemoteSettingInfoProvider {
|
||||
override fun getRemoteSettingsInfo(): Map<String, RemoteSettingInfo> =
|
||||
mapOf(IssueNavigationConfiguration.SETTINGS_KEY to RemoteSettingInfo(RemoteSettingInfo.Direction.OnlyFromBackend))
|
||||
}
|
||||
@@ -40,6 +40,7 @@ jvm_library(
|
||||
"@lib//:fastutil-min",
|
||||
"//platform/usageView-impl",
|
||||
"//platform/vcs-api:vcs",
|
||||
"//platform/vcs-impl/shared",
|
||||
"//platform/workspace/storage",
|
||||
"//plugins/kotlin/plugin/k1",
|
||||
"//plugins/kotlin/code-insight/api",
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
<orderEntry type="library" scope="TEST" name="fastutil-min" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.platform.usageView.impl" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.vcs" />
|
||||
<orderEntry type="module" module-name="intellij.platform.vcs.impl.shared" />
|
||||
<orderEntry type="module" module-name="intellij.platform.workspace.storage" scope="TEST" />
|
||||
<orderEntry type="module" module-name="kotlin.plugin.k1" scope="TEST" />
|
||||
<orderEntry type="module" module-name="kotlin.code-insight.api" scope="TEST" />
|
||||
|
||||
Reference in New Issue
Block a user