1# Copyright (c) 2012 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5"""List of directories which are known issues for Android WebView.
6
7There are a number of directories in the Chromium tree which should be removed
8when merging into Android. Some are for licensing reasons; others are to ensure
9that the build inside the Android tree does not accidentally include the wrong
10headers.
11
12This is not used by the webview_licenses tool itself; it is effectively a
13"cache" of the output of webview_licenses.GetIncompatibleDirectories() for the
14subset of repositories that WebView needs.
15
16We store a copy here because GetIncompatibleDirectories() doesn't work properly
17after things have been removed from the tree - it can no longer see the
18README.chromium files for previously-removed directories, but they may have
19newly added files in them. As long as this list is up to date, we can remove the
20things listed first, and then just run the tool afterwards to validate that it
21was sufficient. If the tool returns any extra directories then the snapshotting
22process will stop and this list must be updated.
23
24"""
25
26# If there is a temporary license-related issue with a particular third_party
27# directory, please put it here, with a comment linking to the bug entry.
28KNOWN_ISSUES = [
29]
30
31KNOWN_INCOMPATIBLE = {
32    '.': [
33        # Incompatibly licensed code from the main chromium src/ directory.
34        'base/third_party/xdg_mime',
35        'breakpad',
36        'chrome/installer/mac/third_party/xz',
37        'chrome/test/data',
38        'third_party/apple_apsl',
39        'third_party/apple_sample_code',
40        'third_party/bsdiff',
41        'third_party/bspatch',
42        'third_party/elfutils',
43        'third_party/instrumented_libraries',
44        'third_party/liblouis',
45        'third_party/speech-dispatcher',
46        'third_party/sudden_motion_sensor',
47        'third_party/swiftshader',
48        'third_party/talloc',
49        'third_party/webdriver',
50        'third_party/wtl',
51        'tools/telemetry/third_party/websocket-client',
52
53        # Code we don't want to build/include by accident from the main chromium
54        # src/ directory.
55        'third_party/libjpeg/*.[ch]',
56    ],
57    'third_party/icu': [
58        # Incompatible code from ICU's repository.
59        'source/data/brkitr',
60    ],
61}
62
63KNOWN_INCOMPATIBLE['.'].extend(KNOWN_ISSUES)
64