Fixing WebRTC after moving from src/webrtc to src/

In https://webrtc-review.googlesource.com/c/src/+/1560 we moved WebRTC
from src/webrtc to src/ (in order to preserve an healthy git history).
This CL takes care of fixing header guards, #include paths, etc...

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org


Bug: chromium:611808
Change-Id: Iea91618212bee0af16aa3f05071eab8f93706578
Reviewed-on: https://webrtc-review.googlesource.com/1561
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19846}
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index 927869f..66d6892 100755
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -15,29 +15,29 @@
 
 # Files and directories that are *skipped* by cpplint in the presubmit script.
 CPPLINT_BLACKLIST = [
+  'api/video_codecs/video_decoder.h',
+  'common_types.cc',
+  'common_types.h',
+  'examples/objc',
+  'media',
+  'modules/audio_coding',
+  'modules/audio_conference_mixer',
+  'modules/audio_device',
+  'modules/audio_processing',
+  'modules/desktop_capture',
+  'modules/include/module_common_types.h',
+  'modules/media_file',
+  'modules/utility',
+  'modules/video_capture',
+  'p2p',
+  'pc',
+  'rtc_base',
+  'sdk/android/src/jni',
+  'sdk/objc',
+  'system_wrappers',
+  'test',
   'tools_webrtc',
-  'webrtc/api/video_codecs/video_decoder.h',
-  'webrtc/examples/objc',
-  'webrtc/media',
-  'webrtc/modules/audio_coding',
-  'webrtc/modules/audio_conference_mixer',
-  'webrtc/modules/audio_device',
-  'webrtc/modules/audio_processing',
-  'webrtc/modules/desktop_capture',
-  'webrtc/modules/include/module_common_types.h',
-  'webrtc/modules/media_file',
-  'webrtc/modules/utility',
-  'webrtc/modules/video_capture',
-  'webrtc/p2p',
-  'webrtc/pc',
-  'webrtc/rtc_base',
-  'webrtc/sdk/android/src/jni',
-  'webrtc/sdk/objc',
-  'webrtc/system_wrappers',
-  'webrtc/test',
-  'webrtc/voice_engine',
-  'webrtc/common_types.h',
-  'webrtc/common_types.cc',
+  'voice_engine',
 ]
 
 # These filters will always be removed, even if the caller specifies a filter
@@ -62,34 +62,33 @@
 #    webrtc-users@google.com (internal list).
 # 4. (later) The deprecated APIs are removed.
 NATIVE_API_DIRS = (
-  'webrtc',
-  'webrtc/api',
-  'webrtc/media',
-  'webrtc/modules/audio_device/include',
-  'webrtc/pc',
+  'api',
+  'media',
+  'modules/audio_device/include',
+  'pc',
 )
 # These directories should not be used but are maintained only to avoid breaking
 # some legacy downstream code.
 LEGACY_API_DIRS = (
-  'webrtc/common_audio/include',
-  'webrtc/modules/audio_coding/include',
-  'webrtc/modules/audio_conference_mixer/include',
-  'webrtc/modules/audio_processing/include',
-  'webrtc/modules/bitrate_controller/include',
-  'webrtc/modules/congestion_controller/include',
-  'webrtc/modules/include',
-  'webrtc/modules/remote_bitrate_estimator/include',
-  'webrtc/modules/rtp_rtcp/include',
-  'webrtc/modules/rtp_rtcp/source',
-  'webrtc/modules/utility/include',
-  'webrtc/modules/video_coding/codecs/h264/include',
-  'webrtc/modules/video_coding/codecs/i420/include',
-  'webrtc/modules/video_coding/codecs/vp8/include',
-  'webrtc/modules/video_coding/codecs/vp9/include',
-  'webrtc/modules/video_coding/include',
-  'webrtc/rtc_base',
-  'webrtc/system_wrappers/include',
-  'webrtc/voice_engine/include',
+  'common_audio/include',
+  'modules/audio_coding/include',
+  'modules/audio_conference_mixer/include',
+  'modules/audio_processing/include',
+  'modules/bitrate_controller/include',
+  'modules/congestion_controller/include',
+  'modules/include',
+  'modules/remote_bitrate_estimator/include',
+  'modules/rtp_rtcp/include',
+  'modules/rtp_rtcp/source',
+  'modules/utility/include',
+  'modules/video_coding/codecs/h264/include',
+  'modules/video_coding/codecs/i420/include',
+  'modules/video_coding/codecs/vp8/include',
+  'modules/video_coding/codecs/vp9/include',
+  'modules/video_coding/include',
+  'rtc_base',
+  'system_wrappers/include',
+  'voice_engine/include',
 )
 API_DIRS = NATIVE_API_DIRS[:] + LEGACY_API_DIRS[:]
 
