Try server and buildbot scripts now using Chromium scripts.
- compatible with depot_tools try commands.
- old build master is converted to use Chromium scripts, according to
http://www.chromium.org/developers/testing/chromium-build-infrastructure/getting-the-buildbot-source/forking-your-buildbot
- slaves can now be run out of a plain checkout, no local configuration needed.
Also added files to make it possible to use tools as a separate checkout.
BUG=None
TEST=Runs on local machine with remote slaves. I've successfully submitted try jobs with both git try and gcl try commands.
Review URL: https://webrtc-codereview.appspot.com/449011
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1945 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/tools/PRESUBMIT.py b/tools/PRESUBMIT.py
new file mode 100644
index 0000000..5e2faaf
--- /dev/null
+++ b/tools/PRESUBMIT.py
@@ -0,0 +1,58 @@
+# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
+#
+# Use of this source code is governed by a BSD-style license
+# that can be found in the LICENSE file in the root of the source
+# tree. An additional intellectual property rights grant can be found
+# in the file PATENTS. All contributing project authors may
+# be found in the AUTHORS file in the root of the source tree.
+
+def _LicenseHeader(input_api):
+ """Returns the license header regexp."""
+ license_header = (
+ r'.*? Copyright \(c\) %(year)s The WebRTC project authors\. '
+ r'All Rights Reserved\.\n'
+ r'.*?\n'
+ r'.*? Use of this source code is governed by a BSD-style license\n'
+ r'.*? that can be found in the LICENSE file in the root of the source\n'
+ r'.*? tree\. An additional intellectual property rights grant can be '
+ r'found\n'
+ r'.*? in the file PATENTS\. All contributing project authors may\n'
+ r'.*? be found in the AUTHORS file in the root of the source tree\.\n'
+ ) % {
+ 'year': input_api.time.strftime('%Y'),
+ }
+ return license_header
+
+def _CommonChecks(input_api, output_api):
+ """Checks common to both upload and commit."""
+ results = []
+ results.extend(input_api.canned_checks.CheckLongLines(
+ input_api, output_api))
+ results.extend(input_api.canned_checks.CheckChangeHasNoTabs(
+ input_api, output_api))
+ results.extend(input_api.canned_checks.CheckChangeHasNoStrayWhitespace(
+ input_api, output_api))
+ results.extend(input_api.canned_checks.CheckChangeTodoHasOwner(
+ input_api, output_api))
+ results.extend(input_api.canned_checks.CheckLicense(
+ input_api, output_api, _LicenseHeader(input_api)))
+ return results
+
+def CheckChangeOnUpload(input_api, output_api):
+ results = []
+ results.extend(_CommonChecks(input_api, output_api))
+ return results
+
+def CheckChangeOnCommit(input_api, output_api):
+ results = []
+ results.extend(_CommonChecks(input_api, output_api))
+ results.extend(input_api.canned_checks.CheckOwners(input_api, output_api))
+ results.extend(input_api.canned_checks.CheckChangeWasUploaded(
+ input_api, output_api))
+ results.extend(input_api.canned_checks.CheckChangeHasDescription(
+ input_api, output_api))
+ results.extend(input_api.canned_checks.CheckChangeHasBugField(
+ input_api, output_api))
+ results.extend(input_api.canned_checks.CheckChangeHasTestField(
+ input_api, output_api))
+ return results