Commit graph

11 commits

Author SHA1 Message Date
Mirko Bonadei
ccbe95fd8a Reformat GN files.
`gn format` recently [1] changed its formatting behavior
for deps, source, and a few other elements when they
are assigned (with =) single-element lists to be consistent
with the formatting of updates (with +=) with single-element.

Now that we've rolled in a GN binary with the change,
reformat all files so that people don't get presubmit
warnings due to this.

CL generated with:
$ git ls-files | grep BUILD.gn | xargs gn format
$ gn format build_overrides/build.gni
$ gn format build_overrides/gtest.gni
$ gn format modules/audio_coding/audio_coding.gni
$ gn format webrtc.gni
$ gn format .gn

Plus a few manual changes to add exceptions for
"public_deps" (after changing these lines the presubmit
started to complain).

[1] - https://gn-review.googlesource.com/c/gn/+/6860

Bug: webrtc:11302
Change-Id: Iac29d23c1618ebef925c972e2891cd9f4e8cd613
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166882
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30334}
2020-01-21 12:13:11 +00:00
Mirko Bonadei
b7dc45f8e8 Update check_package_boundaries.
Before reformatting GN files (see [1] for why this is needed), the
presubmit check to ensure targets are not violating package boundaries
needs to be fixed because its regular expressions don't always work with
the new format.

This CL removes the parsing of line numbers to relax the regular
expressions without losing any functionality.

Error before this CL:
***************
<PATH>/webrtc/src/BUILD.gn:674 in target 'android_junit_tests':
  Source file 'examples/androidjunit/src/org/appspot/apprtc/BluetoothManagerTest.java'
  crosses boundary of package 'examples'.

<PATH>/webrtc/src/BUILD.gn:675 in target 'android_junit_tests':
  Source file 'examples/androidjunit/src/org/appspot/apprtc/DirectRTCClientTest.java'
  crosses boundary of package 'examples'.

<PATH>/webrtc/src/BUILD.gn:676 in target 'android_junit_tests':
  Source file 'examples/androidjunit/src/org/appspot/apprtc/TCPChannelClientTest.java'
  crosses boundary of package 'examples'.

<PATH>/webrtc/src/BUILD.gn:677 in target 'android_junit_tests':
  Source file 'sdk/android/tests/src/org/webrtc/AndroidVideoDecoderTest.java'
  crosses boundary of package 'sdk'.

<PATH>/webrtc/src/BUILD.gn:678 in target 'android_junit_tests':
  Source file 'sdk/android/tests/src/org/webrtc/CameraEnumerationTest.java'
  crosses boundary of package 'sdk'.
***************


Error after this CL:
***************
<PATH>/webrtc/src/BUILD.gn in target 'android_junit_tests':
  Source file 'examples/androidjunit/src/org/appspot/apprtc/BluetoothManagerTest.java'
  crosses boundary of package 'examples'.

<PATH>/webrtc/src/BUILD.gn in target 'android_junit_tests':
  Source file 'examples/androidjunit/src/org/appspot/apprtc/DirectRTCClientTest.java'
  crosses boundary of package 'examples'.

<PATH>/webrtc/src/BUILD.gn in target 'android_junit_tests':
  Source file 'examples/androidjunit/src/org/appspot/apprtc/TCPChannelClientTest.java'
  crosses boundary of package 'examples'.

<PATH>/webrtc/src/BUILD.gn in target 'android_junit_tests':
  Source file 'sdk/android/tests/src/org/webrtc/AndroidVideoDecoderTest.java'
  crosses boundary of package 'sdk'.

<PATH>/webrtc/src/BUILD.gn in target 'android_junit_tests':
  Source file 'sdk/android/tests/src/org/webrtc/CameraEnumerationTest.java'
  crosses boundary of package 'sdk'.
***************


[1] - https://gn-review.googlesource.com/c/gn/+/6860

Bug: webrtc:11302
Change-Id: Ia39387d089a0c56a2c3ad9a7264c20eb5a38ac93
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166535
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30331}
2020-01-21 11:06:40 +00:00
Mirko Bonadei
86d053c2db Use source_sets in component builds and static_library in release builds.
Static libraries don't guarantee that an exported symbol gets linked
into a shared library (and in order to support Chromium's component
build mode, WebRTC needs to be linked as a shared library).

Source sets always pass all the object files to the linker.

On the flip side, source_sets link more object files in release builds
and to avoid this, this CL introduces a the GN template "rtc_library" that
expands to static_library during release builds and to source_set during
component builds.

See: https://gn.googlesource.com/gn/+/master/docs/reference.md#func_source_set

Bug: webrtc:9419
Change-Id: I4667e820c2b3fcec417becbd2034acc13e4f04fe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157168
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#29525}
2019-10-17 21:17:18 +00:00
Artem Titov
42f0d78f1e Roll back checking in the third_party directory
This goes back to using a subtree mirror of Chromium's third_party directory (managed by gclient).

The related scripts for syncing the files are also deleted.

The plan is to solve the conflict by creating third_party directories in subdirectories of WebRTC rather than the repo root.

