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