Files
Chris Lemaire 2c95e9d462 [github] Add a project statistics collector for #PRs (IJPL-185347)
#IJPL-185347 Fixed


(cherry picked from commit abaf58df445c8b1f3877168d1cbb5cd303d01ee0)

IJ-CR-163058

GitOrigin-RevId: f9b5b58ec6c46937441ee34dfc42d027bcc0124f
2025-05-15 12:16:05 +00:00

248 lines
13 KiB
XML

<idea-plugin>
<dependencies>
<plugin id="com.intellij.modules.lang"/>
<plugin id="Git4Idea"/>
<module name="intellij.platform.collaborationTools"/>
</dependencies>
<resource-bundle>messages.GithubBundle</resource-bundle>
<extensionPoints>
<extensionPoint qualifiedName="intellij.vcs.github.titleAndDescriptionGenerator"
interface="org.jetbrains.plugins.github.pullrequest.ui.toolwindow.create.GHPRTitleAndDescriptionGeneratorExtension"
dynamic="true"/>
<extensionPoint qualifiedName="intellij.vcs.github.aiReviewExtension"
interface="org.jetbrains.plugins.github.ai.GHPRAIReviewExtension"
dynamic="true"/>
<extensionPoint qualifiedName="intellij.vcs.github.aiSummaryExtension"
interface="org.jetbrains.plugins.github.ai.GHPRAISummaryExtension"
dynamic="true"/>
<extensionPoint qualifiedName="com.intellij.vcs.github.gistContentsCollector"
interface="org.jetbrains.plugins.github.GithubGistContentsCollector"
dynamic="true"/>
</extensionPoints>
<extensions defaultExtensionNs="com.intellij">
<httpRequestHandler implementation="org.jetbrains.plugins.github.authentication.GHOAuthCallbackHandler"/>
<applicationService serviceImplementation="org.jetbrains.plugins.github.util.GithubSettings"/>
<applicationService serviceImplementation="org.jetbrains.plugins.github.authentication.accounts.GHPersistentAccounts"/>
<vcsAnnotationGutterActionProvider implementation="org.jetbrains.plugins.github.extensions.GHAnnotationGutterActionProvider"/>
<projectConfigurable parentId="project.propVCSSupport.Mappings" groupWeight="-500"
instance="org.jetbrains.plugins.github.ui.GithubSettingsConfigurable"
key="settings.configurable.display.name"/>
<statistics.applicationUsagesCollector
implementation="org.jetbrains.plugins.github.authentication.accounts.GithubAccountsStatisticsCollector"/>
<statistics.projectUsagesCollector
implementation="org.jetbrains.plugins.github.pullrequest.GHPRProjectMetricsCollector"/>
<statistics.counterUsagesCollector
implementationClass="org.jetbrains.plugins.github.pullrequest.GHPRStatisticsCollector"/>
<statistics.notificationIdsHolder implementation="org.jetbrains.plugins.github.util.GithubNotificationIdsHolder"/>
<backgroundPostStartupActivity implementation="org.jetbrains.plugins.github.pullrequest.GHServerVersionsCollector$Initializer"/>
<diff.DiffExtension implementation="org.jetbrains.plugins.github.pullrequest.ui.diff.GHPRReviewDiffExtension"/>
<editorFactoryListener
implementation="org.jetbrains.plugins.github.pullrequest.ui.editor.GHPRReviewInEditorController$InstallerListener"/>
<openapi.vcs.ui.cloneDialog.VcsCloneDialogExtension
id="org.jetbrains.plugins.github.ui.cloneDialog.GHCloneDialogExtension"
implementation="org.jetbrains.plugins.github.ui.cloneDialog.GHCloneDialogExtension"
order="after com.intellij.space.vcs.clone.SpaceCloneExtension"/>
<openapi.vcs.ui.cloneDialog.VcsCloneDialogExtension
id="org.jetbrains.plugins.github.ui.cloneDialog.GHECloneDialogExtension"
implementation="org.jetbrains.plugins.github.ui.cloneDialog.GHECloneDialogExtension"
order="after org.jetbrains.plugins.github.ui.cloneDialog.GHCloneDialogExtension"/>
<virtualFileSystem key="ghpr" implementationClass="org.jetbrains.plugins.github.pullrequest.GHPRVirtualFileSystem"/>
<fileIconProvider implementation="org.jetbrains.plugins.github.pullrequest.GHPRVirtualFileIconProvider" order="first"/>
<fileEditorProvider implementation="org.jetbrains.plugins.github.pullrequest.GHPREditorProvider"/>
<toolWindow id="Pull Requests" icon="org.jetbrains.plugins.github.GithubIcons.PullRequestsToolWindow"
anchor="left" doNotActivateOnStart="true" canCloseContents="true"
factoryClass="org.jetbrains.plugins.github.pullrequest.ui.toolwindow.GHPRToolWindowFactory"/>
<fileIconProvider implementation="org.jetbrains.plugins.github.extensions.GithubYamlIconProvider"/>
<fileTypeUsageSchemaDescriptor schema="github"
implementationClass="org.jetbrains.plugins.github.extensions.GithubFileTypeSchemaProvider"/>
<registryKey defaultValue="true" description="Applying suggested changes" key="github.suggested.changes.apply"/>
<registryKey defaultValue="14" description="Clear 'last seen state' after this many days" key="github.clear.last.seen.state.days"/>
<registryKey defaultValue="5000"
description="Milliseconds margin used when comparing known last seen date with last updated at date for PRs"
key="github.last.seen.state.margin.millis"/>
<registryKey defaultValue="30"
description="Seconds between checking the ETag for the PR list"
key="github.pr.list.automatic.refresh.seconds"/>
<vcs.github.gistContentsCollector
implementation="org.jetbrains.plugins.github.DefaultGithubGistContentsCollector"
id="default"
order="last"/>
</extensions>
<extensions defaultExtensionNs="Git4Idea">
<GitHttpAuthDataProvider id="GitHub.Silent"
implementation="org.jetbrains.plugins.github.extensions.GHSilentHttpAuthDataProvider"
order="before GitHub"/>
<GitHttpAuthDataProvider id="GitHub"
implementation="org.jetbrains.plugins.github.extensions.GHComHttpAuthDataProvider"/>
<gitRepositoryHostingService implementation="org.jetbrains.plugins.github.extensions.GHRepositoryHostingService"/>
<gitProtectedBranchProvider implementation="org.jetbrains.plugins.github.util.GithubProtectedBranchProvider"/>
<gitFetchHandler implementation="org.jetbrains.plugins.github.extensions.GHProtectedBranchRulesLoader"/>
<gitCurrentBranchPresenter
implementation="org.jetbrains.plugins.github.pullrequest.ui.review.GHPROnCurrentBranchService$BranchPresenter"/>
<gitPushNotificationCustomizer implementation="org.jetbrains.plugins.github.notification.GHPushNotificationCustomizer"/>
</extensions>
<actions>
<action id="Github.Share" class="org.jetbrains.plugins.github.GithubShareAction" icon="AllIcons.Vcs.Vendors.Github">
<add-to-group group-id="Vcs.Import"/>
<add-to-group group-id="Vcs.ToolbarWidget.ShareProject" relative-to-action="Start.Use.Vcs" anchor="before"/>
<override-text place="Vcs.Toolbar.Widget"/>
</action>
<action id="Github.Sync.Fork"
class="org.jetbrains.plugins.github.GithubSyncForkAction"
icon="AllIcons.Vcs.Vendors.Github">
<add-to-group group-id="Git.Menu"/>
</action>
<group id="Github.Open.In.Browser" class="org.jetbrains.plugins.github.GHOpenInBrowserActionGroup">
<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="GitHub.Copy.Link" class="org.jetbrains.plugins.github.GHCopyLinkActionGroup"
icon="AllIcons.Vcs.Vendors.Github">
<override-text place="CopyReferencePopup"/>
<add-to-group group-id="Git.Hosting.Copy.Link.Group"/>
</group>
<action id="Github.Create.Pull.Request"
class="org.jetbrains.plugins.github.pullrequest.action.GHPRCreatePullRequestAction"
icon="AllIcons.General.Add">
<add-to-group group-id="Git.Menu"/>
</action>
<action id="Github.View.Pull.Request" class="org.jetbrains.plugins.github.GithubViewPullRequestsAction">
<add-to-group group-id="Git.Menu"/>
</action>
<action id="Github.PullRequest.Details.Reload"
class="org.jetbrains.plugins.github.pullrequest.action.GHPRReloadDetailsAction"
use-shortcut-of="Refresh"/>
<action id="Github.PullRequest.Timeline.Show"
class="org.jetbrains.plugins.github.pullrequest.action.GHPROpenPullRequestTimelineAction"/>
<action id="Github.Create.Gist" class="org.jetbrains.plugins.github.GithubCreateGistAction" icon="AllIcons.Vcs.Vendors.Github">
<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="GitHub.MainMenu" popup="true">
<reference ref="Github.Share"/>
<reference ref="Github.Create.Pull.Request"/>
<reference ref="Github.View.Pull.Request"/>
<reference ref="Github.Sync.Fork"/>
<reference ref="Github.Create.Gist"/>
<reference ref="Github.Open.In.Browser"/>
<add-to-group group-id="Git.MainMenu" relative-to-action="Git.Configure.Remotes" anchor="before"/>
</group>
<action id="Github.PullRequest.Open.Link"
class="org.jetbrains.plugins.github.pullrequest.action.GHPullRequestOpenURLAction"
icon="AllIcons.Vcs.Vendors.Github"/>
<action id="Github.PullRequest.Copy.Link"
class="org.jetbrains.plugins.github.pullrequest.action.GHPullRequestCopyURLAction"
icon="AllIcons.Vcs.Vendors.Github"/>
<group id="Github.PullRequest.ToolWindow.List.Popup">
<action id="Github.PullRequest.Show"
class="org.jetbrains.plugins.github.pullrequest.action.GHPROpenPullRequestAction"/>
<reference ref="Github.PullRequest.Open.Link"/>
<reference ref="Github.PullRequest.Copy.Link"/>
<separator/>
<action id="Github.PullRequest.List.Reload"
class="org.jetbrains.plugins.github.pullrequest.action.GHPRReloadListAction" use-shortcut-of="Refresh"/>
</group>
<group id="Github.PullRequest.Details.Popup">
<reference ref="Github.PullRequest.Details.Reload"/>
<reference ref="Github.PullRequest.Open.Link"/>
<reference ref="Github.PullRequest.Copy.Link"/>
</group>
<action id="Github.PullRequest.Review.Submit"
class="org.jetbrains.plugins.github.pullrequest.action.GHPRReviewSubmitAction"/>
<group id="Github.PullRequest.Changes.Toolbar">
<reference ref="Diff.ShowDiff"/>
<separator/>
<reference ref="ChangesView.GroupBy"/>
</group>
<group id="Github.PullRequest.Changes.Popup">
<reference ref="Diff.ShowDiff"/>
<reference ref="Diff.ShowStandaloneDiff"/>
<reference ref="EditSource"/>
<action id="Github.PullRequest.Changes.MarkViewed"
class="org.jetbrains.plugins.github.pullrequest.action.GHPRMarkFilesViewedAction"/>
<action id="Github.PullRequest.Changes.MarkNotViewed"
class="org.jetbrains.plugins.github.pullrequest.action.GHPRMarkFilesNotViewedAction"/>
<separator/>
<group id="Github.PullRequest.Details.Commit.Tree.ViewOptions" icon="AllIcons.Actions.Show" popup="true">
<reference ref="ChangesView.GroupBy"/>
</group>
<reference ref="ExpandAll"/>
<reference ref="CollapseAll"/>
<separator/>
<reference ref="Github.PullRequest.Details.Reload"/>
<reference ref="Github.PullRequest.Open.Link"/>
<reference ref="Github.PullRequest.Copy.Link"/>
</group>
<group id="Github.PullRequest.Timeline.Popup">
<action id="Github.PullRequest.Timeline.Update"
class="org.jetbrains.plugins.github.pullrequest.action.GHPRUpdateTimelineAction" use-shortcut-of="Refresh"/>
<reference ref="Github.PullRequest.Open.Link"/>
<reference ref="Github.PullRequest.Copy.Link"/>
</group>
<action id="Github.Break.Api.Requests" internal="true"
class="org.jetbrains.plugins.github.api.GHRequestExecutorBreaker$Action"
text="Break GitHub API Requests"/>
<group id="Github.PullRequest.Diff.Thread.View.Options"
class="org.jetbrains.plugins.github.pullrequest.comment.action.GHPRDiffReviewThreadsToggleAction"
icon="AllIcons.Actions.Show"
popup="true">
<add-to-group group-id="Diff.EditorGutterPopupMenu.EditorSettings"
relative-to-action="Vcs.Diff.ToggleDiffAligningMode"
anchor="before"/>
</group>
<group id="Github.Pull.Request.Branch.Popup.Actions">
<separator/>
<action id="Github.Pull.Request.Show.In.Toolwindow"
class="org.jetbrains.plugins.github.pullrequest.ui.review.GHPROnCurrentBranchService$ShowAction"
icon="AllIcons.Vcs.Vendors.Github">
</action>
<reference ref="Github.PullRequest.Review.Submit"/>
<action id="Github.Pull.Request.Branch.Update"
class="org.jetbrains.plugins.github.pullrequest.ui.review.GHPROnCurrentBranchService$UpdateAction"
icon="org.jetbrains.plugins.github.GithubIcons.GithubWarning">
</action>
<action id="Github.Pull.Request.Review.In.Editor.Toggle"
class="org.jetbrains.plugins.github.pullrequest.ui.review.GHPROnCurrentBranchService$ToggleReviewAction">
</action>
<add-to-group group-id="Git.Experimental.Branch.Popup.Actions"/>
</group>
<group id="GitHub.Pull.Request.Create.Title.Actions"/>
</actions>
</idea-plugin>