Skip to content

Commit

Permalink
Merge pull request #32 from brave/create-dist-upload
Browse files Browse the repository at this point in the history
Add create_dist and symbol build config
  • Loading branch information
bbondy committed Feb 10, 2018
2 parents 91b7db5 + 48aa116 commit ab0032c
Show file tree
Hide file tree
Showing 21 changed files with 1,371 additions and 25 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
.tags*
/.idea/
/dist/
/external_binaries/
/out/
/vendor/requests
/vendor/boto
Expand Down
253 changes: 249 additions & 4 deletions BUILD.gn
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
import("//tools/grit/repack.gni")
import("//build/config/zip.gni")
import("//brave/build/config.gni")
import("//ui/base/ui_features.gni")
import("//third_party/icu/config.gni")
import("//build/config/locales.gni")
import("//media/cdm/ppapi/cdm_paths.gni")

group("child_dependencies") {
public_deps = [
Expand Down Expand Up @@ -54,7 +60,7 @@ group("packed_resources") {
]
}

brave_framework_public_deps = [
antimuon_framework_public_deps = [
":packed_resources",
]

Expand All @@ -63,20 +69,22 @@ if (is_mac) {
sources = [
"$root_gen_dir/repack/brave_resources.pak",
]
public_deps = brave_framework_public_deps
public_deps = antimuon_framework_public_deps

outputs = [
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
} else {
group("brave_framework_resources") {
public_deps = brave_framework_public_deps
public_deps = antimuon_framework_public_deps
}
}

group("create_dist") {
deps = []
deps = [
":create_dist_zips"
]
if (is_win) {
deps += [
"//chrome/installer/mini_installer",
Expand All @@ -89,7 +97,244 @@ group("create_dist") {
if (is_linux) {
deps += [
"//chrome/installer/linux",
"//brave/app/linux:dist_resources",
]
}
}

action("generate_version") {
script = "//brave/script/version.py"

outputs = [
"$root_out_dir/version"
]
}

copy("antimuon_dist_resources") {
if (is_mac) {
sources = []
} else {
sources = [
"$root_out_dir/brave_resources.pak",
"$root_out_dir/$antimuon_exe"
]
}

sources += get_target_outputs(":generate_version")

deps = [
":brave",
":generate_version",
":packed_extra_resources",
]

if (is_win) {
deps += [
"//brave/build/win:copy_exe"
]
}

outputs = [
"$antimuon_dist_dir/{{source_file_part}}"
]
}

if (!is_mac) {
copy("antimuon_locale_dist_resources") {
deps = [
"//chrome:packed_resources",
]

sources = []
foreach(locale, locales) {
# print (locale)
if (is_mac) {
sources += [ "$root_gen_dir/repack/locales/$locale.pak" ]
} else {
sources += [ "$root_out_dir/locales/$locale.pak" ]
}
}
outputs = [
"$antimuon_dist_dir/locales/{{source_file_part}}",
]
}
}

if (target_cpu == "x86") {
target_arch = "ia32"
} else {
target_arch = target_cpu
}

chromedriver = "chromedriver"
if (is_win) {
chromedriver = "$chromedriver.exe"
}

chromedriver_version = "2.33"

copy("antimuon_chromedriver_dist_resources") {
sources = [
"$root_out_dir/$chromedriver",
]

outputs = [
"$antimuon_dist_dir/$chromedriver"
]

deps = [ "//chrome/test/chromedriver:chromedriver" ]
}


action("generate_chromium_licenses") {
license_file = "$root_gen_dir/LICENSES.chromium.html"

script = "//tools/licenses.py"

inputs = [
rebase_path("//brave/resources/about_credits.tmpl"),
rebase_path("//brave/resources/about_credits_entry.tmpl"),
]

outputs = [
license_file
]

args = [
"--target-os=$target_os",
"credits",
rebase_path(license_file, root_build_dir),
]
}

copy("antimuon_license_dist_resources") {
sources = get_target_outputs(":generate_chromium_licenses")
sources += [
"//brave/LICENSE",
]
deps = [
":generate_chromium_licenses",
]

outputs = [
"$antimuon_dist_dir/{{source_file_part}}"
]
}

zip("chromedriver_zip") {
inputs = get_target_outputs(":antimuon_chromedriver_dist_resources")
inputs += get_target_outputs(":antimuon_license_dist_resources")
output = "$antimuon_dist_dir/chromedriver-v$chromedriver_version-$antimuon_platform-$target_arch.zip"

base_dir = antimuon_dist_dir

deps = [
"app/$current_os:chromedriver_dist_resources",
":antimuon_chromedriver_dist_resources",
":antimuon_license_dist_resources",
]
}


action("create_symbols_dist") {
output = "$antimuon_dist_dir/$antimuon_project_name-v$antimuon_version-$antimuon_platform-$target_arch-symbols.zip"

script = "//brave/script/create-dist.py"

# inputs = get_target_outputs(":antimuon_chromedriver_dist_resources")
inputs = get_target_outputs(":antimuon_license_dist_resources")
dir_inputs = [ "$antimuon_project_name.breakpad.syms" ]

file_inputs = []
foreach(input, inputs) {
file_inputs += [ rebase_path(input, antimuon_dist_dir) ]
}

rebase_output = rebase_path(output)
rebase_base_dir = rebase_path(antimuon_dist_dir)

args = [
"--base-dir=$rebase_base_dir",
"--inputs=$file_inputs",
"--dir-inputs=$dir_inputs",
"--output=$rebase_output",
]

outputs = [ output ]

deps = [
"app/$current_os:symbol_dist_resources",
":antimuon_license_dist_resources",
]
}

action("create_dist_zips") {
output = "$antimuon_dist_dir/$antimuon_project_name-v$antimuon_version-$antimuon_platform-$target_arch.zip"

script = "//brave/script/create-dist.py"

inputs = get_target_outputs(":antimuon_license_dist_resources")

if (!is_mac) {
inputs += get_target_outputs(":antimuon_dist_resources")
inputs += get_target_outputs(":antimuon_locale_dist_resources")
}

if (is_win) {
inputs += [
"$antimuon_dist_dir/chrome_elf.dll",
"$antimuon_dist_dir/$widevine_cdm_path/widevinecdmadapter.dll",
]
}

dist_dir = antimuon_dist_dir

file_inputs = []
foreach(input, inputs) {
file_inputs += [ rebase_path(input, dist_dir) ]
}

dir_inputs = []
if (is_mac) {
dir_inputs += [
"$antimuon_exe",
]
}

outputs = [
output
]

deps = [
":create_symbols_dist",
":antimuon_license_dist_resources",
"app/$current_os:dist_resources",
]

deps += [ ":chromedriver_zip" ]

if (!is_mac) {
deps += [
":antimuon_dist_resources",
":antimuon_locale_dist_resources",
]
}
if (is_win) {
deps += [
"app/win:dist_widevine_resources",
]
}

rebase_output = rebase_path(output)
if (is_mac) {
rebase_base_dir = rebase_path(root_out_dir)
} else {
rebase_base_dir = rebase_path(dist_dir, root_out_dir)
}
args = [
"--base-dir=$rebase_base_dir",
"--inputs=$file_inputs",
"--dir-inputs=$dir_inputs",
"--output=$rebase_output",
]
}
100 changes: 100 additions & 0 deletions app/linux/BUILD.gn
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
import("//brave/build/config.gni")

group("chromedriver_dist_resources") {
deps = [
":strip_and_dump_chromedriver_symbols"
]
}

action("strip_and_dump_chromedriver_symbols") {
script = "//build/linux/dump_app_syms.py"
dump_syms_label = "//third_party/breakpad:dump_syms($host_toolchain)"
dump_syms_binary =
get_label_info(dump_syms_label, "root_out_dir") + "/" + "dump_syms"

chromedriver_binary = "$antimuon_dist_dir/chromedriver"
if (current_cpu == "x86") {
# Use "ia32" instead of "x86" for GYP compat.
chromedriver_symbol_file = "$root_out_dir/chromedriver.breakpad.ia32"
} else {
chromedriver_symbol_file = "$root_out_dir/chromedriver.breakpad.$current_cpu"
}

inputs = [ chromedriver_binary, dump_syms_binary ]
outputs = [ chromedriver_symbol_file ]

args = [
"./" + rebase_path(dump_syms_binary, root_build_dir),
"1", # strip_binary = true
rebase_path(chromedriver_binary, root_build_dir),
rebase_path(chromedriver_symbol_file, root_build_dir),
]

deps = [
dump_syms_label,
"//brave:antimuon_chromedriver_dist_resources",
]
}


action("generate_breakpad_symbols") {
symbols_dir = "$antimuon_dist_dir/$antimuon_project_name.breakpad.syms"
outputs = [
symbols_dir
]

start = [ antimuon_project_name ]

script = "//brave/tools/posix/generate_breakpad_symbols.py"
args = [
"--symbols-dir=" + rebase_path(symbols_dir),
"--jobs=16",
"--build-dir=" + rebase_path(root_out_dir),
"--binary=$start",
"--libchromiumcontent-dir=" + rebase_path("//"),
"--clear",
]

deps = [ "//third_party/breakpad:dump_syms" ]
}

group("symbol_dist_resources") {
public_deps = [
":generate_breakpad_symbols",
":strip_and_dump_symbols",
]
}

group("dist_resources") {}

action("strip_and_dump_symbols") {
script = "//build/linux/dump_app_syms.py"

dump_syms_label = "//third_party/breakpad:dump_syms($host_toolchain)"
dump_syms_binary =
get_label_info(dump_syms_label, "root_out_dir") + "/" + "dump_syms"

deps = [
"//brave:antimuon_dist_resources",
# TODO(bridiver) - resolve duplicate symbol generation
":generate_breakpad_symbols",
dump_syms_label,
]
brave_binary = "$antimuon_dist_dir/brave"
if (current_cpu == "x86") {
# Use "ia32" instead of "x86" for GYP compat.
brave_symbol_file = "$root_out_dir/brave.breakpad.ia32"
} else {
brave_symbol_file = "$root_out_dir/brave.breakpad.$current_cpu"
}

inputs = [ brave_binary, dump_syms_binary ]
outputs = [ brave_symbol_file ]

args = [
"./" + rebase_path(dump_syms_binary, root_build_dir),
"1", # strip_binary = true
rebase_path(brave_binary, root_build_dir),
rebase_path(brave_symbol_file, root_build_dir),
]
}
Loading

0 comments on commit ab0032c

Please sign in to comment.