Files
openide/plugins/gitlab/gitlab-core/resources/intellij.vcs.gitlab.xml
Nikolay Chashnikov 3a8344fcad [plugin model] use 'public' visibility for content modules which classes are used from external plugins (IJPL-207059)
153 modules which contain classes used from external plugins from the Marketplace are marked as public. This is needed to ensure that it'll be possible to use that API after converting code from these external plugins to content modules.

GitOrigin-RevId: dc48e8970041fddd3bf50d280711e95ce9e9ad9b
2025-10-08 18:39:06 +00:00

255 lines
14 KiB
XML

<idea-plugin visibility="public">
<resource-bundle>messages.GitLabBundle</resource-bundle>
<dependencies>
<plugin id="com.intellij.modules.lang"/>
<plugin id="Git4Idea"/>
<module name="intellij.platform.vcs.log"/>
<module name="intellij.platform.collaborationTools"/>
</dependencies>
<extensionPoints>
<extensionPoint qualifiedName="intellij.vcs.gitlab.titleGenerator"
interface="org.jetbrains.plugins.gitlab.mergerequest.ui.create.model.GitLabTitleAndDescriptionGeneratorExtension"
dynamic="true"/>
</extensionPoints>
<extensions defaultExtensionNs="com.intellij">
<applicationService serviceImplementation="org.jetbrains.plugins.gitlab.authentication.accounts.GitLabPersistentAccounts"/>
<applicationService serviceInterface="org.jetbrains.plugins.gitlab.authentication.accounts.GitLabAccountManager"
serviceImplementation="org.jetbrains.plugins.gitlab.authentication.accounts.PersistentGitLabAccountManager"/>
<applicationService serviceInterface="org.jetbrains.plugins.gitlab.authentication.accounts.GitLabAccountRegistrar"
serviceImplementation="org.jetbrains.plugins.gitlab.authentication.accounts.GitLabAccountRegistrarImpl"/>
<applicationService serviceInterface="org.jetbrains.plugins.gitlab.api.GitLabApiManager"
serviceImplementation="org.jetbrains.plugins.gitlab.api.GitLabApiManagerImpl"/>
<applicationService serviceInterface="org.jetbrains.plugins.gitlab.GitLabServersManager"
serviceImplementation="org.jetbrains.plugins.gitlab.CachingGitLabServersManager"/>
<projectService serviceInterface="org.jetbrains.plugins.gitlab.GitLabProjectsManager"
serviceImplementation="org.jetbrains.plugins.gitlab.GitLabProjectsManagerImpl"/>
<projectService serviceInterface="org.jetbrains.plugins.gitlab.mergerequest.ui.GitLabConnectedProjectViewModelFactory"
serviceImplementation="org.jetbrains.plugins.gitlab.mergerequest.ui.GitLabConnectedProjectViewModelFactoryImpl"/>
<!--suppress PluginXmlI18n - intentionally suppress the inspection to avoid translating `GitLab` technology name-->
<projectConfigurable parentId="project.propVCSSupport.Mappings" groupWeight="-500"
instance="org.jetbrains.plugins.gitlab.GitLabSettingsConfigurable"
displayName="GitLab"/>
<!--TODO: correct icon-->
<toolWindow id="Merge Requests" icon="com.intellij.vcs.gitlab.icons.GitlabIcons.GitLabToolWindow"
anchor="left" doNotActivateOnStart="true"
factoryClass="org.jetbrains.plugins.gitlab.mergerequest.ui.toolwindow.GitLabToolWindowFactory"
canCloseContents="true"/>
<virtualFileSystem key="gitlabmr" implementationClass="org.jetbrains.plugins.gitlab.mergerequest.file.GitLabVirtualFileSystem"/>
<fileEditorProvider implementation="org.jetbrains.plugins.gitlab.mergerequest.file.GitLabFileEditorProvider"/>
<diff.DiffExtension implementation="org.jetbrains.plugins.gitlab.mergerequest.diff.GitLabMergeRequestDiffExtension"/>
<fileIconProvider implementation="org.jetbrains.plugins.gitlab.ui.GitlabCiIconProvider"/>
<fileTypeUsageSchemaDescriptor schema="gitlab" implementationClass="org.jetbrains.plugins.gitlab.ui.GitlabFileTypeSchemaProvider"/>
<editorTabTitleProvider implementation="org.jetbrains.plugins.gitlab.mergerequest.file.GitLabMergeRequestDiffFile$TitleProvider"/>
<vcsAnnotationGutterActionProvider implementation="org.jetbrains.plugins.gitlab.ui.action.GitLabAnnotationGutterActionProvider"/>
<openapi.vcs.ui.cloneDialog.VcsCloneDialogExtension
id="org.jetbrains.plugins.gitlab.ui.clone.GitLabCloneDialogExtension"
implementation="org.jetbrains.plugins.gitlab.ui.clone.GitLabCloneDialogExtension"
order="after org.jetbrains.plugins.github.ui.cloneDialog.GHECloneDialogExtension"/>
<editorFactoryListener
implementation="org.jetbrains.plugins.gitlab.mergerequest.ui.editor.GitLabMergeRequestEditorReviewController$InstallerListener"/>
<registryKey key="vcs.gitlab.connect.silently"
description="Connect to GitLab repository without an explicit user action"
defaultValue="true"/>
<registryKey defaultValue="1000" description="Request polling interval in milliseconds" key="gitlab.request.polling.interval.millis"/>
<registryKey defaultValue="5" description="Request polling attempts" key="gitlab.request.polling.attempts"/>
<registryKey defaultValue="62" description="Days until an entry in the viewed/not viewed state store is considered stale"
key="gitlab.viewed.state.stale.timeout"/>
<registryKey defaultValue="0" description="The number of merge requests at the top of the list to pre-emptively load and cache"
key="gitlab.merge.requests.cached.from.list"/>
</extensions>
<extensions defaultExtensionNs="com.intellij.statistics">
<applicationUsagesCollector implementation="org.jetbrains.plugins.gitlab.util.GitLabStatistics$GitLabAccountsStatisticsCollector"/>
<counterUsagesCollector implementationClass="org.jetbrains.plugins.gitlab.util.GitLabStatistics$GitLabCountersCollector"/>
<projectUsagesCollector implementation="org.jetbrains.plugins.gitlab.util.GitLabStatistics$GitLabProjectMetricsCollector"/>
<notificationIdsHolder implementation="org.jetbrains.plugins.gitlab.notification.GitLabNotificationIdsHolder"/>
<actionCustomPlaceAllowlist id="GitLabActionCustomPlaceAllowlist"
places="GitLabMergeRequestListPopup;GitLabMergeRequestChangesTreePopup;GitLabMergeRequestDetailsPopup"/>
<counterUsagesCollector implementationClass="org.jetbrains.plugins.gitlab.authentication.GitLabLoginCollector"/>
</extensions>
<extensions defaultExtensionNs="Git4Idea">
<GitHttpAuthDataProvider id="GitLab.Silent"
implementation="org.jetbrains.plugins.gitlab.git.http.GitLabSilentHttpAuthDataProvider"
order="before GitLab"/>
<GitHttpAuthDataProvider id="GitLab"
implementation="org.jetbrains.plugins.gitlab.git.http.GitLabHttpAuthDataProvider"/>
<gitCurrentBranchPresenter
implementation="org.jetbrains.plugins.gitlab.mergerequest.ui.review.GitLabMergeRequestOnCurrentBranchService$BranchPresenter"/>
<gitPushNotificationCustomizer implementation="org.jetbrains.plugins.gitlab.notification.GitLabPushNotificationCustomizer"/>
</extensions>
<actions>
<action id="GitLab.Merge.Request.Show.List"
class="org.jetbrains.plugins.gitlab.mergerequest.action.GitLabShowMergeRequestsAction"
icon="com.intellij.vcs.gitlab.icons.GitlabIcons.GitLabLogo">
<synonym key="action.GitLab.View.Merge.Request.synonym1"/>
</action>
<action id="GitLab.Merge.Request.List.Refresh"
class="org.jetbrains.plugins.gitlab.mergerequest.action.GitLabMergeRequestListRefreshAction"
use-shortcut-of="Refresh"
icon="AllIcons.Actions.Refresh"/>
<action id="GitLab.Merge.Request.Refresh"
class="org.jetbrains.plugins.gitlab.mergerequest.action.GitLabMergeRequestRefreshAction"
use-shortcut-of="Refresh"
icon="AllIcons.Actions.Refresh"/>
<action id="GitLab.Merge.Request.Show"
class="org.jetbrains.plugins.gitlab.mergerequest.action.GitLabShowMergeRequestAction"/>
<action id="GitLab.Merge.Request.Open.Link"
class="org.jetbrains.plugins.gitlab.mergerequest.action.GitLabMergeRequestOpenURLAction"
icon="com.intellij.vcs.gitlab.icons.GitlabIcons.GitLabLogo"/>
<action id="GitLab.Merge.Request.Copy.Link"
class="org.jetbrains.plugins.gitlab.mergerequest.action.GitLabMergeRequestCopyURLAction"
icon="com.intellij.vcs.gitlab.icons.GitlabIcons.GitLabLogo"/>
<action id="GitLab.Merge.Request.Create"
class="org.jetbrains.plugins.gitlab.mergerequest.ui.create.action.GitLabMergeRequestOpenCreateTabAction"
icon="AllIcons.General.Add">
<synonym key="action.GitLab.Create.Merge.Request.synonym1"/>
<synonym key="action.GitLab.Create.Merge.Request.synonym2"/>
<synonym key="action.GitLab.Create.Merge.Request.synonym3"/>
<add-to-group group-id="Git.Menu"/>
</action>
<action id="GitLab.Clone"
class="org.jetbrains.plugins.gitlab.ui.clone.GitLabCloneAction"
icon="com.intellij.vcs.gitlab.icons.GitlabIcons.GitLabLogo">
<override-text place="MainMenu"/>
<override-text place="popup@GoToAction"/>
</action>
<action id="GitLab.Open.Settings"
class="org.jetbrains.plugins.gitlab.GitLabOpenSettingsAction"
icon="com.intellij.vcs.gitlab.icons.GitlabIcons.GitLabLogo">
<override-text place="MainMenu"/>
<override-text place="popup@GoToAction"/>
<synonym key="action.GitLab.Add.Account.synonym"/>
</action>
<action id="GitLab.Create.Snippet"
class="org.jetbrains.plugins.gitlab.snippets.GitLabCreateSnippetAction"
icon="com.intellij.vcs.gitlab.icons.GitlabIcons.GitLabLogo">
<add-to-group group-id="EditorPopupMenu"/>
<add-to-group group-id="ProjectViewPopupMenu"/>
<add-to-group group-id="EditorTabPopupMenu"/>
<add-to-group group-id="ConsoleEditorPopupMenu"/>
</action>
<group id="GitLab.Main.Group" popup="true"
class="com.intellij.ide.actions.NonTrivialActionGroup"
icon="com.intellij.vcs.gitlab.icons.GitlabIcons.GitLabLogo">
<reference ref="GitLab.Merge.Request.Create"/>
<reference ref="GitLab.Merge.Request.Show.List"/>
<reference ref="GitLab.Create.Snippet"/>
<separator/>
<reference ref="GitLab.Clone"/>
<separator/>
<reference ref="GitLab.Open.Settings"/>
<add-to-group group-id="Git.MainMenu" relative-to-action="Git.Configure.Remotes" anchor="before"/>
</group>
<group id="GitLab.Merge.Request.List.Actions">
<reference ref="GitLab.Merge.Request.Show"/>
<reference ref="GitLab.Merge.Request.Open.Link"/>
<reference ref="GitLab.Merge.Request.Copy.Link"/>
<separator/>
<reference ref="GitLab.Merge.Request.List.Refresh"/>
</group>
<group id="GitLab.Merge.Request.Details.Popup">
<reference ref="GitLab.Merge.Request.Refresh"/>
<reference ref="GitLab.Merge.Request.Open.Link"/>
<reference ref="GitLab.Merge.Request.Copy.Link"/>
</group>
<group id="GitLab.Merge.Request.Timeline.Popup">
<action id="GitLab.Merge.Request.Timeline.ShowEvents"
class="org.jetbrains.plugins.gitlab.mergerequest.ui.timeline.action.GitLabMergeRequestTimelineShowEventsAction"/>
<separator/>
<reference ref="GitLab.Merge.Request.Refresh"/>
<reference ref="GitLab.Merge.Request.Open.Link"/>
<reference ref="GitLab.Merge.Request.Copy.Link"/>
</group>
<group id="GitLab.Merge.Request.Timeline.Error.Popup">
<reference ref="GitLab.Merge.Request.Open.Link"/>
<reference ref="GitLab.Merge.Request.Copy.Link"/>
</group>
<group id="GitLab.Merge.Request.Changes.Popup">
<reference ref="Diff.ShowDiff"/>
<reference ref="Diff.ShowStandaloneDiff"/>
<reference ref="EditSource"/>
<action id="GitLab.Merge.Request.Changes.MarkViewed"
class="org.jetbrains.plugins.gitlab.mergerequest.ui.details.GitLabMarkFilesViewedAction"/>
<action id="GitLab.Merge.Request.Changes.MarkNotViewed"
class="org.jetbrains.plugins.gitlab.mergerequest.ui.details.GitLabMarkFilesNotViewedAction"/>
<group id="GitLab.Merge.Request.Details.Commit.Tree.ViewOptions" icon="AllIcons.Actions.Show" popup="true">
<reference ref="ChangesView.GroupBy"/>
</group>
<separator/>
<reference ref="ExpandAll"/>
<reference ref="CollapseAll"/>
<separator/>
<reference ref="GitLab.Merge.Request.Refresh"/>
<reference ref="GitLab.Merge.Request.Open.Link"/>
<reference ref="GitLab.Merge.Request.Copy.Link"/>
</group>
<group id="GitLab.Merge.Request.Diff.Discussions.View.Options"
class="org.jetbrains.plugins.gitlab.mergerequest.ui.diff.action.GitLabMergeRequestDiffReviewDiscussionsToggleAction"
icon="AllIcons.Actions.Show"
popup="true">
<add-to-group group-id="Diff.EditorGutterPopupMenu.EditorSettings"
relative-to-action="Vcs.Diff.ToggleDiffAligningMode"
anchor="before"/>
</group>
<action id="GitLab.MergeRequest.Review.Submit"
class="org.jetbrains.plugins.gitlab.mergerequest.diff.action.GitLabMergeRequestDiffSubmitReviewAction"/>
<group id="GitLab.Open.In.Browser" class="org.jetbrains.plugins.gitlab.ui.action.GitLabOpenInBrowserActionGroup"
icon="com.intellij.vcs.gitlab.icons.GitlabIcons.GitLabLogo">
<override-text place="EditorTabPopup"/>
<override-text place="ProjectViewPopup" use-text-of-place="EditorTabPopup"/>
<override-text place="EditorPopup" use-text-of-place="EditorTabPopup"/>
<override-text place="FavoritesPopup" use-text-of-place="EditorTabPopup"/>
<add-to-group group-id="Git.Hosting.Open.In.Browser.Group"/>
</group>
<group id="GitLab.Copy.Link" class="org.jetbrains.plugins.gitlab.ui.action.GitLabCopyLinkActionGroup"
icon="com.intellij.vcs.gitlab.icons.GitlabIcons.GitLabLogo">
<override-text place="CopyReferencePopup"/>
<add-to-group group-id="Git.Hosting.Copy.Link.Group"/>
</group>
<group id="GitLab.Merge.Request.Review.Editor.Branch.Popup.Actions">
<separator/>
<action id="GitLab.Merge.Request.Show.In.Toolwindow"
class="org.jetbrains.plugins.gitlab.mergerequest.ui.review.GitLabMergeRequestOnCurrentBranchService$ShowAction"
icon="com.intellij.vcs.gitlab.icons.GitlabIcons.GitLabLogo">
</action>
<reference ref="GitLab.MergeRequest.Review.Submit"/>
<action id="GitLab.Merge.Request.Branch.Update"
class="org.jetbrains.plugins.gitlab.mergerequest.ui.review.GitLabMergeRequestOnCurrentBranchService$UpdateAction"
icon="com.intellij.vcs.gitlab.icons.GitlabIcons.GitLabWarning">
</action>
<action id="GitLab.MergeRequest.Review.Mode.Toggle"
class="org.jetbrains.plugins.gitlab.mergerequest.ui.review.GitLabMergeRequestOnCurrentBranchService$ToggleReviewAction">
</action>
<add-to-group group-id="Git.Experimental.Branch.Popup.Actions"/>
</group>
<group id="GitLab.Merge.Request.Create.Title.Actions"/>
</actions>
</idea-plugin>