summaryrefslogtreecommitdiffstats
path: root/WebKitTools/Scripts/webkitpy/common/config
diff options
context:
space:
mode:
Diffstat (limited to 'WebKitTools/Scripts/webkitpy/common/config')
-rw-r--r--WebKitTools/Scripts/webkitpy/common/config/__init__.py1
-rw-r--r--WebKitTools/Scripts/webkitpy/common/config/build.py138
-rw-r--r--WebKitTools/Scripts/webkitpy/common/config/build_unittest.py64
-rw-r--r--WebKitTools/Scripts/webkitpy/common/config/committers.py331
-rw-r--r--WebKitTools/Scripts/webkitpy/common/config/committers_unittest.py72
-rw-r--r--WebKitTools/Scripts/webkitpy/common/config/committervalidator.py120
-rw-r--r--WebKitTools/Scripts/webkitpy/common/config/committervalidator_unittest.py43
-rw-r--r--WebKitTools/Scripts/webkitpy/common/config/irc.py31
-rw-r--r--WebKitTools/Scripts/webkitpy/common/config/ports.py249
-rw-r--r--WebKitTools/Scripts/webkitpy/common/config/ports_unittest.py76
10 files changed, 0 insertions, 1125 deletions
diff --git a/WebKitTools/Scripts/webkitpy/common/config/__init__.py b/WebKitTools/Scripts/webkitpy/common/config/__init__.py
deleted file mode 100644
index ef65bee..0000000
--- a/WebKitTools/Scripts/webkitpy/common/config/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-# Required for Python to search this directory for module files
diff --git a/WebKitTools/Scripts/webkitpy/common/config/build.py b/WebKitTools/Scripts/webkitpy/common/config/build.py
deleted file mode 100644
index c45f122..0000000
--- a/WebKitTools/Scripts/webkitpy/common/config/build.py
+++ /dev/null
@@ -1,138 +0,0 @@
-# Copyright (C) 2010 Apple Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-"""Functions relating to building WebKit"""
-
-import re
-
-
-def _should_file_trigger_build(target_platform, file):
- # The directories and patterns lists below map directory names or
- # regexp patterns to the bot platforms for which they should trigger a
- # build. Mapping to the empty list means that no builds should be
- # triggered on any platforms. Earlier directories/patterns take
- # precendence over later ones.
-
- # FIXME: The patterns below have only been verified to be correct on
- # Windows. We should implement this for other platforms and start using
- # it for their bots. Someone familiar with each platform will have to
- # figure out what the right set of directories/patterns is for that
- # platform.
- assert(target_platform == "win")
-
- directories = [
- # Directories that shouldn't trigger builds on any bots.
- ("BugsSite", []),
- ("PageLoadTests", []),
- ("PlanetWebKit", []),
- ("WebCore/manual-tests", []),
- ("WebKitExamplePlugins", []),
- ("WebKitSite", []),
- ("android", []),
- ("brew", []),
- ("efl", []),
- ("haiku", []),
- ("iphone", []),
- ("opengl", []),
- ("opentype", []),
- ("openvg", []),
- ("wx", []),
- ("wince", []),
-
- # Directories that should trigger builds on only some bots.
- ("JavaScriptGlue", ["mac"]),
- ("LayoutTests/platform/mac", ["mac", "win"]),
- ("LayoutTests/platform/mac-snowleopard", ["mac-snowleopard", "win"]),
- ("WebCore/image-decoders", ["chromium"]),
- ("cairo", ["gtk", "wincairo"]),
- ("cf", ["chromium-mac", "mac", "qt", "win"]),
- ("chromium", ["chromium"]),
- ("cocoa", ["chromium-mac", "mac"]),
- ("curl", ["gtk", "wincairo"]),
- ("gobject", ["gtk"]),
- ("gpu", ["chromium", "mac"]),
- ("gstreamer", ["gtk"]),
- ("gtk", ["gtk"]),
- ("mac", ["chromium-mac", "mac"]),
- ("mac-leopard", ["mac-leopard"]),
- ("mac-snowleopard", ["mac-snowleopard"]),
- ("mac-wk2", ["mac-snowleopard", "win"]),
- ("objc", ["mac"]),
- ("qt", ["qt"]),
- ("skia", ["chromium"]),
- ("soup", ["gtk"]),
- ("v8", ["chromium"]),
- ("win", ["chromium-win", "win"]),
- ]
- patterns = [
- # Patterns that shouldn't trigger builds on any bots.
- (r"(?:^|/)Makefile$", []),
- (r"/ARM", []),
- (r"/CMake.*", []),
- (r"/ChangeLog.*$", []),
- (r"/LICENSE[^/]+$", []),
- (r"ARM(?:v7)?\.(?:cpp|h)$", []),
- (r"MIPS\.(?:cpp|h)$", []),
- (r"WinCE\.(?:cpp|h|mm)$", []),
- (r"\.(?:bkl|mk)$", []),
-
- # Patterns that should trigger builds on only some bots.
- (r"/GNUmakefile\.am$", ["gtk"]),
- (r"/\w+Chromium\w*\.(?:cpp|h|mm)$", ["chromium"]),
- (r"Mac\.(?:cpp|h|mm)$", ["mac"]),
- (r"\.exp$", ["mac"]),
- (r"\.gypi?", ["chromium"]),
- (r"\.order$", ["mac"]),
- (r"\.pr[io]$", ["qt"]),
- (r"\.xcconfig$", ["mac"]),
- (r"\.xcodeproj/", ["mac"]),
- ]
-
- base_platform = target_platform.split("-")[0]
-
- # See if the file is in one of the known directories.
- for directory, platforms in directories:
- if re.search(r"(?:^|/)%s/" % directory, file):
- return target_platform in platforms or base_platform in platforms
-
- # See if the file matches a known pattern.
- for pattern, platforms in patterns:
- if re.search(pattern, file):
- return target_platform in platforms or base_platform in platforms
-
- # See if the file is a platform-specific test result.
- match = re.match("LayoutTests/platform/(?P<platform>[^/]+)/", file)
- if match:
- # See if the file is a test result for this platform, our base
- # platform, or one of our sub-platforms.
- return match.group("platform") in (target_platform, base_platform) or match.group("platform").startswith("%s-" % target_platform)
-
- # The file isn't one we know about specifically, so we should assume we
- # have to build.
- return True
-
-
-def should_build(target_platform, changed_files):
- """Returns true if the changed files affect the given platform, and
- thus a build should be performed. target_platform should be one of the
- platforms used in the build.webkit.org master's config.json file."""
- return any(_should_file_trigger_build(target_platform, file) for file in changed_files)
diff --git a/WebKitTools/Scripts/webkitpy/common/config/build_unittest.py b/WebKitTools/Scripts/webkitpy/common/config/build_unittest.py
deleted file mode 100644
index 3e70ff0..0000000
--- a/WebKitTools/Scripts/webkitpy/common/config/build_unittest.py
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright (C) 2010 Apple Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import unittest
-
-from webkitpy.common.config import build
-
-
-class ShouldBuildTest(unittest.TestCase):
- _should_build_tests = [
- (["BugsSite/foo", "WebCore/bar"], ["*"]),
- (["BugsSite/foo"], []),
- (["JavaScriptCore/JavaScriptCore.xcodeproj/foo"], ["mac-leopard", "mac-snowleopard"]),
- (["JavaScriptGlue/foo", "WebCore/bar"], ["*"]),
- (["JavaScriptGlue/foo"], ["mac-leopard", "mac-snowleopard"]),
- (["LayoutTests/foo"], ["*"]),
- (["LayoutTests/platform/chromium-linux/foo"], ["chromium-linux"]),
- (["LayoutTests/platform/chromium-win/fast/compact/001-expected.txt"], ["chromium-win"]),
- (["LayoutTests/platform/mac-leopard/foo"], ["mac-leopard"]),
- (["LayoutTests/platform/mac-snowleopard/foo"], ["mac-snowleopard", "win"]),
- (["LayoutTests/platform/mac-wk2/Skipped"], ["mac-snowleopard", "win"]),
- (["LayoutTests/platform/mac/foo"], ["mac-leopard", "mac-snowleopard", "win"]),
- (["LayoutTests/platform/win-xp/foo"], ["win"]),
- (["LayoutTests/platform/win-wk2/foo"], ["win"]),
- (["LayoutTests/platform/win/foo"], ["win"]),
- (["WebCore/mac/foo"], ["chromium-mac", "mac-leopard", "mac-snowleopard"]),
- (["WebCore/win/foo"], ["chromium-win", "win"]),
- (["WebCore/platform/graphics/gpu/foo"], ["mac-leopard", "mac-snowleopard"]),
- (["WebCore/platform/wx/wxcode/win/foo"], []),
- (["WebCore/rendering/RenderThemeMac.mm", "WebCore/rendering/RenderThemeMac.h"], ["mac-leopard", "mac-snowleopard"]),
- (["WebCore/rendering/RenderThemeChromiumLinux.h"], ["chromium-linux"]),
- (["WebCore/rendering/RenderThemeWinCE.h"], []),
- ]
-
- def test_should_build(self):
- for files, platforms in self._should_build_tests:
- # FIXME: We should test more platforms here once
- # build._should_file_trigger_build is implemented for them.
- for platform in ["win"]:
- should_build = platform in platforms or "*" in platforms
- self.assertEqual(build.should_build(platform, files), should_build, "%s should%s have built but did%s (files: %s)" % (platform, "" if should_build else "n't", "n't" if should_build else "", str(files)))
-
-
-if __name__ == "__main__":
- unittest.main()
diff --git a/WebKitTools/Scripts/webkitpy/common/config/committers.py b/WebKitTools/Scripts/webkitpy/common/config/committers.py
deleted file mode 100644
index b451721..0000000
--- a/WebKitTools/Scripts/webkitpy/common/config/committers.py
+++ /dev/null
@@ -1,331 +0,0 @@
-# Copyright (c) 2009, Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# WebKit's Python module for committer and reviewer validation
-
-
-class Committer:
-
- def __init__(self, name, email_or_emails, irc_nickname=None):
- self.full_name = name
- if isinstance(email_or_emails, str):
- self.emails = [email_or_emails]
- else:
- self.emails = email_or_emails
- self.irc_nickname = irc_nickname
- self.can_review = False
-
- def bugzilla_email(self):
- # FIXME: We're assuming the first email is a valid bugzilla email,
- # which might not be right.
- return self.emails[0]
-
- def __str__(self):
- return '"%s" <%s>' % (self.full_name, self.emails[0])
-
-
-class Reviewer(Committer):
-
- def __init__(self, name, email_or_emails, irc_nickname=None):
- Committer.__init__(self, name, email_or_emails, irc_nickname)
- self.can_review = True
-
-
-# This is intended as a canonical, machine-readable list of all non-reviewer
-# committers for WebKit. If your name is missing here and you are a committer,
-# please add it. No review needed. All reviewers are committers, so this list
-# is only of committers who are not reviewers.
-
-
-committers_unable_to_review = [
- Committer("Aaron Boodman", "aa@chromium.org", "aboodman"),
- Committer("Abhishek Arya", "inferno@chromium.org", "inferno-sec"),
- Committer("Adam Langley", "agl@chromium.org", "agl"),
- Committer("Albert J. Wong", "ajwong@chromium.org"),
- Committer("Alejandro G. Castro", ["alex@igalia.com", "alex@webkit.org"]),
- Committer("Alexander Kellett", ["lypanov@mac.com", "a-lists001@lypanov.net", "lypanov@kde.org"], "lypanov"),
- Committer("Alexander Pavlov", "apavlov@chromium.org", "apavlov"),
- Committer("Andre Boule", "aboule@apple.com"),
- Committer("Andrei Popescu", "andreip@google.com", "andreip"),
- Committer("Andrew Wellington", ["andrew@webkit.org", "proton@wiretapped.net"], "proton"),
- Committer("Andrey Kosyakov", "caseq@chromium.org", "caseq"),
- Committer("Andras Becsi", ["abecsi@webkit.org", "abecsi@inf.u-szeged.hu"], "bbandix"),
- Committer("Andy Estes", "aestes@apple.com", "estes"),
- Committer("Anthony Ricaud", "rik@webkit.org", "rik"),
- Committer("Anton Muhin", "antonm@chromium.org", "antonm"),
- Committer("Balazs Kelemen", "kbalazs@webkit.org", "kbalazs"),
- Committer("Ben Murdoch", "benm@google.com", "benm"),
- Committer("Benjamin C Meyer", ["ben@meyerhome.net", "ben@webkit.org"], "icefox"),
- Committer("Benjamin Otte", ["otte@gnome.org", "otte@webkit.org"], "otte"),
- Committer("Benjamin Poulain", ["benjamin.poulain@nokia.com", "ikipou@gmail.com"]),
- Committer("Brent Fulgham", "bfulgham@webkit.org", "bfulgham"),
- Committer("Brett Wilson", "brettw@chromium.org", "brettx"),
- Committer("Brian Weinstein", "bweinstein@apple.com", "bweinstein"),
- Committer("Cameron McCormack", "cam@webkit.org", "heycam"),
- Committer("Carol Szabo", "carol.szabo@nokia.com"),
- Committer("Chang Shu", "Chang.Shu@nokia.com"),
- Committer("Chris Evans", "cevans@google.com"),
- Committer("Chris Petersen", "cpetersen@apple.com", "cpetersen"),
- Committer("Chris Rogers", "crogers@google.com", "crogers"),
- Committer("Christian Dywan", ["christian@twotoasts.de", "christian@webkit.org"]),
- Committer("Collin Jackson", "collinj@webkit.org"),
- Committer("David Smith", ["catfish.man@gmail.com", "dsmith@webkit.org"], "catfishman"),
- Committer("Dean Jackson", "dino@apple.com", "dino"),
- Committer("Diego Gonzalez", ["diegohcg@webkit.org", "diego.gonzalez@openbossa.org"], "diegohcg"),
- Committer("Dirk Pranke", "dpranke@chromium.org"),
- Committer("Drew Wilson", "atwilson@chromium.org", "atwilson"),
- Committer("Eli Fidler", "eli@staikos.net", "QBin"),
- Committer("Enrica Casucci", "enrica@apple.com"),
- Committer("Erik Arvidsson", "arv@chromium.org", "arv"),
- Committer("Eric Roman", "eroman@chromium.org", "eroman"),
- Committer("Evan Martin", "evan@chromium.org", "evmar"),
- Committer("Evan Stade", "estade@chromium.org", "estade"),
- Committer("Fady Samuel", "fsamuel@chromium.org", "fsamuel"),
- Committer("Feng Qian", "feng@chromium.org"),
- Committer("Fumitoshi Ukai", "ukai@chromium.org", "ukai"),
- Committer("Gabor Loki", "loki@webkit.org", "loki04"),
- Committer("Girish Ramakrishnan", ["girish@forwardbias.in", "ramakrishnan.girish@gmail.com"]),
- Committer("Graham Dennis", ["Graham.Dennis@gmail.com", "gdennis@webkit.org"]),
- Committer("Greg Bolsinga", "bolsinga@apple.com"),
- Committer("Gyuyoung Kim", ["gyuyoung.kim@samsung.com", "gyuyoung@gmail.com", "gyuyoung@webkit.org"], "gyuyoung"),
- Committer("Hans Wennborg", "hans@chromium.org", "hwennborg"),
- Committer("Hayato Ito", "hayato@chromium.org", "hayato"),
- Committer("Hin-Chung Lam", ["hclam@google.com", "hclam@chromium.org"]),
- Committer("Ilya Tikhonovsky", "loislo@chromium.org", "loislo"),
- Committer("Jakob Petsovits", ["jpetsovits@rim.com", "jpetso@gmx.at"], "jpetso"),
- Committer("Jakub Wieczorek", "jwieczorek@webkit.org", "fawek"),
- Committer("James Hawkins", ["jhawkins@chromium.org", "jhawkins@google.com"], "jhawkins"),
- Committer("Jay Civelli", "jcivelli@chromium.org", "jcivelli"),
- Committer("Jens Alfke", ["snej@chromium.org", "jens@apple.com"]),
- Committer("Jer Noble", "jer.noble@apple.com", "jernoble"),
- Committer("Jeremy Moskovich", ["playmobil@google.com", "jeremy@chromium.org"], "jeremymos"),
- Committer("Jessie Berlin", ["jberlin@webkit.org", "jberlin@apple.com"]),
- Committer("Jesus Sanchez-Palencia", ["jesus@webkit.org", "jesus.palencia@openbossa.org"], "jeez_"),
- Committer("Jocelyn Turcotte", "jocelyn.turcotte@nokia.com", "jturcotte"),
- Committer("Jochen Eisinger", "jochen@chromium.org", "jochen__"),
- Committer("John Abd-El-Malek", "jam@chromium.org", "jam"),
- Committer("John Gregg", ["johnnyg@google.com", "johnnyg@chromium.org"], "johnnyg"),
- Committer("Joost de Valk", ["joost@webkit.org", "webkit-dev@joostdevalk.nl"], "Altha"),
- Committer("Julie Parent", ["jparent@google.com", "jparent@chromium.org"], "jparent"),
- Committer("Julien Chaffraix", ["jchaffraix@webkit.org", "julien.chaffraix@gmail.com"]),
- Committer("Jungshik Shin", "jshin@chromium.org"),
- Committer("Justin Schuh", "jschuh@chromium.org", "jschuh"),
- Committer("Keishi Hattori", "keishi@webkit.org", "keishi"),
- Committer("Kelly Norton", "knorton@google.com"),
- Committer("Kent Hansen", "kent.hansen@nokia.com", "khansen"),
- Committer("Kimmo Kinnunen", ["kimmo.t.kinnunen@nokia.com", "kimmok@iki.fi", "ktkinnun@webkit.org"], "kimmok"),
- Committer("Kinuko Yasuda", "kinuko@chromium.org", "kinuko"),
- Committer("Krzysztof Kowalczyk", "kkowalczyk@gmail.com"),
- Committer("Kwang Yul Seo", ["kwangyul.seo@gmail.com", "skyul@company100.net", "kseo@webkit.org"], "kwangseo"),
- Committer("Leandro Pereira", ["leandro@profusion.mobi", "leandro@webkit.org"], "acidx"),
- Committer("Levi Weintraub", "lweintraub@apple.com"),
- Committer("Lucas De Marchi", ["lucas.demarchi@profusion.mobi", "demarchi@webkit.org"], "demarchi"),
- Committer("Luiz Agostini", ["luiz@webkit.org", "luiz.agostini@openbossa.org"], "lca"),
- Committer("Mads Ager", "ager@chromium.org"),
- Committer("Marcus Voltis Bulach", "bulach@chromium.org"),
- Committer("Mario Sanchez Prada", ["msanchez@igalia.com", "mario@webkit.org"], "msanchez"),
- Committer("Matt Delaney", "mdelaney@apple.com"),
- Committer("Matt Lilek", ["webkit@mattlilek.com", "pewtermoose@webkit.org"]),
- Committer("Matt Perry", "mpcomplete@chromium.org"),
- Committer("Maxime Britto", ["maxime.britto@gmail.com", "britto@apple.com"]),
- Committer("Maxime Simon", ["simon.maxime@gmail.com", "maxime.simon@webkit.org"], "maxime.simon"),
- Committer("Michael Nordman", "michaeln@google.com", "michaeln"),
- Committer("Michael Saboff", "msaboff@apple.com"),
- Committer("Michelangelo De Simone", "michelangelo@webkit.org", "michelangelo"),
- Committer("Mihai Parparita", "mihaip@chromium.org", "mihaip"),
- Committer("Mike Belshe", ["mbelshe@chromium.org", "mike@belshe.com"]),
- Committer("Mike Fenton", ["mifenton@rim.com", "mike.fenton@torchmobile.com"], "mfenton"),
- Committer("Mike Thole", ["mthole@mikethole.com", "mthole@apple.com"]),
- Committer("Mikhail Naganov", "mnaganov@chromium.org"),
- Committer("MORITA Hajime", "morrita@google.com", "morrita"),
- Committer("Nico Weber", ["thakis@chromium.org", "thakis@google.com"], "thakis"),
- Committer("Noam Rosenthal", "noam.rosenthal@nokia.com", "noamr"),
- Committer("Pam Greene", "pam@chromium.org", "pamg"),
- Committer("Patrick Gansterer", ["paroga@paroga.com", "paroga@webkit.org"], "paroga"),
- Committer("Pavel Podivilov", "podivilov@chromium.org", "podivilov"),
- Committer("Peter Kasting", ["pkasting@google.com", "pkasting@chromium.org"], "pkasting"),
- Committer("Philippe Normand", ["pnormand@igalia.com", "philn@webkit.org"], "philn-tp"),
- Committer("Pierre d'Herbemont", ["pdherbemont@free.fr", "pdherbemont@apple.com"], "pdherbemont"),
- Committer("Pierre-Olivier Latour", "pol@apple.com", "pol"),
- Committer("Renata Hodovan", "reni@webkit.org", "reni"),
- Committer("Robert Hogan", ["robert@webkit.org", "robert@roberthogan.net", "lists@roberthogan.net"], "mwenge"),
- Committer("Roland Steiner", "rolandsteiner@chromium.org"),
- Committer("Ryosuke Niwa", "rniwa@webkit.org", "rniwa"),
- Committer("Satish Sampath", "satish@chromium.org"),
- Committer("Scott Violet", "sky@chromium.org", "sky"),
- Committer("Stephen White", "senorblanco@chromium.org", "senorblanco"),
- Committer("Tony Gentilcore", "tonyg@chromium.org", "tonyg-cr"),
- Committer("Trey Matteson", "trey@usa.net", "trey"),
- Committer("Tristan O'Tierney", ["tristan@otierney.net", "tristan@apple.com"]),
- Committer("Vangelis Kokkevis", "vangelis@chromium.org", "vangelis"),
- Committer("Victor Wang", "victorw@chromium.org", "victorw"),
- Committer("Vitaly Repeshko", "vitalyr@chromium.org"),
- Committer("William Siegrist", "wsiegrist@apple.com", "wms"),
- Committer("Xiaomei Ji", "xji@chromium.org", "xji"),
- Committer("Yael Aharon", "yael.aharon@nokia.com"),
- Committer("Yaar Schnitman", ["yaar@chromium.org", "yaar@google.com"]),
- Committer("Yong Li", ["yong.li.webkit@gmail.com", "yong.li@torchmobile.com"], "yong"),
- Committer("Yongjun Zhang", "yongjun.zhang@nokia.com"),
- Committer("Yuta Kitamura", "yutak@chromium.org", "yutak"),
- Committer("Yuzo Fujishima", "yuzo@google.com", "yuzo"),
- Committer("Zhenyao Mo", "zmo@google.com", "zhenyao"),
- Committer("Zoltan Herczeg", "zherczeg@webkit.org", "zherczeg"),
- Committer("Zoltan Horvath", ["zoltan@webkit.org", "hzoltan@inf.u-szeged.hu", "horvath.zoltan.6@stud.u-szeged.hu"], "zoltan"),
-]
-
-
-# This is intended as a canonical, machine-readable list of all reviewers for
-# WebKit. If your name is missing here and you are a reviewer, please add it.
-# No review needed.
-
-
-reviewers_list = [
- Reviewer("Ada Chan", "adachan@apple.com", "chanada"),
- Reviewer("Adam Barth", "abarth@webkit.org", "abarth"),
- Reviewer("Adam Roben", "aroben@apple.com", "aroben"),
- Reviewer("Adam Treat", ["treat@kde.org", "treat@webkit.org", "atreat@rim.com"], "manyoso"),
- Reviewer("Adele Peterson", "adele@apple.com", "adele"),
- Reviewer("Alexey Proskuryakov", ["ap@webkit.org", "ap@apple.com"], "ap"),
- Reviewer("Alice Liu", "alice.liu@apple.com", "aliu"),
- Reviewer("Alp Toker", ["alp@nuanti.com", "alp@atoker.com", "alp@webkit.org"], "alp"),
- Reviewer("Anders Carlsson", ["andersca@apple.com", "acarlsson@apple.com"], "andersca"),
- Reviewer("Andreas Kling", ["kling@webkit.org", "andreas.kling@nokia.com"], "kling"),
- Reviewer("Antonio Gomes", ["tonikitoo@webkit.org", "agomes@rim.com"], "tonikitoo"),
- Reviewer("Antti Koivisto", ["koivisto@iki.fi", "antti@apple.com", "antti.j.koivisto@nokia.com"], "anttik"),
- Reviewer("Ariya Hidayat", ["ariya.hidayat@gmail.com", "ariya@sencha.com", "ariya@webkit.org"], "ariya"),
- Reviewer("Beth Dakin", "bdakin@apple.com", "dethbakin"),
- Reviewer("Brady Eidson", "beidson@apple.com", "bradee-oh"),
- Reviewer("Cameron Zwarich", ["zwarich@apple.com", "cwzwarich@apple.com", "cwzwarich@webkit.org"]),
- Reviewer("Chris Blumenberg", "cblu@apple.com", "cblu"),
- Reviewer("Chris Marrin", "cmarrin@apple.com", "cmarrin"),
- Reviewer("Chris Fleizach", "cfleizach@apple.com", "cfleizach"),
- Reviewer("Chris Jerdonek", "cjerdonek@webkit.org", "cjerdonek"),
- Reviewer(u"Csaba Osztrogon\u00e1c", "ossy@webkit.org", "ossy"),
- Reviewer("Dan Bernstein", ["mitz@webkit.org", "mitz@apple.com"], "mitzpettel"),
- Reviewer("Daniel Bates", "dbates@webkit.org", "dydz"),
- Reviewer("Darin Adler", "darin@apple.com", "darin"),
- Reviewer("Darin Fisher", ["fishd@chromium.org", "darin@chromium.org"], "fishd"),
- Reviewer("David Harrison", "harrison@apple.com", "harrison"),
- Reviewer("David Hyatt", "hyatt@apple.com", "hyatt"),
- Reviewer("David Kilzer", ["ddkilzer@webkit.org", "ddkilzer@apple.com"], "ddkilzer"),
- Reviewer("David Levin", "levin@chromium.org", "dave_levin"),
- Reviewer("Dimitri Glazkov", "dglazkov@chromium.org", "dglazkov"),
- Reviewer("Dirk Schulze", "krit@webkit.org", "krit"),
- Reviewer("Dmitry Titov", "dimich@chromium.org", "dimich"),
- Reviewer("Don Melton", "gramps@apple.com", "gramps"),
- Reviewer("Dumitru Daniliuc", "dumi@chromium.org", "dumi"),
- Reviewer("Eric Carlson", "eric.carlson@apple.com"),
- Reviewer("Eric Seidel", "eric@webkit.org", "eseidel"),
- Reviewer("Gavin Barraclough", "barraclough@apple.com", "gbarra"),
- Reviewer("Geoffrey Garen", "ggaren@apple.com", "ggaren"),
- Reviewer("George Staikos", ["staikos@kde.org", "staikos@webkit.org"]),
- Reviewer("Gustavo Noronha Silva", ["gns@gnome.org", "kov@webkit.org", "gustavo.noronha@collabora.co.uk"], "kov"),
- Reviewer("Holger Freyther", ["zecke@selfish.org", "zecke@webkit.org"], "zecke"),
- Reviewer("James Robinson", ["jamesr@chromium.org", "jamesr@google.com"], "jamesr"),
- Reviewer("Jan Alonzo", ["jmalonzo@gmail.com", "jmalonzo@webkit.org"], "janm"),
- Reviewer("Jeremy Orlow", "jorlow@chromium.org", "jorlow"),
- Reviewer("Jian Li", "jianli@chromium.org", "jianli"),
- Reviewer("John Sullivan", "sullivan@apple.com", "sullivan"),
- Reviewer("Jon Honeycutt", "jhoneycutt@apple.com", "jhoneycutt"),
- Reviewer("Joseph Pecoraro", ["joepeck@webkit.org", "pecoraro@apple.com"], "JoePeck"),
- Reviewer("Justin Garcia", "justin.garcia@apple.com", "justing"),
- Reviewer("Ken Kocienda", "kocienda@apple.com"),
- Reviewer("Kenneth Rohde Christiansen", ["kenneth@webkit.org", "kenneth.christiansen@openbossa.org", "kenneth.christiansen@gmail.com"], "kenne"),
- Reviewer("Kenneth Russell", "kbr@google.com", "kbr_google"),
- Reviewer("Kent Tamura", "tkent@chromium.org", "tkent"),
- Reviewer("Kevin Decker", "kdecker@apple.com", "superkevin"),
- Reviewer("Kevin McCullough", "kmccullough@apple.com", "maculloch"),
- Reviewer("Kevin Ollivier", ["kevino@theolliviers.com", "kevino@webkit.org"], "kollivier"),
- Reviewer("Lars Knoll", ["lars@trolltech.com", "lars@kde.org", "lars.knoll@nokia.com"], "lars"),
- Reviewer("Laszlo Gombos", "laszlo.1.gombos@nokia.com", "lgombos"),
- Reviewer("Maciej Stachowiak", "mjs@apple.com", "othermaciej"),
- Reviewer("Mark Rowe", "mrowe@apple.com", "bdash"),
- Reviewer("Martin Robinson", ["mrobinson@webkit.org", "mrobinson@igalia.com", "martin.james.robinson@gmail.com"], "mrobinson"),
- Reviewer("Nate Chapin", "japhet@chromium.org", "japhet"),
- Reviewer("Nikolas Zimmermann", ["zimmermann@kde.org", "zimmermann@physik.rwth-aachen.de", "zimmermann@webkit.org"], "wildfox"),
- Reviewer("Ojan Vafai", "ojan@chromium.org", "ojan"),
- Reviewer("Oliver Hunt", "oliver@apple.com", "olliej"),
- Reviewer("Pavel Feldman", "pfeldman@chromium.org", "pfeldman"),
- Reviewer("Richard Williamson", "rjw@apple.com", "rjw"),
- Reviewer("Rob Buis", ["rwlbuis@gmail.com", "rwlbuis@webkit.org"], "rwlbuis"),
- Reviewer("Sam Weinig", ["sam@webkit.org", "weinig@apple.com"], "weinig"),
- Reviewer("Shinichiro Hamaji", "hamaji@chromium.org", "hamaji"),
- Reviewer("Simon Fraser", "simon.fraser@apple.com", "smfr"),
- Reviewer("Simon Hausmann", ["hausmann@webkit.org", "hausmann@kde.org", "simon.hausmann@nokia.com"], "tronical"),
- Reviewer("Stephanie Lewis", "slewis@apple.com", "sundiamonde"),
- Reviewer("Steve Block", "steveblock@google.com", "steveblock"),
- Reviewer("Steve Falkenburg", "sfalken@apple.com", "sfalken"),
- Reviewer("Tim Omernick", "timo@apple.com"),
- Reviewer("Timothy Hatcher", ["timothy@apple.com", "timothy@hatcher.name"], "xenon"),
- Reviewer("Tony Chang", "tony@chromium.org", "tony^work"),
- Reviewer(u"Tor Arne Vestb\u00f8", ["vestbo@webkit.org", "tor.arne.vestbo@nokia.com"], "torarne"),
- Reviewer("Vicki Murley", "vicki@apple.com"),
- Reviewer("Xan Lopez", ["xan.lopez@gmail.com", "xan@gnome.org", "xan@webkit.org"], "xan"),
- Reviewer("Yury Semikhatsky", "yurys@chromium.org", "yurys"),
- Reviewer("Zack Rusin", "zack@kde.org", "zackr"),
-]
-
-
-class CommitterList:
-
- # Committers and reviewers are passed in to allow easy testing
-
- def __init__(self,
- committers=committers_unable_to_review,
- reviewers=reviewers_list):
- self._committers = committers + reviewers
- self._reviewers = reviewers
- self._committers_by_email = {}
-
- def committers(self):
- return self._committers
-
- def reviewers(self):
- return self._reviewers
-
- def _email_to_committer_map(self):
- if not len(self._committers_by_email):
- for committer in self._committers:
- for email in committer.emails:
- self._committers_by_email[email] = committer
- return self._committers_by_email
-
- def committer_by_name(self, name):
- # This could be made into a hash lookup if callers need it to be fast.
- for committer in self.committers():
- if committer.full_name == name:
- return committer
-
- def committer_by_email(self, email):
- return self._email_to_committer_map().get(email)
-
- def reviewer_by_email(self, email):
- committer = self.committer_by_email(email)
- if committer and not committer.can_review:
- return None
- return committer
diff --git a/WebKitTools/Scripts/webkitpy/common/config/committers_unittest.py b/WebKitTools/Scripts/webkitpy/common/config/committers_unittest.py
deleted file mode 100644
index 068c0ee..0000000
--- a/WebKitTools/Scripts/webkitpy/common/config/committers_unittest.py
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright (C) 2009 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import unittest
-from webkitpy.common.config.committers import CommitterList, Committer, Reviewer
-
-class CommittersTest(unittest.TestCase):
-
- def test_committer_lookup(self):
- committer = Committer('Test One', 'one@test.com', 'one')
- reviewer = Reviewer('Test Two', ['two@test.com', 'two@rad.com', 'so_two@gmail.com'])
- committer_list = CommitterList(committers=[committer], reviewers=[reviewer])
-
- # Test valid committer and reviewer lookup
- self.assertEqual(committer_list.committer_by_email('one@test.com'), committer)
- self.assertEqual(committer_list.reviewer_by_email('two@test.com'), reviewer)
- self.assertEqual(committer_list.committer_by_email('two@test.com'), reviewer)
- self.assertEqual(committer_list.committer_by_email('two@rad.com'), reviewer)
- self.assertEqual(committer_list.reviewer_by_email('so_two@gmail.com'), reviewer)
-
- # Test valid committer and reviewer lookup
- self.assertEqual(committer_list.committer_by_name("Test One"), committer)
- self.assertEqual(committer_list.committer_by_name("Test Two"), reviewer)
- self.assertEqual(committer_list.committer_by_name("Test Three"), None)
-
- # Test that the first email is assumed to be the Bugzilla email address (for now)
- self.assertEqual(committer_list.committer_by_email('two@rad.com').bugzilla_email(), 'two@test.com')
-
- # Test that a known committer is not returned during reviewer lookup
- self.assertEqual(committer_list.reviewer_by_email('one@test.com'), None)
-
- # Test that unknown email address fail both committer and reviewer lookup
- self.assertEqual(committer_list.committer_by_email('bar@bar.com'), None)
- self.assertEqual(committer_list.reviewer_by_email('bar@bar.com'), None)
-
- # Test that emails returns a list.
- self.assertEqual(committer.emails, ['one@test.com'])
-
- self.assertEqual(committer.irc_nickname, 'one')
-
- # Test that committers returns committers and reviewers and reviewers() just reviewers.
- self.assertEqual(committer_list.committers(), [committer, reviewer])
- self.assertEqual(committer_list.reviewers(), [reviewer])
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/WebKitTools/Scripts/webkitpy/common/config/committervalidator.py b/WebKitTools/Scripts/webkitpy/common/config/committervalidator.py
deleted file mode 100644
index b7b2990..0000000
--- a/WebKitTools/Scripts/webkitpy/common/config/committervalidator.py
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Copyright (c) 2009 Apple Inc. All rights reserved.
-# Copyright (c) 2010 Research In Motion Limited. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import os
-
-from webkitpy.common.system.ospath import relpath
-from webkitpy.common.config import committers
-
-
-class CommitterValidator(object):
-
- def __init__(self, bugzilla):
- self._bugzilla = bugzilla
-
- # _view_source_url belongs in some sort of webkit_config.py module.
- def _view_source_url(self, local_path):
- return "http://trac.webkit.org/browser/trunk/%s" % local_path
-
- def _checkout_root(self):
- # FIXME: This is a hack, we would have this from scm.checkout_root
- # if we had any way to get to an scm object here.
- components = __file__.split(os.sep)
- tools_index = components.index("WebKitTools")
- return os.sep.join(components[:tools_index])
-
- def _committers_py_path(self):
- # extension can sometimes be .pyc, we always want .py
- (path, extension) = os.path.splitext(committers.__file__)
- # FIXME: When we're allowed to use python 2.6 we can use the real
- # os.path.relpath
- path = relpath(path, self._checkout_root())
- return ".".join([path, "py"])
-
- def _flag_permission_rejection_message(self, setter_email, flag_name):
- # Should come from some webkit_config.py
- contribution_guidlines = "http://webkit.org/coding/contributing.html"
- # This could be queried from the status_server.
- queue_administrator = "eseidel@chromium.org"
- # This could be queried from the tool.
- queue_name = "commit-queue"
- committers_list = self._committers_py_path()
- message = "%s does not have %s permissions according to %s." % (
- setter_email,
- flag_name,
- self._view_source_url(committers_list))
- message += "\n\n- If you do not have %s rights please read %s for instructions on how to use bugzilla flags." % (
- flag_name, contribution_guidlines)
- message += "\n\n- If you have %s rights please correct the error in %s by adding yourself to the file (no review needed). " % (
- flag_name, committers_list)
- message += "The %s restarts itself every 2 hours. After restart the %s will correctly respect your %s rights." % (
- queue_name, queue_name, flag_name)
- return message
-
- def _validate_setter_email(self, patch, result_key, rejection_function):
- committer = getattr(patch, result_key)()
- # If the flag is set, and we don't recognize the setter, reject the
- # flag!
- setter_email = patch._attachment_dictionary.get("%s_email" % result_key)
- if setter_email and not committer:
- rejection_function(patch.id(),
- self._flag_permission_rejection_message(setter_email,
- result_key))
- return False
- return True
-
- def _reject_patch_if_flags_are_invalid(self, patch):
- return (self._validate_setter_email(
- patch, "reviewer", self.reject_patch_from_review_queue)
- and self._validate_setter_email(
- patch, "committer", self.reject_patch_from_commit_queue))
-
- def patches_after_rejecting_invalid_commiters_and_reviewers(self, patches):
- return [patch for patch in patches if self._reject_patch_if_flags_are_invalid(patch)]
-
- def reject_patch_from_commit_queue(self,
- attachment_id,
- additional_comment_text=None):
- comment_text = "Rejecting patch %s from commit-queue." % attachment_id
- self._bugzilla.set_flag_on_attachment(attachment_id,
- "commit-queue",
- "-",
- comment_text,
- additional_comment_text)
-
- def reject_patch_from_review_queue(self,
- attachment_id,
- additional_comment_text=None):
- comment_text = "Rejecting patch %s from review queue." % attachment_id
- self._bugzilla.set_flag_on_attachment(attachment_id,
- 'review',
- '-',
- comment_text,
- additional_comment_text)
diff --git a/WebKitTools/Scripts/webkitpy/common/config/committervalidator_unittest.py b/WebKitTools/Scripts/webkitpy/common/config/committervalidator_unittest.py
deleted file mode 100644
index 61fa3bf..0000000
--- a/WebKitTools/Scripts/webkitpy/common/config/committervalidator_unittest.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright (C) 2010 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import unittest
-
-from .committervalidator import CommitterValidator
-
-
-class CommitterValidatorTest(unittest.TestCase):
- def test_flag_permission_rejection_message(self):
- validator = CommitterValidator(bugzilla=None)
- self.assertEqual(validator._committers_py_path(), "WebKitTools/Scripts/webkitpy/common/config/committers.py")
- expected_messsage = """foo@foo.com does not have review permissions according to http://trac.webkit.org/browser/trunk/WebKitTools/Scripts/webkitpy/common/config/committers.py.
-
-- If you do not have review rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.
-
-- If you have review rights please correct the error in WebKitTools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed). The commit-queue restarts itself every 2 hours. After restart the commit-queue will correctly respect your review rights."""
- self.assertEqual(validator._flag_permission_rejection_message("foo@foo.com", "review"), expected_messsage)
diff --git a/WebKitTools/Scripts/webkitpy/common/config/irc.py b/WebKitTools/Scripts/webkitpy/common/config/irc.py
deleted file mode 100644
index 950c573..0000000
--- a/WebKitTools/Scripts/webkitpy/common/config/irc.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-server="irc.freenode.net"
-port=6667
-channel="#webkit"
diff --git a/WebKitTools/Scripts/webkitpy/common/config/ports.py b/WebKitTools/Scripts/webkitpy/common/config/ports.py
deleted file mode 100644
index d268865..0000000
--- a/WebKitTools/Scripts/webkitpy/common/config/ports.py
+++ /dev/null
@@ -1,249 +0,0 @@
-# Copyright (C) 2009, Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# WebKit's Python module for understanding the various ports
-
-import os
-import platform
-
-from webkitpy.common.system.executive import Executive
-
-
-class WebKitPort(object):
-
- # We might need to pass scm into this function for scm.checkout_root
- @classmethod
- def script_path(cls, script_name):
- return os.path.join("WebKitTools", "Scripts", script_name)
-
- @staticmethod
- def port(port_name):
- ports = {
- "chromium": ChromiumPort,
- "chromium-xvfb": ChromiumXVFBPort,
- "gtk": GtkPort,
- "mac": MacPort,
- "win": WinPort,
- "qt": QtPort,
- "efl": EflPort,
- }
- default_port = {
- "Windows": WinPort,
- "Darwin": MacPort,
- }
- # Do we really need MacPort as the ultimate default?
- return ports.get(port_name, default_port.get(platform.system(), MacPort))
-
- @staticmethod
- def makeArgs():
- args = '--makeargs="-j%s"' % Executive().cpu_count()
- if os.environ.has_key('MAKEFLAGS'):
- args = '--makeargs="%s"' % os.environ['MAKEFLAGS']
- return args
-
- @classmethod
- def name(cls):
- raise NotImplementedError("subclasses must implement")
-
- @classmethod
- def flag(cls):
- raise NotImplementedError("subclasses must implement")
-
- @classmethod
- def update_webkit_command(cls):
- return [cls.script_path("update-webkit")]
-
- @classmethod
- def build_webkit_command(cls, build_style=None):
- command = [cls.script_path("build-webkit")]
- if build_style == "debug":
- command.append("--debug")
- if build_style == "release":
- command.append("--release")
- return command
-
- @classmethod
- def run_javascriptcore_tests_command(cls):
- return [cls.script_path("run-javascriptcore-tests")]
-
- @classmethod
- def run_webkit_tests_command(cls):
- return [cls.script_path("run-webkit-tests")]
-
- @classmethod
- def run_python_unittests_command(cls):
- return [cls.script_path("test-webkitpy")]
-
- @classmethod
- def run_perl_unittests_command(cls):
- return [cls.script_path("test-webkitperl")]
-
- @classmethod
- def layout_tests_results_path(cls):
- return "/tmp/layout-test-results/results.html"
-
-
-class MacPort(WebKitPort):
-
- @classmethod
- def name(cls):
- return "Mac"
-
- @classmethod
- def flag(cls):
- return "--port=mac"
-
- @classmethod
- def _system_version(cls):
- version_string = platform.mac_ver()[0] # e.g. "10.5.6"
- version_tuple = version_string.split('.')
- return map(int, version_tuple)
-
- @classmethod
- def is_leopard(cls):
- return tuple(cls._system_version()[:2]) == (10, 5)
-
-
-class WinPort(WebKitPort):
-
- @classmethod
- def name(cls):
- return "Win"
-
- @classmethod
- def flag(cls):
- # FIXME: This is lame. We should autogenerate this from a codename or something.
- return "--port=win"
-
-
-class GtkPort(WebKitPort):
-
- @classmethod
- def name(cls):
- return "Gtk"
-
- @classmethod
- def flag(cls):
- return "--port=gtk"
-
- @classmethod
- def build_webkit_command(cls, build_style=None):
- command = WebKitPort.build_webkit_command(build_style=build_style)
- command.append("--gtk")
- command.append(WebKitPort.makeArgs())
- return command
-
- @classmethod
- def run_webkit_tests_command(cls):
- command = WebKitPort.run_webkit_tests_command()
- command.append("--gtk")
- return command
-
-
-class QtPort(WebKitPort):
-
- @classmethod
- def name(cls):
- return "Qt"
-
- @classmethod
- def flag(cls):
- return "--port=qt"
-
- @classmethod
- def build_webkit_command(cls, build_style=None):
- command = WebKitPort.build_webkit_command(build_style=build_style)
- command.append("--qt")
- command.append(WebKitPort.makeArgs())
- return command
-
-
-class EflPort(WebKitPort):
-
- @classmethod
- def name(cls):
- return "Efl"
-
- @classmethod
- def flag(cls):
- return "--port=efl"
-
- @classmethod
- def build_webkit_command(cls, build_style=None):
- command = WebKitPort.build_webkit_command(build_style=build_style)
- command.append("--efl")
- command.append(WebKitPort.makeArgs())
- return command
-
-
-class ChromiumPort(WebKitPort):
-
- @classmethod
- def name(cls):
- return "Chromium"
-
- @classmethod
- def flag(cls):
- return "--port=chromium"
-
- @classmethod
- def update_webkit_command(cls):
- command = WebKitPort.update_webkit_command()
- command.append("--chromium")
- return command
-
- @classmethod
- def build_webkit_command(cls, build_style=None):
- command = WebKitPort.build_webkit_command(build_style=build_style)
- command.append("--chromium")
- return command
-
- @classmethod
- def run_webkit_tests_command(cls):
- return [
- cls.script_path("new-run-webkit-tests"),
- "--chromium",
- "--use-drt",
- "--no-pixel-tests",
- ]
-
- @classmethod
- def run_javascriptcore_tests_command(cls):
- return None
-
-
-class ChromiumXVFBPort(ChromiumPort):
-
- @classmethod
- def flag(cls):
- return "--port=chromium-xvfb"
-
- @classmethod
- def run_webkit_tests_command(cls):
- # FIXME: We should find a better way to do this.
- return ["xvfb-run"] + ChromiumPort.run_webkit_tests_command()
diff --git a/WebKitTools/Scripts/webkitpy/common/config/ports_unittest.py b/WebKitTools/Scripts/webkitpy/common/config/ports_unittest.py
deleted file mode 100644
index 3bdf0e6..0000000
--- a/WebKitTools/Scripts/webkitpy/common/config/ports_unittest.py
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2009, Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import unittest
-
-from webkitpy.common.config.ports import *
-
-
-class WebKitPortTest(unittest.TestCase):
- def test_mac_port(self):
- self.assertEquals(MacPort.name(), "Mac")
- self.assertEquals(MacPort.flag(), "--port=mac")
- self.assertEquals(MacPort.run_webkit_tests_command(), [WebKitPort.script_path("run-webkit-tests")])
- self.assertEquals(MacPort.build_webkit_command(), [WebKitPort.script_path("build-webkit")])
- self.assertEquals(MacPort.build_webkit_command(build_style="debug"), [WebKitPort.script_path("build-webkit"), "--debug"])
- self.assertEquals(MacPort.build_webkit_command(build_style="release"), [WebKitPort.script_path("build-webkit"), "--release"])
-
- class TestIsLeopard(MacPort):
- @classmethod
- def _system_version(cls):
- return [10, 5]
- self.assertTrue(TestIsLeopard.is_leopard())
-
- def test_gtk_port(self):
- self.assertEquals(GtkPort.name(), "Gtk")
- self.assertEquals(GtkPort.flag(), "--port=gtk")
- self.assertEquals(GtkPort.run_webkit_tests_command(), [WebKitPort.script_path("run-webkit-tests"), "--gtk"])
- self.assertEquals(GtkPort.build_webkit_command(), [WebKitPort.script_path("build-webkit"), "--gtk", WebKitPort.makeArgs()])
- self.assertEquals(GtkPort.build_webkit_command(build_style="debug"), [WebKitPort.script_path("build-webkit"), "--debug", "--gtk", WebKitPort.makeArgs()])
-
- def test_qt_port(self):
- self.assertEquals(QtPort.name(), "Qt")
- self.assertEquals(QtPort.flag(), "--port=qt")
- self.assertEquals(QtPort.run_webkit_tests_command(), [WebKitPort.script_path("run-webkit-tests")])
- self.assertEquals(QtPort.build_webkit_command(), [WebKitPort.script_path("build-webkit"), "--qt", WebKitPort.makeArgs()])
- self.assertEquals(QtPort.build_webkit_command(build_style="debug"), [WebKitPort.script_path("build-webkit"), "--debug", "--qt", WebKitPort.makeArgs()])
-
- def test_chromium_port(self):
- self.assertEquals(ChromiumPort.name(), "Chromium")
- self.assertEquals(ChromiumPort.flag(), "--port=chromium")
- self.assertEquals(ChromiumPort.run_webkit_tests_command(), [WebKitPort.script_path("new-run-webkit-tests"), "--chromium", "--use-drt", "--no-pixel-tests"])
- self.assertEquals(ChromiumPort.build_webkit_command(), [WebKitPort.script_path("build-webkit"), "--chromium"])
- self.assertEquals(ChromiumPort.build_webkit_command(build_style="debug"), [WebKitPort.script_path("build-webkit"), "--debug", "--chromium"])
- self.assertEquals(ChromiumPort.update_webkit_command(), [WebKitPort.script_path("update-webkit"), "--chromium"])
-
- def test_chromium_xvfb_port(self):
- self.assertEquals(ChromiumXVFBPort.run_webkit_tests_command(), ["xvfb-run", "WebKitTools/Scripts/new-run-webkit-tests", "--chromium", "--use-drt", "--no-pixel-tests"])
-
-if __name__ == '__main__':
- unittest.main()