# 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", ] }