Commit 455e3ec1 authored by yutak's avatar yutak Committed by Commit bot

Revert of Enable whitelisting for targets other than libchrome. (patchset #2...

Revert of Enable whitelisting for targets other than libchrome. (patchset #2 id:90001 of https://codereview.chromium.org/2344063002/ )

Reason for revert:
Still causing GN errors on Google Chrome bots
(Win, Linux, and ChromeOS).

https://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20Win/builds/10926

C:\b\c\b\win_chrome\src\buildtools\win\gn.exe gen //out/Release --check
  -> returned 1
ERROR at //chrome/BUILD.gn:1358:19: Assignment had no effect.
    public_deps = [
                  ^
You set the variable "public_deps" here and it was unused before it went
out of scope.
See //BUILD.gn:211:7: which caused the file to be included.
      "//chrome",
      ^---------
GN gen failed: 1
step returned non-zero exit code: 1

Original issue's description:
> Reland of Enable whitelisting for targets other than libchrome.
>
> Reverted in:
> https://codereview.chromium.org/2348643002/
>
> Reason for revert:
> Fixed gn gen errror
>
> This will allow monochrome to easily define its own set of the same
> targets with a different resource whitelist
>
> TBR=brettw@chromium.org,miu@chromium.org
> BUG=641032
>
> Committed: https://crrev.com/26cf65711c693aac13c897b67d0e138c3ee42ece
> Cr-Commit-Position: refs/heads/master@{#419074}

TBR=brettw@chromium.org,miu@chromium.org,agrieve@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=641032

Review-Url: https://codereview.chromium.org/2342243003
Cr-Commit-Position: refs/heads/master@{#419100}
parent 291fc0ce
...@@ -11,13 +11,17 @@ import("//build/config/sanitizers/sanitizers.gni") ...@@ -11,13 +11,17 @@ import("//build/config/sanitizers/sanitizers.gni")
import("//build/config/ui.gni") import("//build/config/ui.gni")
import("//build/config/win/console_app.gni") import("//build/config/win/console_app.gni")
import("//build/config/win/manifest.gni") import("//build/config/win/manifest.gni")
import("//chrome/chrome_paks.gni") import("//chrome/chrome_repack_locales.gni")
import("//chrome/common/features.gni") import("//chrome/common/features.gni")
import("//chrome/version.gni") import("//chrome/version.gni")
import("//third_party/widevine/cdm/widevine.gni") import("//third_party/widevine/cdm/widevine.gni")
import("//ui/base/ui_features.gni") import("//ui/base/ui_features.gni")
import("//v8/gni/v8.gni") import("//v8/gni/v8.gni")
if (enable_resource_whitelist_generation) {
android_resource_whitelist = "$root_gen_dir/chrome/resource_whitelist.txt"
}
if (is_android) { if (is_android) {
import("//build/config/android/rules.gni") import("//build/config/android/rules.gni")
} else if (is_mac) { } else if (is_mac) {
...@@ -32,10 +36,6 @@ if (is_android) { ...@@ -32,10 +36,6 @@ if (is_android) {
import("//third_party/icu/config.gni") import("//third_party/icu/config.gni")
} }
if (enable_resource_whitelist_generation) {
chrome_resource_whitelist = "$target_gen_dir/chrome_resource_whitelist.txt"
}
if (is_win) { if (is_win) {
action("reorder_imports") { action("reorder_imports") {
script = "//build/win/reorder-imports.py" script = "//build/win/reorder-imports.py"
...@@ -996,7 +996,7 @@ if (is_win) { ...@@ -996,7 +996,7 @@ if (is_win) {
":chrome_framework_helpers", ":chrome_framework_helpers",
":chrome_framework_plugins", ":chrome_framework_plugins",
":chrome_framework_resources", ":chrome_framework_resources",
":packed_resources", ":repack_locales_pack",
":widevine_cdm_library", ":widevine_cdm_library",
"//build/config/sanitizers:deps", "//build/config/sanitizers:deps",
"//chrome/app/nibs:chrome_xibs", "//chrome/app/nibs:chrome_xibs",
...@@ -1339,42 +1339,100 @@ if (is_chrome_branded && !is_android) { ...@@ -1339,42 +1339,100 @@ if (is_chrome_branded && !is_android) {
} }
} }
chrome_paks("packed_resources") { group("packed_resources") {
if (is_mac) { public_deps = [
output_dir = "$root_gen_dir/repack" ":repack_chrome_100_percent",
copy_data_to_bundle = true ":repack_locales_pack",
} else { ]
output_dir = root_out_dir
if (is_chrome_branded && !is_mac && !is_android) {
public_deps += [ ":default_apps" ]
} }
if (enable_resource_whitelist_generation) { if (enable_hidpi) {
repack_whitelist = chrome_resource_whitelist public_deps += [ ":repack_chrome_200_percent" ]
deps = [
"//chrome:resource_whitelist",
]
} }
}
if (is_chrome_branded && !is_mac && !is_android) { repack("packed_extra_resources") {
public_deps = [ visibility = [ "./*" ]
":default_apps", sources = [
"$root_gen_dir/blink/public/resources/blink_resources.pak",
"$root_gen_dir/chrome/browser_resources.pak",
"$root_gen_dir/chrome/chrome_unscaled_resources.pak",
"$root_gen_dir/chrome/common_resources.pak",
"$root_gen_dir/chrome/invalidations_resources.pak",
"$root_gen_dir/chrome/net_internals_resources.pak",
"$root_gen_dir/chrome/password_manager_internals_resources.pak",
"$root_gen_dir/chrome/policy_resources.pak",
"$root_gen_dir/chrome/translate_internals_resources.pak",
"$root_gen_dir/components/components_resources.pak",
"$root_gen_dir/content/browser/tracing/tracing_resources.pak",
"$root_gen_dir/content/content_resources.pak",
"$root_gen_dir/net/net_resources.pak",
"$root_gen_dir/ui/resources/webui_resources.pak",
]
deps = [
"//chrome/app/theme:chrome_unscaled_resources",
"//chrome/browser:resources",
"//chrome/browser/resources:invalidations_resources",
"//chrome/browser/resources:net_internals_resources",
"//chrome/browser/resources:password_manager_internals_resources",
"//chrome/browser/resources:policy_resources",
"//chrome/browser/resources:translate_internals_resources",
"//chrome/common:resources",
"//components/resources",
"//content:resources",
"//content/browser/tracing:resources",
"//net:net_resources",
"//third_party/WebKit/public:resources",
"//ui/resources",
]
if (is_android) {
sources += [ "$root_gen_dir/android_webview/aw_resources.pak" ]
deps += [ "//android_webview:generate_aw_resources" ]
} else { # Non-Android.
# New paks should be added here by default.
sources += [
"$root_gen_dir/blink/devtools_resources.pak",
"$root_gen_dir/chrome/component_extension_resources.pak",
"$root_gen_dir/chrome/options_resources.pak",
"$root_gen_dir/chrome/quota_internals_resources.pak",
"$root_gen_dir/chrome/settings_resources.pak",
"$root_gen_dir/chrome/sync_file_system_internals_resources.pak",
]
deps += [
"//chrome/browser/resources:component_extension_resources",
"//chrome/browser/resources:options_resources",
"//chrome/browser/resources:quota_internals_resources",
"//chrome/browser/resources:settings_resources",
"//chrome/browser/resources:sync_file_system_internals_resources",
"//content/browser/devtools:devtools_resources",
] ]
} }
} if (is_chromeos) {
sources += [ "$root_gen_dir/ui/file_manager/file_manager_resources.pak" ]
deps += [ "//ui/file_manager:resources" ]
}
if (enable_extensions) {
sources += [
"$root_gen_dir/extensions/extensions_renderer_resources.pak",
"$root_gen_dir/extensions/extensions_resources.pak",
]
deps += [ "//extensions:extensions_resources" ]
}
chrome_extra_paks("packed_extra_resources") {
if (is_mac) { if (is_mac) {
output_dir = "$root_gen_dir/repack" output = "$root_gen_dir/repack/resources.pak"
copy_data_to_bundle = true
} else { } else {
output_dir = root_out_dir output = "$root_out_dir/resources.pak"
} }
copy_data_to_bundle = is_mac copy_data_to_bundle = is_mac
if (enable_resource_whitelist_generation) { if (enable_resource_whitelist_generation) {
repack_whitelist = chrome_resource_whitelist repack_whitelist = android_resource_whitelist
deps = [ deps += [ ":resource_whitelist" ]
":resource_whitelist",
]
} }
} }
...@@ -1391,6 +1449,127 @@ repack("browser_tests_pak") { ...@@ -1391,6 +1449,127 @@ repack("browser_tests_pak") {
] ]
} }
# Collects per-locale grit files from many sources into global per-locale files.
chrome_repack_locales("repack_locales_pack") {
visibility = [ ":*" ]
input_locales = locales
copy_data_to_bundle = is_mac
if (is_mac) {
output_locales = locales_as_mac_outputs
} else {
output_locales = locales
}
if (enable_resource_whitelist_generation) {
repack_whitelist = android_resource_whitelist
deps = [
":resource_whitelist",
]
}
}
# Generates a rule to repack a set of resources, substituting a given string
# in for the percentage (e.g. "100", "200"). It generates the repacked files in
# the "gen" directory, and then introduces a copy rule to copy it to the root
# build directory.
#
# It's not clear why this two-step dance is necessary as opposed to just
# generating the file in the destination. However, this is what the GYP build
# does, and for maintenance purposes, this keeps the same files in the same
# place between the two builds when possible.
#
# Argument:
# percent [required]
# String to substitute for the percentage.
template("chrome_repack_percent") {
percent = invoker.percent
repack_name = "${target_name}_repack"
repack_output_file = "$root_gen_dir/repack/chrome_${percent}_percent.pak"
copy_name = target_name
repack(repack_name) {
visibility = [ ":$copy_name" ]
# All sources should also have deps for completeness.
sources = [
"$root_gen_dir/blink/public/resources/blink_image_resources_${percent}_percent.pak",
"$root_gen_dir/chrome/renderer_resources_${percent}_percent.pak",
"$root_gen_dir/chrome/theme_resources_${percent}_percent.pak",
"$root_gen_dir/components/components_resources_${percent}_percent.pak",
"$root_gen_dir/content/app/resources/content_resources_${percent}_percent.pak",
"$root_gen_dir/ui/resources/ui_resources_${percent}_percent.pak",
]
deps = [
"//chrome/app/theme:theme_resources",
"//chrome/renderer:resources",
"//components/resources",
"//components/strings",
"//content/app/resources",
"//net:net_resources",
"//third_party/WebKit/public:image_resources",
"//ui/resources",
]
if (use_ash) {
sources +=
[ "$root_gen_dir/ash/resources/ash_resources_${percent}_percent.pak" ]
deps += [ "//ash/resources" ]
}
if (toolkit_views) {
sources += [ "$root_gen_dir/ui/views/resources/views_resources_${percent}_percent.pak" ]
deps += [ "//ui/views/resources" ]
}
if (is_chromeos) {
sources += [ "$root_gen_dir/ui/chromeos/resources/ui_chromeos_resources_${percent}_percent.pak" ]
deps += [ "//ui/chromeos/resources" ]
}
if (enable_extensions) {
sources += [ "$root_gen_dir/extensions/extensions_browser_resources_${percent}_percent.pak" ]
deps += [ "//extensions:extensions_browser_resources" ]
}
if (enable_app_list) {
sources += [ "$root_gen_dir/ui/app_list/resources/app_list_resources_${percent}_percent.pak" ]
deps += [ "//ui/app_list/resources" ]
}
output = repack_output_file
copy_data_to_bundle = is_mac
if (enable_resource_whitelist_generation) {
repack_whitelist = android_resource_whitelist
deps += [ ":resource_whitelist" ]
}
}
copy(copy_name) {
visibility = [ ":*" ]
deps = [
":$repack_name",
]
sources = [
repack_output_file,
]
outputs = [
"$root_build_dir/chrome_${percent}_percent.pak",
]
}
}
chrome_repack_percent("repack_chrome_100_percent") {
percent = "100"
}
if (enable_hidpi) {
chrome_repack_percent("repack_chrome_200_percent") {
percent = "200"
}
}
# GYP version: chrome/chrome_resources.gyp:chrome_strings # GYP version: chrome/chrome_resources.gyp:chrome_strings
group("strings") { group("strings") {
public_deps = [ public_deps = [
...@@ -1480,9 +1659,6 @@ if (is_android) { ...@@ -1480,9 +1659,6 @@ if (is_android) {
if (enable_resource_whitelist_generation) { if (enable_resource_whitelist_generation) {
action("resource_whitelist") { action("resource_whitelist") {
assert(is_android,
"Resource whitelist currently implemented only on Android")
deps = [ deps = [
"//chrome/android:chrome", "//chrome/android:chrome",
] ]
...@@ -1493,7 +1669,7 @@ if (enable_resource_whitelist_generation) { ...@@ -1493,7 +1669,7 @@ if (enable_resource_whitelist_generation) {
_infile, _infile,
] ]
_outfile = chrome_resource_whitelist _outfile = android_resource_whitelist
outputs = [ outputs = [
_outfile, _outfile,
] ]
......
# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/locales.gni")
import("chrome_repack_locales.gni")
# Generates a rule to repack a set of resources, substituting a given string
# in for the percentage (e.g. "100", "200"). It generates the repacked files in
# the "gen" directory, and then introduces a copy rule to copy it to the root
# build directory.
#
# Argument:
# percent [required]
# String to substitute for the percentage.
template("chrome_repack_percent") {
percent = invoker.percent
repack(target_name) {
forward_variables_from(invoker,
[
"copy_data_to_bundle",
"repack_whitelist",
"visibility",
])
# All sources should also have deps for completeness.
sources = [
"$root_gen_dir/blink/public/resources/blink_image_resources_${percent}_percent.pak",
"$root_gen_dir/chrome/renderer_resources_${percent}_percent.pak",
"$root_gen_dir/chrome/theme_resources_${percent}_percent.pak",
"$root_gen_dir/components/components_resources_${percent}_percent.pak",
"$root_gen_dir/content/app/resources/content_resources_${percent}_percent.pak",
"$root_gen_dir/ui/resources/ui_resources_${percent}_percent.pak",
]
deps = [
"//chrome/app/theme:theme_resources",
"//chrome/renderer:resources",
"//components/resources",
"//components/strings",
"//content/app/resources",
"//net:net_resources",
"//third_party/WebKit/public:image_resources",
"//ui/resources",
]
if (defined(invoker.deps)) {
deps += invoker.deps
}
if (use_ash) {
sources +=
[ "$root_gen_dir/ash/resources/ash_resources_${percent}_percent.pak" ]
deps += [ "//ash/resources" ]
}
if (toolkit_views) {
sources += [ "$root_gen_dir/ui/views/resources/views_resources_${percent}_percent.pak" ]
deps += [ "//ui/views/resources" ]
}
if (is_chromeos) {
sources += [ "$root_gen_dir/ui/chromeos/resources/ui_chromeos_resources_${percent}_percent.pak" ]
deps += [ "//ui/chromeos/resources" ]
}
if (enable_extensions) {
sources += [ "$root_gen_dir/extensions/extensions_browser_resources_${percent}_percent.pak" ]
deps += [ "//extensions:extensions_browser_resources" ]
}
if (enable_app_list) {
sources += [ "$root_gen_dir/ui/app_list/resources/app_list_resources_${percent}_percent.pak" ]
deps += [ "//ui/app_list/resources" ]
}
output = "${invoker.output_dir}/chrome_${percent}_percent.pak"
}
}
# Paramters:
# output_dir:
#
template("chrome_paks") {
chrome_repack_percent("${target_name}_100_percent") {
percent = "100"
forward_variables_from(invoker,
[
"copy_data_to_bundle",
"deps",
"output_dir",
"repack_whitelist",
"visibility",
])
}
if (invoker.enable_hidpi) {
chrome_repack_percent("${target_name}_200_percent") {
percent = "200"
forward_variables_from(invoker,
[
"copy_data_to_bundle",
"deps",
"output_dir",
"repack_whitelist",
"visibility",
])
}
}
chrome_repack_locales("${target_name}_locales") {
forward_variables_from(invoker,
[
"copy_data_to_bundle",
"deps",
"repack_whitelist",
"visibility",
])
input_locales = locales
output_dir = "${invoker.output_dir}/locales"
if (is_mac) {
output_locales = locales_as_mac_outputs
} else {
output_locales = locales
}
}
group(target_name) {
public_deps = [
":${target_name}_100_percent",
":${target_name}_locales",
]
if (invoker.enable_hidpi) {
public_deps += [ ":${target_name}_200_percent" ]
}
if (defined(invoker.deps)) {
public_deps += invoker.deps
}
}
}
template("chrome_extra_paks") {
repack(target_name) {
forward_variables_from(invoker,
[
"copy_data_to_bundle",
"repack_whitelist",
"visibility",
])
output = "${invoker.output_dir}/resources.pak"
sources = [
"$root_gen_dir/blink/public/resources/blink_resources.pak",
"$root_gen_dir/chrome/browser_resources.pak",
"$root_gen_dir/chrome/chrome_unscaled_resources.pak",
"$root_gen_dir/chrome/common_resources.pak",
"$root_gen_dir/chrome/invalidations_resources.pak",
"$root_gen_dir/chrome/net_internals_resources.pak",
"$root_gen_dir/chrome/password_manager_internals_resources.pak",
"$root_gen_dir/chrome/policy_resources.pak",
"$root_gen_dir/chrome/translate_internals_resources.pak",
"$root_gen_dir/components/components_resources.pak",
"$root_gen_dir/content/browser/tracing/tracing_resources.pak",
"$root_gen_dir/content/content_resources.pak",
"$root_gen_dir/net/net_resources.pak",
"$root_gen_dir/ui/resources/webui_resources.pak",
]
deps = [
"//chrome/app/theme:chrome_unscaled_resources",
"//chrome/browser:resources",
"//chrome/browser/resources:invalidations_resources",
"//chrome/browser/resources:net_internals_resources",
"//chrome/browser/resources:password_manager_internals_resources",
"//chrome/browser/resources:policy_resources",
"//chrome/browser/resources:translate_internals_resources",
"//chrome/common:resources",
"//components/resources",
"//content:resources",
"//content/browser/tracing:resources",
"//net:net_resources",
"//third_party/WebKit/public:resources",
"//ui/resources",
]
if (defined(invoker.deps)) {
deps += invoker.deps
}
if (is_android) {
sources += [ "$root_gen_dir/android_webview/aw_resources.pak" ]
deps += [ "//android_webview:generate_aw_resources" ]
} else { # Non-Android.
# New paks should be added here by default.
sources += [
"$root_gen_dir/blink/devtools_resources.pak",
"$root_gen_dir/chrome/component_extension_resources.pak",
"$root_gen_dir/chrome/options_resources.pak",
"$root_gen_dir/chrome/quota_internals_resources.pak",
"$root_gen_dir/chrome/settings_resources.pak",
"$root_gen_dir/chrome/sync_file_system_internals_resources.pak",
]
deps += [
"//chrome/browser/resources:component_extension_resources",
"//chrome/browser/resources:options_resources",
"//chrome/browser/resources:quota_internals_resources",
"//chrome/browser/resources:settings_resources",
"//chrome/browser/resources:sync_file_system_internals_resources",
"//content/browser/devtools:devtools_resources",
]
}
if (is_chromeos) {
sources += [ "$root_gen_dir/ui/file_manager/file_manager_resources.pak" ]
deps += [ "//ui/file_manager:resources" ]
}
if (enable_extensions) {
sources += [
"$root_gen_dir/extensions/extensions_renderer_resources.pak",
"$root_gen_dir/extensions/extensions_resources.pak",
]
deps += [ "//extensions:extensions_resources" ]
}
}
}
...@@ -36,9 +36,6 @@ template("chrome_repack_locales") { ...@@ -36,9 +36,6 @@ template("chrome_repack_locales") {
"//components/strings:components_locale_settings", "//components/strings:components_locale_settings",
"//components/strings:components_strings", "//components/strings:components_strings",
] ]
if (defined(invoker.deps)) {
deps += invoker.deps
}
if (use_ash) { if (use_ash) {
source_patterns += [ "${root_gen_dir}/ash/common/strings/ash_strings_" ] source_patterns += [ "${root_gen_dir}/ash/common/strings/ash_strings_" ]
...@@ -102,5 +99,13 @@ template("chrome_repack_locales") { ...@@ -102,5 +99,13 @@ template("chrome_repack_locales") {
if (defined(invoker.additional_source_patterns)) { if (defined(invoker.additional_source_patterns)) {
source_patterns += invoker.additional_source_patterns source_patterns += invoker.additional_source_patterns
} }
if (!defined(output_dir)) {
if (is_mac || is_ios) {
output_dir = "${root_gen_dir}/repack/locales"
} else {
output_dir = "${root_out_dir}/locales"
}
}
} }
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment