diff options
author | Frank Becker | 2015-02-18 20:45:56 +0000 |
---|---|---|
committer | Frank Becker | 2015-03-16 20:29:50 +0000 |
commit | f15bbb75adcc175ff36114f90059a2678ce89693 (patch) | |
tree | 14f200c73a2f1405cd22ff592c54319eab89fda1 /org.eclipse.mylyn.bugzilla.releng | |
parent | 5386bb0f2e272965f9ee1ebe8f117d301f325c26 (diff) | |
download | org.eclipse.mylyn.tasks-f15bbb75adcc175ff36114f90059a2678ce89693.tar.gz org.eclipse.mylyn.tasks-f15bbb75adcc175ff36114f90059a2678ce89693.tar.xz org.eclipse.mylyn.tasks-f15bbb75adcc175ff36114f90059a2678ce89693.zip |
460285: [relang] support Git and Gerrit urls in see Also
Change-Id: Ia4ce8b7d15215bcceecc1256fcad4778bf4042df
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=460285
Diffstat (limited to 'org.eclipse.mylyn.bugzilla.releng')
5 files changed, 107 insertions, 3 deletions
diff --git a/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/files/extensions/Mylyn/lib/Gerrit.pm b/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/files/extensions/Mylyn/lib/Gerrit.pm new file mode 100644 index 000000000..6eaf64e98 --- /dev/null +++ b/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/files/extensions/Mylyn/lib/Gerrit.pm @@ -0,0 +1,45 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This Source Code Form is "Incompatible With Secondary Licenses", as +# defined by the Mozilla Public License, v. 2.0. + +package Bugzilla::Extension::Mylyn::Gerrit; + +use 5.10.1; +use strict; +use warnings; + +use parent qw(Bugzilla::BugUrl); + +############################### +#### Methods #### +############################### + +sub should_handle { + my ($class, $uri) = @_; + + # Gerrit Change URL: https://git.eclipse.org/r/#/c/26613/ + # Gerrit Change URL, specific patch set: https://git.eclipse.org/r/#/c/26613/4 + # https://git.eclipse.org/r/40031 + return ( ($uri->path =~ m|^/r/$| and $uri->fragment =~ m|^/c/\d+|) || + $uri->path =~ m|^/r/\d+|) ? 1 : 0; +} + +sub _check_value { + my ($class, $uri) = @_; + + $uri = $class->SUPER::_check_value($uri); + + # While Gerrit URLs can be either HTTP or HTTPS, + # always go with the HTTP scheme, as that's the default. + if ($uri->scheme eq 'http') { + $uri->scheme('https'); + } + + return $uri; +} + +1; + diff --git a/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/files/extensions/Mylyn/lib/Git.pm b/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/files/extensions/Mylyn/lib/Git.pm new file mode 100644 index 000000000..84bb7325b --- /dev/null +++ b/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/files/extensions/Mylyn/lib/Git.pm @@ -0,0 +1,41 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This Source Code Form is "Incompatible With Secondary Licenses", as +# defined by the Mozilla Public License, v. 2.0. + +package Bugzilla::Extension::Mylyn::Git; + +use 5.10.1; +use strict; +use warnings; + +use parent qw(Bugzilla::BugUrl); + +############################### +#### Methods #### +############################### + +sub should_handle { + my ($class, $uri) = @_; + + # cGit commit: http://git.eclipse.org/c/actf/org.eclipse.actf.ai.git/commit/?id=84a2bb1e7c58fc8f423724d72cf294fd95f9b1c5 + # cGit commit: https://polarsys.org/cgit/cgit.cgi/capella/capella.git/commit/?id=98011c093f70730bbc9b2113a007aad14a11bb46 + return ($uri->path =~ m|^/c(git/cgit\.cgi)?/.*commit/$| + and $uri->query_param('id') =~ m|^\w{40}$|) ? 1 : 0; +} + +sub _check_value { + my ($class, $uri) = @_; + + $uri = $class->SUPER::_check_value($uri); + + # GitHub HTTP URLs redirect to HTTPS, so just use the HTTPS scheme. + $uri->scheme('https'); + + return $uri; +} + +1; + diff --git a/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/files/extensions/Mylyn/template/en/default/hook/global/user-error-bug_url_invalid_tracker.html.tmpl b/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/files/extensions/Mylyn/template/en/default/hook/global/user-error-bug_url_invalid_tracker.html.tmpl new file mode 100644 index 000000000..2c15a3ba1 --- /dev/null +++ b/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/files/extensions/Mylyn/template/en/default/hook/global/user-error-bug_url_invalid_tracker.html.tmpl @@ -0,0 +1,10 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +<li>A cGit commit link.</li> +<li>A Gerrit change.</li>
\ No newline at end of file diff --git a/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/manifests/defaultsites.pp b/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/manifests/defaultsites.pp index 104f3dba0..771ba9de6 100644 --- a/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/manifests/defaultsites.pp +++ b/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/manifests/defaultsites.pp @@ -90,7 +90,7 @@ define bugzilla::defaultsites($base = $bugzilla::bugzillaBase, $userOwner = $bug envversion => "5.0rc2", testdataVersion => "Version1", } - + bugzilla::site { "bugzilla-rest-master": major => "5", minor => "1", @@ -102,4 +102,4 @@ define bugzilla::defaultsites($base = $bugzilla::bugzillaBase, $userOwner = $bug testdataVersion => "Version1", } -}
\ No newline at end of file +} diff --git a/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/templates/Extension.pm.erb b/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/templates/Extension.pm.erb index f3b12b369..c9ff65bdc 100644 --- a/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/templates/Extension.pm.erb +++ b/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/templates/Extension.pm.erb @@ -13,7 +13,10 @@ package Bugzilla::Extension::Mylyn; use strict; use base qw(Bugzilla::Extension); - +use constant MORE_SUB_CLASSES => qw( + Bugzilla::Extension::Mylyn::Gerrit + Bugzilla::Extension::Mylyn::Git + ); # This code for this is in ./extensions/Mylyn/lib/Util.pm use Bugzilla::Extension::Mylyn::Util; @@ -425,4 +428,9 @@ sub install_before_final_checks { print "Mylyn Extension: end of install-before_final_checks hook\n" unless $args->{silent}; } +sub bug_url_sub_classes { + my ($self, $args) = @_; + push @{ $args->{sub_classes} }, MORE_SUB_CLASSES; +} + __PACKAGE__->NAME; |