Index: blimp/client/BUILD.gn |
diff --git a/blimp/client/BUILD.gn b/blimp/client/BUILD.gn |
index 652d5559d5ccc1ecc2a60f2abecc28071eed2bb8..385bcf06c41d4ace2c4bd9a26e033a0a752fc3d8 100644 |
--- a/blimp/client/BUILD.gn |
+++ b/blimp/client/BUILD.gn |
@@ -9,371 +9,68 @@ if (is_android) { |
import("//build/config/android/rules.gni") |
} |
-source_set("session") { |
- sources = [ |
- "session/blimp_client_session.cc", |
- "session/blimp_client_session.h", |
- ] |
- |
- public_deps = [ |
- "//blimp/client/core", |
- "//blimp/client/core/geolocation", |
- "//blimp/client/core/switches", |
- "//blimp/common/proto", |
- "//device/geolocation", |
- "//ui/events", |
- ] |
- |
- deps = [ |
- "//base", |
- "//blimp/client/core/compositor", |
- "//blimp/client/core/contents", |
- "//blimp/client/core/render_widget", |
- "//blimp/client/core/session", |
- "//blimp/client/core/settings", |
- "//blimp/common", |
- "//blimp/common/proto", |
- "//blimp/net", |
- "//net", |
- "//ui/gfx/geometry", |
- "//url:url", |
- ] |
-} |
- |
-source_set("client") { |
- sources = [ |
- "app/blimp_discardable_memory_allocator.cc", |
- "app/blimp_discardable_memory_allocator.h", |
- "app/blimp_startup.cc", |
- "app/blimp_startup.h", |
- "app/compositor/browser_compositor.cc", |
- "app/compositor/browser_compositor.h", |
- ] |
- |
- public_deps = [ |
- ":session", |
- "//blimp/client/core/compositor", |
- "//blimp/client/core/switches", |
- "//blimp/client/support", |
- "//cc", |
- "//cc/surfaces", |
- "//components/safe_json", |
- "//components/url_formatter", |
- "//skia", |
- "//ui/events", |
- "//ui/gfx/geometry", |
- ] |
- |
- deps = [ |
- "//base", |
- "//blimp/client/core", |
- "//blimp/client/public:public_headers", |
- "//blimp/client/support", |
- "//blimp/common", |
- "//blimp/common/proto", |
- "//blimp/net", |
- "//cc", |
- "//gpu/command_buffer/client:gles2_implementation", |
- "//gpu/skia_bindings", |
- "//net", |
- "//third_party/libwebp", |
- "//ui/gfx/geometry", |
- "//ui/gl", |
- "//ui/gl/init", |
- "//url:url", |
- ] |
-} |
- |
-source_set("app_unit_tests") { |
- testonly = true |
- |
- sources = [ |
- "app/blimp_discardable_memory_allocator_unittest.cc", |
- ] |
- |
- deps = [ |
- ":client", |
- "//base", |
- "//base/test:test_support", |
- "//testing/gmock", |
- "//testing/gtest", |
- ] |
-} |
- |
-source_set("test_support") { |
- testonly = true |
+group("client") { |
+ visibility = [ "//blimp" ] |
- sources = [ |
- "session/test_client_session.cc", |
- "session/test_client_session.h", |
- ] |
+ deps = [] |
- deps = [ |
- ":session", |
- "//url", |
- ] |
-} |
- |
-if (is_linux && !is_chromeos && use_x11) { |
- executable("blimp_shell") { |
- sources = [ |
- "app/linux/blimp_client_context_delegate_linux.cc", |
- "app/linux/blimp_client_context_delegate_linux.h", |
- "app/linux/blimp_display_manager.cc", |
- "app/linux/blimp_display_manager.h", |
- "app/linux/blimp_display_manager_delegate_main.cc", |
- "app/linux/blimp_display_manager_delegate_main.h", |
- "app/linux/blimp_main.cc", |
+ if (is_android) { |
+ deps += [ |
+ "//blimp/client/app:blimp_apk", |
+ "//blimp/client/app:blimp_apk_incremental", |
] |
- |
- deps = [ |
- ":client", |
- "//base", |
- "//blimp/client/core/compositor", |
- "//blimp/client/core/session", |
- "//blimp/net", |
- "//net", |
- "//services/shell/public/cpp", |
- |
- # TODO(khushalsagar|scottmg): Remove this dependency from browser to |
- # blink. See https://crbug.com/608114. |
- "//third_party/WebKit/public:blink", |
- "//ui/events/platform/x11", |
- "//ui/platform_window", |
- "//ui/platform_window/x11", |
- ] |
- |
- public_configs = [ "//build/config/linux:x11" ] |
- public_deps = [ |
- "//blimp/client/core/contents", |
- "//ui/events/platform/x11", |
- ] |
- } |
-} |
- |
-if (is_android) { |
- declare_args() { |
- # Package name used in the manifest for the Blimp APK. |
- blimp_package_name = "org.chromium.blimp" |
} |
- manifest_package = blimp_package_name |
- blimp_apk_manifest = "$target_gen_dir/blimp_apk_manifest/AndroidManifest.xml" |
- blimp_test_apk_manifest = |
- "$target_gen_dir/blimp_test_apk_manifest/AndroidManifest.xml" |
- |
- jinja_variables = [ "manifest_package=$manifest_package" ] |
- |
- jinja_template("blimp_apk_manifest") { |
- input = "app/android/AndroidManifest.xml.jinja2" |
- output = blimp_apk_manifest |
- variables = jinja_variables |
- } |
- |
- jinja_template("blimp_test_apk_manifest") { |
- input = "app/android/javatests/AndroidManifest.xml.jinja2" |
- output = blimp_test_apk_manifest |
- variables = jinja_variables |
+ if (is_linux && !is_chromeos && use_x11) { |
+ deps += [ "//blimp/client/app:blimp_shell" ] |
} |
+} |
- generate_jni("jni_headers") { |
- sources = [ |
- "app/android/java/src/org/chromium/blimp/BlimpLibraryLoader.java", |
- "app/android/java/src/org/chromium/blimp/BlimpView.java", |
- "app/android/java/src/org/chromium/blimp/session/BlimpClientSession.java", |
- "app/android/java/src/org/chromium/blimp/session/TabControlFeature.java", |
- "app/android/java/src/org/chromium/blimp/toolbar/Toolbar.java", |
- ] |
+group("test_binaries") { |
+ visibility = [ "//blimp:blimp_tests" ] |
- jni_package = "blimp" |
- } |
+ testonly = true |
- android_resources("blimp_java_resources") { |
- resource_dirs = [ "app/android/java/res" ] |
+ if (is_android) { |
deps = [ |
- ":blimp_strings_grd", |
+ "//blimp/client/app:blimp_test_apk", |
] |
- custom_package = "org.chromium.blimp" |
} |
+} |
- java_strings_grd("blimp_strings_grd") { |
- grd_file = "app/android/java/strings/android_blimp_strings.grd" |
- outputs = [ |
- "values-am/android_blimp_strings.xml", |
- "values-ar/android_blimp_strings.xml", |
- "values-bg/android_blimp_strings.xml", |
- "values-ca/android_blimp_strings.xml", |
- "values-cs/android_blimp_strings.xml", |
- "values-da/android_blimp_strings.xml", |
- "values-de/android_blimp_strings.xml", |
- "values-el/android_blimp_strings.xml", |
- "values/android_blimp_strings.xml", |
- "values-en-rGB/android_blimp_strings.xml", |
- "values-es/android_blimp_strings.xml", |
- "values-es-rUS/android_blimp_strings.xml", |
- "values-fa/android_blimp_strings.xml", |
- "values-fi/android_blimp_strings.xml", |
- "values-tl/android_blimp_strings.xml", |
- "values-fr/android_blimp_strings.xml", |
- "values-hi/android_blimp_strings.xml", |
- "values-hr/android_blimp_strings.xml", |
- "values-hu/android_blimp_strings.xml", |
- "values-in/android_blimp_strings.xml", |
- "values-it/android_blimp_strings.xml", |
- "values-iw/android_blimp_strings.xml", |
- "values-ja/android_blimp_strings.xml", |
- "values-ko/android_blimp_strings.xml", |
- "values-lt/android_blimp_strings.xml", |
- "values-lv/android_blimp_strings.xml", |
- "values-nl/android_blimp_strings.xml", |
- "values-nb/android_blimp_strings.xml", |
- "values-pl/android_blimp_strings.xml", |
- "values-pt-rBR/android_blimp_strings.xml", |
- "values-pt-rPT/android_blimp_strings.xml", |
- "values-ro/android_blimp_strings.xml", |
- "values-ru/android_blimp_strings.xml", |
- "values-sk/android_blimp_strings.xml", |
- "values-sl/android_blimp_strings.xml", |
- "values-sr/android_blimp_strings.xml", |
- "values-sv/android_blimp_strings.xml", |
- "values-sw/android_blimp_strings.xml", |
- "values-th/android_blimp_strings.xml", |
- "values-tr/android_blimp_strings.xml", |
- "values-uk/android_blimp_strings.xml", |
- "values-vi/android_blimp_strings.xml", |
- "values-zh-rCN/android_blimp_strings.xml", |
- "values-zh-rTW/android_blimp_strings.xml", |
- ] |
- } |
+group("unit_tests") { |
+ visibility = [ "//blimp:*" ] |
- android_library("blimp_java") { |
- deps = [ |
- ":blimp_java_resources", |
- "//base:base_java", |
- "//blimp/client/core:core_java", |
- "//blimp/client/public:public_headers_java", |
- "//third_party/android_tools:android_support_annotations_java", |
+ testonly = true |
- # TODO(dtrainor): Remove the ui_java target once no more Android Toast |
- # notifications are used. |
- "//ui/android:ui_java", |
- google_play_services_library, |
- ] |
+ deps = [ |
+ "//blimp/client/app:app_unit_tests", |
+ "//blimp/client/core:unit_tests", |
+ ] |
+} |
- java_files = [ |
- "app/android/java/src/org/chromium/blimp/auth/RetryingTokenSource.java", |
- "app/android/java/src/org/chromium/blimp/auth/TokenSource.java", |
- "app/android/java/src/org/chromium/blimp/auth/TokenSourceImpl.java", |
- "app/android/java/src/org/chromium/blimp/BlimpApplication.java", |
- "app/android/java/src/org/chromium/blimp/BlimpLibraryLoader.java", |
- "app/android/java/src/org/chromium/blimp/BlimpRendererActivity.java", |
- "app/android/java/src/org/chromium/blimp/BlimpView.java", |
- "app/android/java/src/org/chromium/blimp/BrowserRestartActivity.java", |
- "app/android/java/src/org/chromium/blimp/preferences/PreferencesUtil.java", |
- "app/android/java/src/org/chromium/blimp/session/BlimpClientSession.java", |
- "app/android/java/src/org/chromium/blimp/session/EngineInfo.java", |
- "app/android/java/src/org/chromium/blimp/session/TabControlFeature.java", |
- "app/android/java/src/org/chromium/blimp/settings/AboutBlimpPreferences.java", |
- "app/android/java/src/org/chromium/blimp/settings/Preferences.java", |
- "app/android/java/src/org/chromium/blimp/toolbar/Toolbar.java", |
- "app/android/java/src/org/chromium/blimp/toolbar/ToolbarMenu.java", |
- "app/android/java/src/org/chromium/blimp/toolbar/UrlBar.java", |
- ] |
- } |
+if (is_android) { |
+ # This is the list of targets that the tests need to depend on in order to add |
+ # the java classes for their native counterparts to the test apk. |
+ # We could directly include them in the test target, but in order to |
+ # keep the visibility of the //blimp/client/core:core_java target restricted, |
+ # we make it visible to this group (which is testonly) and depend on this |
+ # group instead. |
+ # We could not add "//blimp:blimp_unittests" to the visibility list of |
+ # //blimp/client/core:core_java, since the targets that actually need to |
+ # depend on it are generated by the test template (see testing/test.gni). So |
+ # it was better to add this indirection and expose it to this testonly target, |
+ # which can be used in this file only. |
+ java_group("blimp_unittests_java_deps") { |
+ visibility = [ "//blimp:*" ] |
- android_library("blimp_test_java") { |
testonly = true |
deps = [ |
- ":blimp_java", |
- "//base:base_java", |
- "//base:base_java_test_support", |
- "//blimp/client/core/common:common_java", |
- "//blimp/client/core/contents:contents_java", |
- "//blimp/client/core/settings:settings_java", |
- "//blimp/client/public:public_headers_java", |
- "//components/signin/core/browser/android:java", |
- "//components/sync/android:sync_java", |
- "//third_party/android_tools:android_support_v7_appcompat_java", |
- "//ui/android:ui_java", |
- google_play_services_library, |
- ] |
- |
- java_files = [ |
- "app/android/javatests/src/org/chromium/blimp/auth/MockTokenSource.java", |
- "app/android/javatests/src/org/chromium/blimp/auth/RetryingTokenSourceTest.java", |
- "app/android/javatests/src/org/chromium/blimp/core/MockBlimpClientContext.java", |
- "app/android/javatests/src/org/chromium/blimp/core/MockBlimpClientContextDelegate.java", |
- "app/android/javatests/src/org/chromium/blimp/core/settings/BlimpPreferencesTest.java", |
- "app/android/javatests/src/org/chromium/blimp/core/settings/MockPreferences.java", |
- "app/android/javatests/src/org/chromium/blimp/BlimpNativeInstrumentationTestCase.java", |
- ] |
- } |
- |
- shared_library("blimp_client_android") { |
- deps = [ |
- ":client", |
- ":jni_headers", |
- "//base", |
- "//blimp/client/core", |
- "//blimp/client/core/compositor", |
- "//blimp/client/core/contents", |
- "//blimp/client/core/session:session", |
- "//blimp/client/core/settings", |
- "//blimp/client/public:public_headers", |
- "//blimp/common", |
- "//blimp/common/proto", |
- "//blimp/net", |
- "//components/safe_json/android:safe_json_jni_headers", |
- "//components/version_info", |
- "//net", |
- "//skia", |
- "//ui/gfx/geometry", |
- "//ui/gl", |
- "//url:url", |
- ] |
- |
- sources = [ |
- "app/android/blimp_app_jni_registrar.cc", |
- "app/android/blimp_app_jni_registrar.h", |
- "app/android/blimp_client_session_android.cc", |
- "app/android/blimp_client_session_android.h", |
- "app/android/blimp_library_loader.cc", |
- "app/android/blimp_library_loader.h", |
- "app/android/blimp_view.cc", |
- "app/android/blimp_view.h", |
- "app/android/tab_control_feature_android.cc", |
- "app/android/tab_control_feature_android.h", |
- "app/android/toolbar.cc", |
- "app/android/toolbar.h", |
- "app/user_agent.cc", |
- "app/user_agent.h", |
- ] |
- |
- libs = [ "android" ] |
- } |
- |
- android_apk("blimp_apk") { |
- deps = [ |
- ":blimp_java", |
"//base:base_java", |
"//blimp/client/core:core_java", |
- "//components/safe_json/android:safe_json_java", |
"//net/android:net_java", |
- ] |
- apk_name = "Blimp" |
- android_manifest = blimp_apk_manifest |
- android_manifest_dep = ":blimp_apk_manifest" |
- shared_libraries = [ ":blimp_client_android" ] |
- } |
- |
- instrumentation_test_apk("blimp_test_apk") { |
- apk_name = "BlimpTest" |
- apk_under_test = ":blimp_apk" |
- android_manifest = blimp_test_apk_manifest |
- android_manifest_dep = ":blimp_test_apk_manifest" |
- deps = [ |
- ":blimp_test_java", |
+ "//ui/android:ui_java", |
] |
} |
} |