@@ -331,8 +330,7 @@
   cwd = input_api.PresubmitLocalPath()
   script_path = os.path.join('tools_webrtc', 'presubmit_checks_lib',
                              'check_package_boundaries.py')
-  webrtc_path = os.path.join('webrtc')
-  command = [sys.executable, script_path, webrtc_path]
+  command = [sys.executable, script_path]
   command += [gn_file.LocalPath() for gn_file in gn_files]
   returncode, _, stderr = _RunCommand(command, cwd)
   if returncode:
@@ -347,8 +345,7 @@
 
   gn_files = []
   for f in input_api.AffectedSourceFiles(source_file_filter):
-    if f.LocalPath().startswith('webrtc'):
-      gn_files.append(f)
+    gn_files.append(f)
 
   result = []
   if gn_files:
@@ -494,9 +491,9 @@
 
   test_directories = [
       input_api.PresubmitLocalPath(),
-      Join('webrtc', 'rtc_tools', 'py_event_log_analyzer'),
-      Join('webrtc', 'rtc_tools'),
-      Join('webrtc', 'audio', 'test', 'unittests'),
+      Join('rtc_tools', 'py_event_log_analyzer'),
+      Join('rtc_tools'),
+      Join('audio', 'test', 'unittests'),
   ] + [
       root for root, _, files in os.walk(Join('tools_webrtc'))
       if any(f.endswith('_test.py') for f in files)
@@ -517,7 +514,7 @@
   """Checks that the namespace google::protobuf has not been used."""
   files = []
   pattern = input_api.re.compile(r'google::protobuf')
-  proto_utils_path = os.path.join('webrtc', 'rtc_base', 'protobuf_utils.h')
+  proto_utils_path = os.path.join('rtc_base', 'protobuf_utils.h')
   for f in input_api.AffectedSourceFiles(input_api.FilterSourceFile):
     if f.LocalPath() in [proto_utils_path, 'PRESUBMIT.py']:
       continue
@@ -533,6 +530,28 @@
   return []
 
 
+def _LicenseHeader(input_api):
+  """Returns the license header regexp."""
+  # Accept any year number from 2003 to the current year
+  current_year = int(input_api.time.strftime('%Y'))
+  allowed_years = (str(s) for s in reversed(xrange(2003, current_year + 1)))
+  years_re = '(' + '|'.join(allowed_years) + ')'
+  license_header = (
+      r'.*? Copyright( \(c\))? %(year)s The WebRTC [Pp]roject [Aa]uthors\. '
+        r'All [Rr]ights [Rr]eserved\.\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': years_re,
+  }
+  return license_header
+
+
 def CommonChecks(input_api, output_api):
   """Checks common to both upload and commit."""
   results = []
@@ -541,11 +560,12 @@
   black_list = input_api.DEFAULT_BLACK_LIST + (
     r".*\bobjc[\\\/].*",
     r".*objc\.[hcm]+$",
-    r"webrtc\/build\/ios\/SDK\/.*",
   )
   source_file_filter = lambda x: input_api.FilterSourceFile(x, None, black_list)
   results.extend(CheckApprovedFilesLintClean(
       input_api, output_api, source_file_filter))
+  results.extend(input_api.canned_checks.CheckLicense(
+      input_api, output_api, _LicenseHeader(input_api)))
   results.extend(input_api.canned_checks.RunPylint(input_api, output_api,
       black_list=(r'^base[\\\/].*\.py$',
                   r'^build[\\\/].*\.py$',
@@ -599,8 +619,13 @@
   results.extend(CheckJSONParseErrors(input_api, output_api))
   results.extend(RunPythonTests(input_api, output_api))
   results.extend(CheckUsageOfGoogleProtobufNamespace(input_api, output_api))
-  results.extend(CheckOrphanHeaders(input_api, output_api))
-  results.extend(CheckNewLineAtTheEndOfProtoFiles(input_api, output_api))
+  # TODO(mbonadei): re-enable after the migration from src/webrtc to src/
+  #   in order to avoid to trigger an error for each orphan header (we are
+  #   moving all of them).
+  # results.extend(CheckOrphanHeaders(input_api, output_api))
+  # TODO(mbonadei): check before re-enable because it seems it is reporting
+  #   some false positives.
+  # results.extend(CheckNewLineAtTheEndOfProtoFiles(input_api, output_api))
   return results