blob: 17dc6104bfb4f881124771d6f8350e06ddcf6bf8 [file]
# Copyright 2016 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/mac/mac_sdk.gni")
import("//build/util/branding.gni")
import("//chrome/browser/buildflags.gni")
import("//chrome/process_version_rc_template.gni")
import("//chrome/version.gni")
import("//testing/test.gni")
import("//ui/gl/features.gni")
import("mac_signing_sources.gni")
if (is_chrome_branded) {
import("//third_party/widevine/scripts/widevine_signing_sources.gni")
}
group("mac") {
public_deps = [
":copies",
"//third_party/libdmg-hfsplus:dmg_tool",
"//third_party/libdmg-hfsplus:hfs_tool",
]
}
_packaging_dir = "$root_out_dir/$chrome_product_full_name Packaging"
template("generate_dmg_dsstore") {
action(target_name) {
script = "generate_dsstore.py"
outputs = [ "$_packaging_dir/${invoker.output_name}" ]
args = [
"--volume-name",
invoker.volume_name,
"--app-name",
invoker.app_name,
rebase_path(outputs[0], root_build_dir),
]
}
}
if (is_chrome_branded) {
generate_dmg_dsstore("generate_chrome_dmg_dsstore") {
output_name = "chrome_dmg_dsstore"
volume_name = "Google Chrome"
app_name = "Google Chrome.app"
}
generate_dmg_dsstore("generate_chrome_beta_dmg_dsstore") {
output_name = "chrome_beta_dmg_dsstore"
volume_name = "Google Chrome Beta"
app_name = "Google Chrome Beta.app"
}
generate_dmg_dsstore("generate_chrome_dev_dmg_dsstore") {
output_name = "chrome_dev_dmg_dsstore"
volume_name = "Google Chrome Dev"
app_name = "Google Chrome Dev.app"
}
generate_dmg_dsstore("generate_chrome_canary_dmg_dsstore") {
output_name = "chrome_canary_dmg_dsstore"
volume_name = "Google Chrome Canary"
app_name = "Google Chrome Canary.app"
}
}
process_version_rc_template("sign_config") {
visibility = [ ":copy_signing" ]
process_only = true
template_file = "signing/build_props_config.py.in"
output = "$_packaging_dir/signing/build_props_config.py"
_full_target_name = get_label_info(target_name, "label_no_toolchain")
_file_path = rebase_path(template_file)
_local_chrome_branded = "False"
if (is_chrome_branded) {
_local_chrome_branded = "True"
}
_enable_updater = "False"
if (enable_updater) {
_enable_updater = "True"
}
_use_static_angle = "False"
if (use_static_angle) {
_use_static_angle = "True"
}
extra_args = [
"-e",
"GEN_HEADER=\"THIS FILE IS AUTOMATICALLY GENERATED BY $_full_target_name.\n\"",
"-e",
"IS_CHROME_BRANDED=$_local_chrome_branded",
"-e",
"ENABLE_UPDATER=$_enable_updater",
"-e",
"USE_STATIC_ANGLE=$_use_static_angle",
]
}
copy("copy_signing") {
visibility = [ ":copies" ]
deps = [ ":sign_config" ]
sources = mac_signing_sources
if (is_chrome_branded) {
sources += [ "internal/internal_config.py" ]
}
outputs = [ "$_packaging_dir/signing/{{source_file_part}}" ]
}
if (is_chrome_branded) {
copy("copy_widevine_signing") {
visibility = [ ":copies" ]
sources = rebase_path(widevine_signing_sources,
"",
"//third_party/widevine/scripts")
outputs = [ "$_packaging_dir/widevine/{{source_file_part}}" ]
}
}
copy("copies") {
visibility = [ ":mac" ]
deps = [
":copy_signing",
"//chrome:entitlements",
"//third_party/libdmg-hfsplus:dmg_tool",
"//third_party/libdmg-hfsplus:hfs_tool",
]
sources = [
"$root_gen_dir/chrome/app-entitlements.plist",
"$root_out_dir/dmg_tool",
"$root_out_dir/hfs_tool",
"//chrome/app/helper-gpu-entitlements.plist",
"//chrome/app/helper-renderer-entitlements.plist",
"pkg-dmg",
"pkg_postinstall.in",
"pkg_preinstall.in",
"rebrand_chrome.py",
"sign_chrome.py",
"universalizer.py",
]
if (is_chrome_branded) {
deps += [
":copy_widevine_signing",
":generate_chrome_beta_dmg_dsstore",
":generate_chrome_canary_dmg_dsstore",
":generate_chrome_dev_dmg_dsstore",
":generate_chrome_dmg_dsstore",
]
sources += [
"//chrome/app/theme/google_chrome/mac/Assets_beta.car",
"//chrome/app/theme/google_chrome/mac/Assets_canary.car",
"//chrome/app/theme/google_chrome/mac/Assets_dev.car",
"//chrome/app/theme/google_chrome/mac/app_beta.icns",
"//chrome/app/theme/google_chrome/mac/app_canary.icns",
"//chrome/app/theme/google_chrome/mac/app_dev.icns",
"internal/Google_Chrome.765bb3620a0f7a33500da39b20122b1cec41140f.provisionprofile",
"internal/Google_Chrome.e809e0e54407d4f3914b7883b7ed28650316ac2e.provisionprofile",
"internal/Google_Chrome_Beta.765bb3620a0f7a33500da39b20122b1cec41140f.provisionprofile",
"internal/Google_Chrome_Beta.e809e0e54407d4f3914b7883b7ed28650316ac2e.provisionprofile",
"internal/Google_Chrome_Canary.765bb3620a0f7a33500da39b20122b1cec41140f.provisionprofile",
"internal/Google_Chrome_Canary.e809e0e54407d4f3914b7883b7ed28650316ac2e.provisionprofile",
"internal/Google_Chrome_Dev.765bb3620a0f7a33500da39b20122b1cec41140f.provisionprofile",
"internal/Google_Chrome_Dev.e809e0e54407d4f3914b7883b7ed28650316ac2e.provisionprofile",
"internal/chrome_beta_dmg_icon.icns",
"internal/chrome_canary_dmg_icon.icns",
"internal/chrome_dev_dmg_icon.icns",
"internal/chrome_dmg_background.png",
"internal/chrome_dmg_icon.icns",
"keystone_install.sh",
]
}
outputs = [ "$_packaging_dir/{{source_file_part}}" ]
}
script_test("mac_signing_tests") {
script = "//testing/scripts/run_isolated_script_test.py"
args = [ "@WrappedPath(" + rebase_path(
"//chrome/installer/mac/signing/run_mac_signing_tests.py",
root_build_dir) + ")" ]
data = mac_signing_sources + [
"signing/commands_test.py",
"signing/driver_test.py",
"signing/model_test.py",
"signing/modification_test.py",
"signing/notarize_test.py",
"signing/parts_test.py",
"signing/pipeline_test.py",
"signing/rebranding_test.py",
"signing/run_mac_signing_tests.py",
"signing/signing_test.py",
"signing/test_config.py",
"//third_party/catapult/third_party/typ/",
]
data_deps = [
"//third_party/libdmg-hfsplus:dmg_tool",
"//third_party/libdmg-hfsplus:hfs_tool",
]
if (is_chrome_branded) {
data += [ "internal/internal_invoker_test.py" ]
}
}
source_set("install_test_util") {
testonly = true
public = [ "install_test_util.h" ]
sources = [ "install_test_util.cc" ]
deps = [
"//base",
"//testing/gtest",
]
}