* cleanup signing scripts * add option for manual copying in app to output dir * add option for calling universalize * fix args * fix params * add support for universal binary build/sign * sign android as part of create_dist * fix unused var * fix incorrect sign_app path for android * fix dmg path * format * add missing patch * fixed mac build action paths * removed duplicate mac signing action deps * added missing : Co-authored-by: Mihai Plesa <mplesa@brave.com>
496 lines
13 KiB
Plaintext
496 lines
13 KiB
Plaintext
import("//brave/build/cargo.gni")
|
|
import("//brave/build/config.gni")
|
|
import("//brave/components/brave_rewards/browser/buildflags/buildflags.gni")
|
|
import("//build/config/locales.gni")
|
|
import("//build/config/zip.gni")
|
|
import("//build/util/process_version.gni")
|
|
import("//extensions/buildflags/buildflags.gni")
|
|
import("//media/cdm/library_cdm/cdm_paths.gni")
|
|
import("//third_party/icu/config.gni")
|
|
import("//tools/grit/repack.gni")
|
|
import("//tools/v8_context_snapshot/v8_context_snapshot.gni")
|
|
import("//ui/base/ui_features.gni")
|
|
|
|
if (!is_ios) {
|
|
import("//brave/brave_paks.gni")
|
|
}
|
|
|
|
if (is_mac) {
|
|
import("//brave/build/mac/tweak_info_plist.gni")
|
|
import("//build/config/mac/rules.gni")
|
|
}
|
|
|
|
if (is_linux) {
|
|
import("//brave/build/linux/channels.gni")
|
|
}
|
|
|
|
declare_args() {
|
|
audit_dev_deps = false
|
|
}
|
|
|
|
if (!is_ios) {
|
|
group("child_dependencies") {
|
|
deps = [
|
|
"common",
|
|
"//brave/renderer",
|
|
"//brave/utility",
|
|
]
|
|
}
|
|
|
|
group("browser_dependencies") {
|
|
deps = [
|
|
"browser",
|
|
"chromium_src:browser",
|
|
"chromium_src/chrome/app",
|
|
"common",
|
|
"//components/omnibox/common",
|
|
"//services/device/public/cpp:device_features",
|
|
]
|
|
|
|
data_deps = [ ":unpacked_resources" ]
|
|
|
|
if (!is_ios) {
|
|
deps += [ ":packed_resources" ]
|
|
}
|
|
}
|
|
}
|
|
|
|
if (is_win) {
|
|
# create_installer_archive.py assumes that last_chrome_installer folder has
|
|
# courgette.exe.
|
|
if (build_delta_installer) {
|
|
copy("copy_courgette_binary") {
|
|
visibility = [ ":mini_installer_dependencies" ]
|
|
sources = [ "$root_out_dir/courgette.exe" ]
|
|
outputs = [ "$root_out_dir/$last_chrome_installer/{{source_file_part}}" ]
|
|
deps = [
|
|
"//courgette",
|
|
"//courgette:copy_courgette_binaries",
|
|
]
|
|
}
|
|
}
|
|
|
|
group("mini_installer_dependencies") {
|
|
deps = [ ":brave" ]
|
|
|
|
if (build_delta_installer) {
|
|
deps += [ ":copy_courgette_binary" ]
|
|
}
|
|
}
|
|
}
|
|
|
|
group("brave") {
|
|
deps = [ "build/$target_os:brave" ]
|
|
if (!is_android && !is_ios) {
|
|
deps += [
|
|
":generate_version",
|
|
"//chrome",
|
|
]
|
|
}
|
|
}
|
|
|
|
group("resources") {
|
|
public_deps = [
|
|
# TODO(bridiver)
|
|
# "//brave/browser:resources",
|
|
# "//brave/common:resources",
|
|
# "//brave/renderer:resources",
|
|
"//brave/components/resources",
|
|
]
|
|
|
|
data_deps = [ "//brave/components/resources:about_credits" ]
|
|
}
|
|
|
|
if (is_android) {
|
|
android_assets("brave_pak_assets") {
|
|
sources = [
|
|
"$root_build_dir/brave_100_percent.pak",
|
|
"$root_build_dir/brave_resources.pak",
|
|
"//brave/LICENSE.html",
|
|
"//brave/android/java/org/chromium/chrome/browser/onboarding/animations/onboarding_ads.json",
|
|
"//brave/android/java/org/chromium/chrome/browser/onboarding/animations/onboarding_ads_notification.json",
|
|
"//brave/android/java/org/chromium/chrome/browser/onboarding/animations/onboarding_rewards.json",
|
|
"//brave/android/java/org/chromium/chrome/browser/onboarding/animations/privacy_protection.json",
|
|
"//brave/android/java/org/chromium/chrome/browser/onboarding/animations/save_data_and_battery.json",
|
|
"//brave/android/java/org/chromium/chrome/browser/onboarding/animations/website_loads_faster.json",
|
|
]
|
|
deps = [ "//brave:browser_dependencies" ]
|
|
disable_compression = true
|
|
}
|
|
}
|
|
|
|
config("rust_link") {
|
|
# https://bugzilla.mozilla.org/show_bug.cgi?id=1188030#c14
|
|
if (!is_component_build) {
|
|
ldflags = [ "-Wl,-no_compact_unwind" ]
|
|
}
|
|
}
|
|
|
|
if (is_mac) {
|
|
group("framework_bundle_data") {
|
|
# this only seems to work correctly when applied to
|
|
# the chrome_framework target so we add it here
|
|
public_configs = [ ":rust_link" ]
|
|
deps = [ "components/brave_extension/extension/brave_extension:brave_extension_framework_bundle_data" ]
|
|
if (brave_rewards_enabled) {
|
|
deps += [
|
|
"components/brave_rewards/resources/extension:framework_bundle_data",
|
|
]
|
|
}
|
|
}
|
|
}
|
|
|
|
group("unpacked_resources") {
|
|
if (!is_mac) {
|
|
deps = []
|
|
if (enable_extensions) {
|
|
deps = [
|
|
"//brave/components/brave_extension/extension/brave_extension:locales",
|
|
]
|
|
if (brave_rewards_enabled) {
|
|
deps +=
|
|
[ "//brave/components/brave_rewards/resources/extension:locales" ]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#TODO(bridiver) - what to do
|
|
if (!is_ios) {
|
|
group("brave_tests") {
|
|
testonly = true
|
|
|
|
deps = [ "test:brave_unit_tests" ]
|
|
|
|
if (!is_android) {
|
|
deps += [ "test:brave_browser_tests" ]
|
|
}
|
|
}
|
|
}
|
|
|
|
if (!is_ios) {
|
|
brave_paks("packed_resources") {
|
|
if (is_mac) {
|
|
output_dir = "$root_gen_dir/repack"
|
|
copy_data_to_bundle = true
|
|
} else {
|
|
output_dir = root_out_dir
|
|
}
|
|
}
|
|
}
|
|
|
|
branding_dir = "//chrome/app/theme/$branding_path_component"
|
|
copy("theme_files") {
|
|
visibility = [ ":*" ]
|
|
sources = [
|
|
"$branding_dir/product_logo_128_beta.png",
|
|
"$branding_dir/product_logo_128_dev.png",
|
|
"$branding_dir/product_logo_128_development.png",
|
|
"$branding_dir/product_logo_128_nightly.png",
|
|
]
|
|
outputs = [ "$root_out_dir/installer/theme/{{source_file_part}}" ]
|
|
}
|
|
|
|
group("create_dist") {
|
|
deps = []
|
|
if (is_android) {
|
|
deps += [ "build/android:sign_app" ]
|
|
} else if (is_linux) {
|
|
# zip will be created along with installer
|
|
deps += [ ":create_symbols_dist" ]
|
|
} else {
|
|
deps += [ ":create_dist_zips" ]
|
|
}
|
|
if (is_win) {
|
|
deps += [ "build/win:create_signed_installer" ]
|
|
|
|
if (build_omaha) {
|
|
deps += [ "//brave/vendor/omaha" ]
|
|
}
|
|
}
|
|
if (is_mac) {
|
|
if (skip_signing) {
|
|
deps += [ "build/mac:create_dmg" ]
|
|
} else {
|
|
deps += [ "build/mac:finalize_dmg_pkg" ]
|
|
}
|
|
}
|
|
if (is_linux) {
|
|
deps += [
|
|
":theme_files",
|
|
"//brave/app/linux:dist_resources",
|
|
"//chrome/installer/linux:$linux_channel",
|
|
]
|
|
}
|
|
}
|
|
|
|
if (!is_mac && !is_android && !is_ios) {
|
|
copy("brave_locale_dist_resources") {
|
|
deps = [ "//chrome:packed_resources" ]
|
|
|
|
sources = []
|
|
foreach(locale, locales) {
|
|
sources += [ "$root_out_dir/locales/$locale.pak" ]
|
|
}
|
|
outputs = [ "$brave_dist_dir/locales/{{source_file_part}}" ]
|
|
}
|
|
|
|
if (enable_extensions) {
|
|
group("brave_extensions_locale_dist_resources") {
|
|
deps = [
|
|
"//brave/components/brave_extension/extension/brave_extension:locales",
|
|
]
|
|
if (brave_rewards_enabled) {
|
|
deps +=
|
|
[ "//brave/components/brave_rewards/resources/extension:locales" ]
|
|
}
|
|
|
|
public_deps = []
|
|
foreach(locale, locales) {
|
|
# public_deps is used intentionaly because ":create_dist_zip" needs the all dependency
|
|
# of all locale files.
|
|
public_deps += [ ":brave_shields_locales_${locale}" ]
|
|
if (brave_rewards_enabled) {
|
|
public_deps += [ ":brave_rewards_locales_${locale}" ]
|
|
}
|
|
}
|
|
}
|
|
|
|
foreach(locale, locales) {
|
|
if (brave_rewards_enabled) {
|
|
copy("brave_rewards_locales_${locale}") {
|
|
deps = [ "//brave/components/brave_rewards/resources/extension:locales_$locale" ]
|
|
|
|
locale = string_replace(locale, "-", "_")
|
|
sources = [ "$root_out_dir/resources/brave_rewards/_locales/$locale/messages.json" ]
|
|
outputs = [ "$brave_dist_dir/resources/brave_rewards/_locales/$locale/{{source_file_part}}" ]
|
|
}
|
|
}
|
|
copy("brave_shields_locales_${locale}") {
|
|
deps = [ "//brave/components/brave_extension/extension/brave_extension:locales_$locale" ]
|
|
|
|
locale = string_replace(locale, "-", "_")
|
|
sources = [ "$root_out_dir/resources/brave_extension/_locales/$locale/messages.json" ]
|
|
outputs = [ "$brave_dist_dir/resources/brave_extension/_locales/$locale/{{source_file_part}}" ]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
copy("brave_license_dist_resources") {
|
|
sources = [ "//brave/LICENSE" ]
|
|
|
|
outputs = [ "$brave_dist_dir/{{source_file_part}}" ]
|
|
}
|
|
|
|
process_version("generate_version") {
|
|
template_file = "version.version"
|
|
extra_args = [
|
|
"-e",
|
|
"BRAVE_BROWSER_VERSION=\"$brave_version\"",
|
|
]
|
|
output = "$root_out_dir/version"
|
|
process_only = true
|
|
}
|
|
|
|
if (!is_android && !is_ios) {
|
|
copy("brave_dist_resources") {
|
|
sources = [ "$root_out_dir/version" ]
|
|
|
|
deps = [
|
|
":brave",
|
|
":brave_license_dist_resources",
|
|
":generate_version",
|
|
":packed_resources",
|
|
"build/$target_os:brave",
|
|
"//chrome:packed_resources",
|
|
"//third_party/icu:icudata",
|
|
]
|
|
|
|
if (!is_mac) {
|
|
sources += [
|
|
"$root_out_dir/$brave_exe",
|
|
"$root_out_dir/brave_100_percent.pak",
|
|
"$root_out_dir/brave_200_percent.pak",
|
|
"$root_out_dir/brave_resources.pak",
|
|
"$root_out_dir/chrome_100_percent.pak",
|
|
"$root_out_dir/chrome_200_percent.pak",
|
|
"$root_out_dir/icudtl.dat",
|
|
"$root_out_dir/resources.pak",
|
|
]
|
|
|
|
if (v8_use_external_startup_data) {
|
|
deps += [ "//v8" ]
|
|
|
|
if (use_v8_context_snapshot) {
|
|
sources += [ "$root_out_dir/v8_context_snapshot.bin" ]
|
|
deps += [ "//tools/v8_context_snapshot" ]
|
|
} else {
|
|
sources += [ "$root_out_dir/snapshot_blob.bin" ]
|
|
}
|
|
}
|
|
}
|
|
|
|
outputs = [ "$brave_dist_dir/{{source_file_part}}" ]
|
|
}
|
|
}
|
|
|
|
if (target_cpu == "x86") {
|
|
target_arch = "ia32"
|
|
} else {
|
|
target_arch = target_cpu
|
|
}
|
|
|
|
action("create_symbols_dist") {
|
|
output = "$brave_dist_dir/$brave_project_name-v$brave_version-$brave_platform-$target_arch-symbols.zip"
|
|
|
|
script = "//brave/script/create-dist.py"
|
|
|
|
inputs = get_target_outputs(":brave_license_dist_resources")
|
|
dir_inputs = [ "$brave_project_name.breakpad.syms" ]
|
|
|
|
file_inputs = []
|
|
foreach(input, inputs) {
|
|
file_inputs += [ rebase_path(input, brave_dist_dir) ]
|
|
}
|
|
|
|
rebase_output = rebase_path(output)
|
|
rebase_base_dir = rebase_path(brave_dist_dir)
|
|
|
|
args = [
|
|
"--base-dir=$rebase_base_dir",
|
|
"--inputs=$file_inputs",
|
|
"--dir-inputs=$dir_inputs",
|
|
"--output=$rebase_output",
|
|
]
|
|
|
|
outputs = [ output ]
|
|
|
|
deps = [
|
|
":brave_license_dist_resources",
|
|
"app/$current_os:symbol_dist_resources",
|
|
]
|
|
}
|
|
|
|
action("create_dist_zips") {
|
|
output = "$brave_dist_dir/$brave_project_name-v$brave_version-$brave_platform-$target_arch.zip"
|
|
|
|
script = "//brave/script/create-dist.py"
|
|
|
|
inputs = get_target_outputs(":brave_license_dist_resources")
|
|
|
|
if (!is_mac && !is_android && !is_ios) {
|
|
inputs += get_target_outputs(":brave_dist_resources")
|
|
inputs += get_target_outputs(":brave_locale_dist_resources")
|
|
if (enable_extensions) {
|
|
foreach(locale, locales) {
|
|
inputs += get_target_outputs(":brave_shields_locales_${locale}")
|
|
if (brave_rewards_enabled) {
|
|
inputs += get_target_outputs(":brave_rewards_locales_${locale}")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (is_win) {
|
|
inputs += [ "$brave_dist_dir/chrome_elf.dll" ]
|
|
}
|
|
|
|
file_inputs = []
|
|
foreach(input, inputs) {
|
|
file_inputs += [ rebase_path(input, brave_dist_dir) ]
|
|
}
|
|
|
|
dir_inputs = []
|
|
if (is_mac) {
|
|
dir_inputs += [ "$brave_exe" ]
|
|
}
|
|
|
|
outputs = [ output ]
|
|
|
|
deps = [
|
|
":brave_license_dist_resources",
|
|
":create_symbols_dist",
|
|
"app/$current_os:dist_resources",
|
|
]
|
|
|
|
if (!is_mac && !is_android && !is_ios) {
|
|
deps += [
|
|
":brave_dist_resources",
|
|
":brave_locale_dist_resources",
|
|
]
|
|
|
|
if (enable_extensions) {
|
|
deps += [ ":brave_extensions_locale_dist_resources" ]
|
|
}
|
|
}
|
|
|
|
rebase_output = rebase_path(output)
|
|
if (is_mac) {
|
|
rebase_base_dir = rebase_path(root_out_dir)
|
|
} else {
|
|
rebase_base_dir = rebase_path(brave_dist_dir, root_out_dir)
|
|
}
|
|
args = [
|
|
"--base-dir=$rebase_base_dir",
|
|
"--inputs=$file_inputs",
|
|
"--dir-inputs=$dir_inputs",
|
|
"--output=$rebase_output",
|
|
]
|
|
}
|
|
|
|
if (is_mac) {
|
|
group("brave_app") {
|
|
deps = [ ":brave_app_plist" ]
|
|
}
|
|
|
|
brave_tweak_info_plist("brave_app_plist") {
|
|
info_plist = "$root_gen_dir/chrome/chrome_app_plist_tweaked.plist"
|
|
|
|
args = [
|
|
"--brave_channel=" + brave_channel,
|
|
"--brave_product_dir_name=" + brave_product_dir_name,
|
|
"--brave_feed_url=" + brave_feed_url,
|
|
"--brave_version=" + brave_version,
|
|
"--brave_eddsa_key=" + sparkle_eddsa_public_key,
|
|
]
|
|
|
|
if (skip_signing) {
|
|
args += [ "--skip_signing" ]
|
|
}
|
|
|
|
deps = [ "//chrome:chrome_app_plist" ]
|
|
}
|
|
|
|
brave_tweak_info_plist("brave_helper_plist") {
|
|
info_plist = "$root_gen_dir/chrome/chrome_helper_plist_tweaked.plist"
|
|
|
|
args = [
|
|
"--brave_channel=" + brave_channel,
|
|
"--brave_product_dir_name=" + brave_product_dir_name,
|
|
"--brave_version=" + brave_version,
|
|
]
|
|
|
|
deps = [ "//chrome:chrome_helper_plist" ]
|
|
}
|
|
}
|
|
|
|
action("audit_deps") {
|
|
script = "//brave/script/audit_deps.py"
|
|
|
|
outputs = [ "$root_gen_dir/non-existent-audit_deps" ]
|
|
|
|
args = [
|
|
"--source_root=" + rebase_path("//brave"),
|
|
"--rustup_path=" + rustup_path,
|
|
"--cargo_path=" + rustup_path,
|
|
]
|
|
|
|
if (defined(rustc_toolchain)) {
|
|
args += [ "--toolchain=$rustc_toolchain" ]
|
|
}
|
|
if (audit_dev_deps) {
|
|
args += [ "--audit_dev_deps" ]
|
|
}
|
|
}
|