Files
brave-core/brave_paks.gni
T
Brian R. Bondy db6fdb988a [Origin] Disable brave://getting-started in Brave Origin branded builds (#36067)
Defaults `enable_brave_education` to off when `is_brave_origin_branded`
is true, matching siblings like `enable_playlist`, `enable_brave_news`,
and `enable_brave_wayback_machine`. Most features promoted on
brave://getting-started don't apply to Brave Origin, so neither the
WebUI page nor the post-onboarding redirect to it should be available
in Origin branded builds.

Resolves brave/brave-browser#55035
2026-05-01 11:36:50 -04:00

224 lines
7.4 KiB
Plaintext

# Copyright (c) 2023 The Brave Authors. All rights reserved.
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
# You can obtain one at https://mozilla.org/MPL/2.0/.
import("//brave/components/ai_chat/core/common/buildflags/buildflags.gni")
import("//brave/components/brave_education/buildflags.gni")
import("//brave/components/brave_origin/buildflags/buildflags.gni")
import("//brave/components/brave_rewards/core/buildflags/buildflags.gni")
import("//brave/components/psst/buildflags/buildflags.gni")
import("//brave/components/tor/buildflags/buildflags.gni")
import("//build/config/locales.gni")
import("//chrome/common/features.gni")
import("//extensions/buildflags/buildflags.gni")
import("//tools/grit/repack.gni")
import("//ui/base/ui_features.gni")
assert(!is_ios)
# 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("brave_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/brave/brave_theme_resources_${percent}_percent.pak",
"$root_gen_dir/brave/browser/resources/bookmark_icon/bookmark_icon_resources_${percent}_percent.pak",
"$root_gen_dir/components/brave_components_resources_${percent}_percent.pak",
]
deps = [
"//brave/app/theme:brave_theme_resources",
"//brave/browser/resources/bookmark_icon:bookmark_icon_resources",
"//brave/components/resources:scaled_resources",
]
if (defined(invoker.deps)) {
deps += invoker.deps
}
output = "${invoker.output_dir}/brave_${percent}_percent.pak"
}
}
template("brave_extra_paks") {
repack(target_name) {
forward_variables_from(invoker,
[
"copy_data_to_bundle",
"repack_whitelist",
"visibility",
])
output = "${invoker.output_dir}/brave_resources.pak"
sources = [ "$root_gen_dir/components/brave_components_resources.pak" ]
if (!is_android) {
sources += [
"$root_gen_dir/brave/brave_generated_resources.pak",
"$root_gen_dir/brave/brave_unscaled_resources.pak",
"$root_gen_dir/brave/browser/resources/brave_new_tab_page_refresh/brave_new_tab_page_refresh_generated.pak",
"$root_gen_dir/brave/browser/resources/brave_welcome_page/brave_welcome_page_generated.pak",
"$root_gen_dir/brave/browser/resources/settings/brave_settings_resources.pak",
]
if (enable_brave_education) {
sources += [ "$root_gen_dir/brave/brave_education_resources.pak" ]
}
}
deps = [ "//brave/components/resources" ]
if (!is_android) {
deps += [
"//brave/app:brave_generated_resources_grit",
"//brave/app/theme:brave_unscaled_resources",
"//brave/browser/resources/brave_new_tab_page_refresh:generated_resources",
"//brave/browser/resources/brave_welcome_page:generated_resources",
"//brave/browser/resources/settings:resources",
"//brave/components/resources:strings",
]
if (enable_brave_education) {
deps += [ "//brave/browser/resources/brave_education:resources_grit" ]
}
}
if (enable_brave_ai_chat_agent_profile) {
sources += [ "$root_gen_dir/brave/browser/resources/ai_chat_agent_new_tab_page/ai_chat_agent_new_tab_page_all.pak" ]
deps += [ "//brave/browser/resources/ai_chat_agent_new_tab_page" ]
}
if (enable_brave_rewards) {
sources += [ "$root_gen_dir/brave/components/brave_rewards/resources/brave_rewards_resources.pak" ]
deps += [ "//brave/components/brave_rewards/resources" ]
}
if (is_brave_origin_branded) {
sources += [ "$root_gen_dir/brave/browser/resources/brave_origin_startup/brave_origin_startup_all.pak" ]
deps += [ "//brave/browser/resources/brave_origin_startup" ]
}
if (enable_tor) {
sources +=
[ "$root_gen_dir/brave/components/tor/resources/tor_resources.pak" ]
deps += [ "//brave/components/tor/resources" ]
}
if (enable_psst) {
sources += [ "$root_gen_dir/brave/components/psst/resources/brave_psst_resources.pak" ]
deps += [ "//brave/components/psst/resources" ]
}
if (enable_extensions) {
sources += [ "$root_gen_dir/brave/components/brave_extension/brave_extension_resources.pak" ]
deps += [
"//brave/common/extensions/api",
"//brave/components/brave_extension:resources",
]
}
if (defined(invoker.deps)) {
deps += invoker.deps
}
if (defined(invoker.additional_paks)) {
sources += invoker.additional_paks
}
}
}
# Defines repack() targets used by Brave. Specifically:
# * brave_100_percent.pak
# * brave_200_percent.pak (optionally)
# * resources.pak
#
# Paramters:
# output_dir [required]: Directory to output .pak files.
# additional_extra_paks: List of extra .pak sources for resources.pak.
# locale_whitelist: if set, override repack_whitelist for locale .pak files.
# copy_data_to_bundle:
# deps:
# output_dir:
# public_deps:
# repack_whitelist:
# visibility:
# Normal meanings.
#
template("brave_paks") {
if (!is_android) {
brave_repack_percent("${target_name}_100_percent") {
percent = "100"
forward_variables_from(invoker,
[
"copy_data_to_bundle",
"deps",
"output_dir",
"repack_whitelist",
"visibility",
])
}
if (enable_hidpi) {
brave_repack_percent("${target_name}_200_percent") {
percent = "200"
forward_variables_from(invoker,
[
"copy_data_to_bundle",
"deps",
"output_dir",
"repack_whitelist",
"visibility",
])
}
}
}
brave_extra_paks("${target_name}_extra") {
forward_variables_from(invoker,
[
"copy_data_to_bundle",
"deps",
"output_dir",
"repack_whitelist",
"visibility",
])
if (defined(invoker.additional_extra_paks)) {
additional_paks = invoker.additional_extra_paks
}
}
group(target_name) {
forward_variables_from(invoker, [ "deps" ])
public_deps = [ ":${target_name}_extra" ]
if (!is_android) {
public_deps += [ ":${target_name}_100_percent" ]
if (enable_hidpi) {
public_deps += [ ":${target_name}_200_percent" ]
}
}
if (defined(invoker.public_deps)) {
public_deps += invoker.public_deps
}
}
}