| Index: mojo/shell/BUILD.gn
|
| diff --git a/mojo/shell/BUILD.gn b/mojo/shell/BUILD.gn
|
| index 38b8639f7807aa1a93b8bf34dc6b96c46ac767b9..5a13e6b3c67a1cf2de7d2880bffd72c8249ce18e 100644
|
| --- a/mojo/shell/BUILD.gn
|
| +++ b/mojo/shell/BUILD.gn
|
| @@ -2,334 +2,49 @@
|
| # Use of this source code is governed by a BSD-style license that can be
|
| # found in the LICENSE file.
|
|
|
| -import("//build/config/ui.gni")
|
| -import("//third_party/mojo/src/mojo/public/mojo.gni")
|
| -import("//third_party/mojo/src/mojo/public/mojo_application.gni")
|
| import("//third_party/mojo/src/mojo/public/tools/bindings/mojom.gni")
|
| import("//testing/test.gni")
|
|
|
| -# We don't support building in the component build since mojo apps are
|
| -# inherently components.
|
| -assert(!is_component_build)
|
| -
|
| -group("shell") {
|
| - testonly = true
|
| -
|
| - deps = [
|
| - ":mojo_shell",
|
| - ":tests",
|
| - "//mojo/shell/application_manager:tests",
|
| - ]
|
| -
|
| - if (is_android) {
|
| - deps += [
|
| - ":mojo_shell_apk",
|
| - ":tests_apk",
|
| - ]
|
| - }
|
| -}
|
| -
|
| -if (is_android) {
|
| - import("//build/config/android/config.gni")
|
| - import("//build/config/android/rules.gni")
|
| -}
|
| -
|
| -executable("mojo_shell") {
|
| - sources = []
|
| -
|
| - deps = [
|
| - ":lib",
|
| - "//base",
|
| - "//build/config/sanitizers:deps",
|
| - "//mojo/common",
|
| - "//mojo/environment:chromium",
|
| - ]
|
| -
|
| - if (!is_android) {
|
| - sources += [
|
| - "desktop/launcher_process.cc",
|
| - "desktop/launcher_process.h",
|
| - "desktop/main.cc",
|
| - ]
|
| - } else {
|
| - sources += [
|
| - "android/library_loader.cc",
|
| - "android/main.cc",
|
| - "android/main.h",
|
| - ]
|
| -
|
| - # On android, the executable is also the native library used by the apk.
|
| - # It means dynamic symbols must be preserved and exported.
|
| - ldflags = [ "-Wl,--export-dynamic" ]
|
| -
|
| - deps += [
|
| - ":jni_headers",
|
| - "//components/native_viewport:lib",
|
| - "//mojo/shell/application_manager",
|
| - "//ui/gl",
|
| - ]
|
| - }
|
| -}
|
| -
|
| -source_set("in_process_native_runner") {
|
| +source_set("shell") {
|
| + output_name = "mojo_shell"
|
| sources = [
|
| - "in_process_native_runner.cc",
|
| - "in_process_native_runner.h",
|
| + "application_loader.h",
|
| + "application_manager.cc",
|
| + "application_manager.h",
|
| + "data_pipe_peek.cc",
|
| + "data_pipe_peek.h",
|
| + "fetcher.cc",
|
| + "fetcher.h",
|
| + "identity.cc",
|
| + "identity.h",
|
| + "local_fetcher.cc",
|
| + "local_fetcher.h",
|
| + "native_runner.h",
|
| + "network_fetcher.cc",
|
| + "network_fetcher.h",
|
| + "query_util.cc",
|
| + "query_util.h",
|
| + "shell_impl.cc",
|
| + "shell_impl.h",
|
| + "switches.cc",
|
| + "switches.h",
|
| ]
|
|
|
| public_deps = [
|
| - ":native_application_support",
|
| - "//mojo/shell/application_manager",
|
| - ]
|
| -
|
| - deps = [
|
| - "//base",
|
| - ]
|
| -}
|
| -
|
| -source_set("lib") {
|
| - sources = [
|
| - "child_process.cc",
|
| - "child_process.h",
|
| - "child_process_host.cc",
|
| - "child_process_host.h",
|
| - "context.cc",
|
| - "context.h",
|
| - "filename_util.cc",
|
| - "filename_util.h",
|
| - "init.cc",
|
| - "init.h",
|
| - "out_of_process_native_runner.cc",
|
| - "out_of_process_native_runner.h",
|
| - "task_runners.cc",
|
| - "task_runners.h",
|
| - "url_resolver.cc",
|
| - "url_resolver.h",
|
| - ]
|
| -
|
| - deps = [
|
| - ":child_process_bindings",
|
| - ":in_process_native_runner",
|
| - ":native_application_support",
|
| "//base",
|
| - "//base/third_party/dynamic_annotations",
|
| - "//base:base_static",
|
| - "//mojo/application",
|
| "//mojo/common",
|
| - "//mojo/common:tracing_impl",
|
| - "//third_party/mojo/src/mojo/edk/system",
|
| - "//third_party/mojo/src/mojo/public/cpp/bindings",
|
| - "//third_party/mojo/src/mojo/public/interfaces/application",
|
| + "//third_party/mojo/src/mojo/public/interfaces/application:application",
|
| "//mojo/services/network/public/interfaces",
|
| - "//mojo/shell/application_manager",
|
| - "//mojo/services/tracing:bindings",
|
| - "//ui/gl",
|
| "//url",
|
| ]
|
| -
|
| - public_deps = [
|
| - ":switches",
|
| - ]
|
| -
|
| - if (is_android) {
|
| - sources += [
|
| - "android/android_handler.cc",
|
| - "android/android_handler.h",
|
| - "android/android_handler_loader.cc",
|
| - "android/android_handler_loader.h",
|
| - "android/background_application_loader.cc",
|
| - "android/background_application_loader.h",
|
| - "android/native_viewport_application_loader.cc",
|
| - "android/native_viewport_application_loader.h",
|
| - "android/ui_application_loader_android.cc",
|
| - "android/ui_application_loader_android.h",
|
| - ]
|
| -
|
| - deps += [
|
| - ":jni_headers",
|
| - ":run_android_application_function",
|
| - "//components/gles2",
|
| - "//components/native_viewport:lib",
|
| - "//mojo/application:content_handler",
|
| - ]
|
| - }
|
| -
|
| - # This target includes some files behind #ifdef OS... guards. Since gn is not
|
| - # smart enough to understand preprocess includes, it does complains about
|
| - # these includes when not using the build files for that OS. Suppress checking
|
| - # so we can enable checking for the rest of the targets in this file.
|
| - # TODO: Might be better to split the files with OS-specific includes out to a
|
| - # separate source_set so we can leave checking on for the rest of the target.
|
| - check_includes = false
|
| -}
|
| -
|
| -source_set("native_application_support") {
|
| - sources = [
|
| - "native_application_support.cc",
|
| - "native_application_support.h",
|
| - ]
|
| -
|
| - public_deps = [
|
| - "//third_party/mojo/src/mojo/public/cpp/bindings",
|
| - ]
|
| -
|
| deps = [
|
| - "//base",
|
| - "//mojo/gles2",
|
| - ]
|
| -
|
| - # This target has to include the public thunk headers, which generally
|
| - # shouldn't be included without picking an implementation. We are providing
|
| - # the implementation but the thunk header target cannot declare that we are
|
| - # permitted to include it since it's in the public SDK and we are not.
|
| - # Suppress include checking so we can still check the rest of the targets in
|
| - # this file.
|
| - check_includes = false
|
| -}
|
| -
|
| -source_set("switches") {
|
| - sources = [
|
| - "switches.cc",
|
| - "switches.h",
|
| - ]
|
| -
|
| - deps = [
|
| - "//base",
|
| - ]
|
| -}
|
| -
|
| -if (is_android) {
|
| - generate_jni("jni_headers") {
|
| - sources = [
|
| - "android/apk/src/org/chromium/mojo/shell/AndroidHandler.java",
|
| - "android/apk/src/org/chromium/mojo/shell/Bootstrap.java",
|
| - "android/apk/src/org/chromium/mojo/shell/ShellMain.java",
|
| - "android/tests/src/org/chromium/mojo/shell/ShellTestBase.java",
|
| - ]
|
| - jni_package = "mojo/shell"
|
| - }
|
| -
|
| - android_library("bootstrap_java") {
|
| - java_files = [ "android/apk/src/org/chromium/mojo/shell/Bootstrap.java" ]
|
| -
|
| - deps = [
|
| - "//base:base_java",
|
| - ]
|
| -
|
| - dex_path = "$target_out_dir/bootstrap_java.dex.jar"
|
| - }
|
| -
|
| - shared_library("bootstrap") {
|
| - sources = [
|
| - "android/bootstrap.cc",
|
| - ]
|
| - deps = [
|
| - ":jni_headers",
|
| - ":lib",
|
| - ":run_android_application_function",
|
| - "//base",
|
| - ]
|
| - }
|
| -
|
| - # Shared header between the bootstrap and the main shell .so.
|
| - source_set("run_android_application_function") {
|
| - sources = [
|
| - "android/run_android_application_function.h",
|
| - ]
|
| -
|
| - deps = [
|
| - "//base",
|
| - ]
|
| - }
|
| -
|
| - android_library("java") {
|
| - java_files = [
|
| - "android/apk/src/org/chromium/mojo/shell/AndroidHandler.java",
|
| - "android/apk/src/org/chromium/mojo/shell/FileHelper.java",
|
| - "android/apk/src/org/chromium/mojo/shell/MojoShellActivity.java",
|
| - "android/apk/src/org/chromium/mojo/shell/MojoShellApplication.java",
|
| - "android/apk/src/org/chromium/mojo/shell/ShellMain.java",
|
| - ]
|
| -
|
| - deps = [
|
| - "//base:base_java",
|
| - ]
|
| - }
|
| -
|
| - android_resources("resources") {
|
| - resource_dirs = [ "android/apk/res" ]
|
| - custom_package = "org.chromium.mojo.shell"
|
| - }
|
| -
|
| - mojo_shell_assets_dir = "$root_build_dir/mojo_shell_assets"
|
| - mojo_shell_test_assets_dir = "$root_build_dir/mojo_shell_test_assets"
|
| -
|
| - copy_ex("copy_mojo_shell_assets") {
|
| - clear_dir = true
|
| - dest = mojo_shell_assets_dir
|
| - sources = [
|
| - "$root_out_dir/lib.stripped/libbootstrap.so",
|
| - "$root_out_dir/network_service.mojo",
|
| - "$root_out_dir/obj/mojo/shell/bootstrap_java.dex.jar",
|
| - ]
|
| - }
|
| -
|
| - copy("copy_mojo_shell") {
|
| - sources = [
|
| - "$root_out_dir/exe.stripped/mojo_shell",
|
| - ]
|
| - outputs = [
|
| - "$root_out_dir/lib.stripped/libmojo_shell.so",
|
| - ]
|
| - }
|
| -
|
| - copy_ex("copy_mojo_shell_test_assets") {
|
| - clear_dir = true
|
| - dest = mojo_shell_test_assets_dir
|
| - sources = [
|
| - "$root_out_dir/test_app.mojo",
|
| - "$root_out_dir/test_request_tracker_app.mojo",
|
| - ]
|
| - }
|
| -
|
| - android_apk("mojo_shell_apk") {
|
| - apk_name = "MojoShell"
|
| -
|
| - android_manifest = "android/apk/AndroidManifest.xml"
|
| -
|
| - native_libs = [ "libmojo_shell.so" ]
|
| -
|
| - asset_location = mojo_shell_assets_dir
|
| -
|
| - deps = [
|
| - ":copy_mojo_shell",
|
| - ":copy_mojo_shell_assets",
|
| - ":java",
|
| - ":resources",
|
| - "//base:base_java",
|
| - "//components/native_viewport:native_viewport_java",
|
| - "//third_party/android_tools:google_play_services_default_resources",
|
| - ]
|
| - }
|
| -
|
| - android_library("mojo_shell_tests_java") {
|
| - java_files =
|
| - [ "android/tests/src/org/chromium/mojo/shell/ShellTestBase.java" ]
|
| -
|
| - deps = [
|
| - ":java",
|
| - "//base:base_java",
|
| - ]
|
| - }
|
| -}
|
| -
|
| -mojom("child_process_bindings") {
|
| - sources = [
|
| - "child_process.mojom",
|
| - ]
|
| -
|
| - deps = [
|
| - "//third_party/mojo/src/mojo/public/interfaces/application",
|
| + "//base/third_party/dynamic_annotations",
|
| + "//crypto:crypto",
|
| + "//url",
|
| + "//third_party/mojo/src/mojo/edk/system",
|
| + "//mojo/environment:chromium",
|
| + "//third_party/mojo_services/src/content_handler/public/interfaces",
|
| + "//mojo/runner:native_application_support",
|
| ]
|
| }
|
|
|
| @@ -337,77 +52,27 @@ test("tests") {
|
| output_name = "mojo_shell_unittests"
|
|
|
| sources = [
|
| - "child_process_host_unittest.cc",
|
| - "data_pipe_peek_unittest.cc",
|
| - "in_process_native_runner_unittest.cc",
|
| - "native_runner_unittest.cc",
|
| - "shell_test_base.cc",
|
| - "shell_test_base.h",
|
| - "shell_test_base_android.cc",
|
| - "shell_test_base_unittest.cc",
|
| - "shell_test_main.cc",
|
| - "url_resolver_unittest.cc",
|
| + "application_manager_unittest.cc",
|
| + "query_util_unittest.cc",
|
| ]
|
|
|
| deps = [
|
| - ":in_process_native_runner",
|
| - ":lib",
|
| + ":shell",
|
| + ":test_bindings",
|
| "//base",
|
| - "//base:i18n",
|
| - "//base/test:test_support",
|
| - "//testing/gtest",
|
| - "//url",
|
| + "//mojo/application",
|
| "//mojo/common",
|
| - "//third_party/mojo/src/mojo/edk/system",
|
| + "//third_party/mojo/src/mojo/edk/test:run_all_unittests",
|
| "//mojo/environment:chromium",
|
| + "//third_party/mojo/src/mojo/public/cpp/application",
|
| "//third_party/mojo/src/mojo/public/cpp/bindings",
|
| - "//mojo/services/test_service:bindings",
|
| - "//mojo/shell/application_manager",
|
| - ]
|
| -
|
| - datadeps = [
|
| - "//mojo/services/test_service:test_app",
|
| - "//mojo/services/test_service:test_request_tracker_app",
|
| + "//testing/gtest",
|
| + "//url",
|
| ]
|
| -
|
| - if (is_android) {
|
| - sources += [ "android/background_application_loader_unittest.cc" ]
|
| -
|
| - deps += [ ":jni_headers" ]
|
| -
|
| - apk_deps = [
|
| - ":copy_mojo_shell_test_assets",
|
| - ":mojo_shell_tests_java",
|
| - ]
|
| -
|
| - apk_asset_location = mojo_shell_test_assets_dir
|
| - }
|
| }
|
|
|
| -mojo_native_application("apptests") {
|
| - output_name = "shell_apptests"
|
| -
|
| - testonly = true
|
| -
|
| +mojom("test_bindings") {
|
| sources = [
|
| - # TODO(jam): needs http_server service.
|
| - #"shell_apptest.cc",
|
| - ]
|
| -
|
| - deps = [
|
| - "//base",
|
| - "//mojo/application",
|
| - "//mojo/application:test_support",
|
| - "//mojo/common:common",
|
| - "//third_party/mojo/src/mojo/public/cpp/bindings:callback",
|
| - "//third_party/mojo/src/mojo/public/cpp/environment",
|
| - "//third_party/mojo/src/mojo/public/cpp/system:system",
|
| -
|
| - #"//mojo/services/http_server/public/cpp",
|
| - #"//mojo/services/http_server/public/interfaces",
|
| - "//mojo/services/network/public/interfaces",
|
| - "//mojo/shell/test:bindings",
|
| + "test.mojom",
|
| ]
|
| -
|
| - #data_deps = [ "//services/http_server:http_server($default_toolchain)" ]
|
| }
|
|
|