Bug: webrtc:8366
Change-Id: I0b9f6a86c6d4075e2fa12c2db19aa54682ddb11f
Reviewed-on: https://webrtc-review.googlesource.com/85300
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23757}
2018-06-27 13:04:08 +00:00
Artem Titov
e92675b5c4 Reland: Add presubmit check for changes in 3pp
Reland of CL https://webrtc-review.googlesource.com/c/src/+/77421

Copied description:
--
Add presubmit check for changes in 3pp

Presubmit check will test will new changes be overriden by autoroll
or not. In more details presubmit will check:
1. Each dependency in third_party have to be specified in one of:
   a. THIRD_PARTY_CHROMIUM_DEPS.json
   b. THIRD_PARTY_WEBRTC_DEPS.json
2. Each dependency not specified in both files from #1
3. Changes won't be overriden by chromium third_party deps autoroll:
   a. Changes were made in WebRTC owned dependency
   b. Changes were addition of new Chromium owned dependency
--
Also if commit message contains tag NO_AUTOIMPORT_DEPS_CHECK equal
to True, than changes in chromium specific deps will be permitted.
It is required for autoroller to be able to commit its changes and
not to fail on presubmit check.

Bug: webrtc:8366
Change-Id: I545a4778445855cf3db7cf257ca0cb63753aac06
Reviewed-on: https://webrtc-review.googlesource.com/78042
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23348}
2018-05-22 13:11:18 +00:00
Artem Titov
b5750eb963 Revert "Add presubmit check for changes in 3pp"
This reverts commit 4103b38350.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Add presubmit check for changes in 3pp
> 
> Presubmit check will test will new changes be overriden by autoroll
> or not. In more details presubmit will check:
> 1. Each dependency in third_party have to be specified in one of:
>    a. THIRD_PARTY_CHROMIUM_DEPS.json
>    b. THIRD_PARTY_WEBRTC_DEPS.json
> 2. Each dependency not specified in both files from #1
> 3. Changes won't be overriden by chromium third_party deps autoroll:
>    a. Changes were made in WebRTC owned dependency
>    b. Changes were addition of new Chromium owned dependency
> 
> Bug: webrtc:8366
> Change-Id: Ic5db24289e7fa461e0959f75cfbe81ecc65af4b5
> Reviewed-on: https://webrtc-review.googlesource.com/77421
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23301}

TBR=phoglund@webrtc.org,kwiberg@webrtc.org,titovartem@webrtc.org

Change-Id: Ib016ee4ac58729c2c0d302a964dbac71b4ae64af
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8366
Reviewed-on: https://webrtc-review.googlesource.com/77780
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23302}
2018-05-18 12:46:26 +00:00
Artem Titov
4103b38350 Add presubmit check for changes in 3pp
Presubmit check will test will new changes be overriden by autoroll
or not. In more details presubmit will check:
1. Each dependency in third_party have to be specified in one of:
   a. THIRD_PARTY_CHROMIUM_DEPS.json
   b. THIRD_PARTY_WEBRTC_DEPS.json
2. Each dependency not specified in both files from #1
3. Changes won't be overriden by chromium third_party deps autoroll:
   a. Changes were made in WebRTC owned dependency
   b. Changes were addition of new Chromium owned dependency

Bug: webrtc:8366
Change-Id: Ic5db24289e7fa461e0959f75cfbe81ecc65af4b5
Reviewed-on: https://webrtc-review.googlesource.com/77421
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23301}
2018-05-18 12:39:26 +00:00
Oleh Prypin
920b653c31 Add gn check presubmit
This runs `gn gen --check` with default args to detect mismatches between
#includes and dependencies in the BUILD.gn files, as well as general build
errors. Run this before uploading a CL for early detection, otherwise such
errors will cause per-platform try jobs to fail.

Bug: webrtc:8279
Change-Id: Ib87e2e3f40b8d1146ea5c1202fb113508a3f05e3
Reviewed-on: https://webrtc-review.googlesource.com/5482
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20208}
2017-10-09 12:38:17 +00:00
Oleh Prypin
2f33a5671e Simplify PRESUBMIT.py and check_package_boundaries.py
Bug: webrtc:6954
Change-Id: Ia93eb8cc8a13bdcba5217fd8d52b72defa108b2f
Reviewed-on: https://webrtc-review.googlesource.com/6021
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20158}
2017-10-05 09:24:30 +00:00
Oleh Prypin
afe016501e Fix bugs in check_package_boundaries.py presubmit
It was not producing any results on presubmit for 2 reasons:
- The list of modified GN files contained relative paths but the list
  of all GN files contains absolute paths.
- The root directory was not passed to the script and the path of the
  first file substituted it.

Fix potential problem with using unescaped names in a regex.

Blacklist testdata directory with intentionally bad BUILD.gn files.

NOTRY=True

Bug: webrtc:6954
Change-Id: Ib0b845b9440b594960bc8a656e8a84d2ccb4a684
Reviewed-on: https://webrtc-review.googlesource.com/5981
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20149}
2017-10-04 18:11:24 +00:00
mbonadei
ab587dc9a4 Moving check_package_boundaries to the presubmit checks directory
Since we now have a directory for this kind of checks, let's move this
to that location.

BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2870393006
Cr-Commit-Position: refs/heads/master@{#18122}
2017-05-12 11:13:31 +00:00