| # Copyright 2015 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//mojo/public/mojo_application.gni") |
| import("//testing/test.gni") |
| |
| if (is_android) { |
| import("//build/config/android/rules.gni") |
| |
| java_library_path = "$target_out_dir/java_library.dex.jar" |
| |
| mojo_android_application("resource_provider") { |
| input_so = |
| "$root_shlib_dir/${shlib_prefix}resource_provider_lib$shlib_extension" |
| input_dex_jar = java_library_path |
| deps = [ |
| ":java_library", |
| ":resource_provider_lib", |
| "//mojo/application/public/cpp", |
| ] |
| } |
| |
| shared_library("resource_provider_lib") { |
| sources = [ |
| "android/android_hooks.cc", |
| "main.cc", |
| ] |
| |
| deps = [ |
| ":jni_headers", |
| ":lib", |
| "//base", |
| "//build/config/sanitizers:deps", |
| "//components/resource_provider/public/interfaces", |
| "//mojo/application/public/cpp", |
| "//mojo/environment:chromium", |
| "//mojo/platform_handle:for_shared_library", |
| "//mojo/public/c/system:for_shared_library", |
| "//url", |
| ] |
| } |
| |
| generate_jni("jni_headers") { |
| sources = [ |
| "android/java/org/chromium/resource_provider/Main.java", |
| ] |
| jni_package = "components/resource_provider" |
| } |
| |
| android_library("java_classes") { |
| java_files = [ "android/java/org/chromium/resource_provider/Main.java" ] |
| |
| deps = [ |
| "//base:base_java", |
| ] |
| } |
| |
| android_standalone_library("java_library") { |
| dex_path = java_library_path |
| |
| deps = [ |
| ":java_classes", |
| ] |
| } |
| } else { |
| mojo_native_application("resource_provider") { |
| sources = [ |
| "main.cc", |
| ] |
| |
| deps = [ |
| ":lib", |
| "//base", |
| "//components/resource_provider/public/interfaces", |
| "//mojo/application/public/cpp", |
| "//mojo/environment:chromium", |
| "//url", |
| ] |
| } |
| } |
| |
| source_set("lib") { |
| sources = [ |
| "file_utils.cc", |
| "file_utils.h", |
| "resource_provider_app.cc", |
| "resource_provider_app.h", |
| "resource_provider_impl.cc", |
| "resource_provider_impl.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//components/resource_provider/public/interfaces", |
| "//mojo/application/public/cpp", |
| "//mojo/common:common_base", |
| "//mojo/platform_handle", |
| "//mojo/services/tracing/public/cpp", |
| "//url", |
| ] |
| } |
| |
| test("resource_provider_unittests") { |
| sources = [ |
| "file_utils_unittest.cc", |
| ] |
| |
| deps = [ |
| ":lib", |
| "//base", |
| "//base/test:test_config", |
| "//components/resource_provider/public/interfaces", |
| "//mojo/environment:chromium", |
| "//mojo/platform_handle:for_shared_library", |
| "//testing/gtest", |
| "//third_party/mojo/src/mojo/edk/test:run_all_unittests", |
| "//url", |
| ] |
| } |
| |
| mojo_native_application("apptests") { |
| output_name = "resource_provider_apptests" |
| testonly = true |
| |
| sources = [ |
| "resource_provider_apptest.cc", |
| ] |
| |
| resources = [ |
| "//components/test/data/resource_provider/sample", |
| "//components/test/data/resource_provider/dir", |
| ] |
| |
| deps = [ |
| "//base", |
| "//base/test:test_config", |
| "//components/resource_provider/public/cpp", |
| "//components/resource_provider/public/interfaces", |
| "//mojo/application/public/cpp:test_support", |
| "//mojo/common", |
| ] |
| |
| data_deps = [ |
| ":resource_provider", |
| ] |
| } |