blob: dd0b72f87a8db2421a40394896a99d5e9c1d9546 [file] [log] [blame]
# Copyright 2024 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
if (is_android) {
import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
import("//third_party/jni_zero/jni_zero.gni")
}
group("internal") {
public_deps = [
":comments_internal",
":core_internal",
":messaging_internal",
]
}
static_library("core_internal") {
visibility = [
":*",
"//chrome/browser",
"//chrome/browser/collaboration:*",
"//chrome/test:*",
"//ios/chrome/browser/collaboration/model",
"//ios/chrome/browser/data_sharing/model",
]
sources = [
"collaboration_controller.cc",
"collaboration_controller.h",
"collaboration_service_impl.cc",
"collaboration_service_impl.h",
"empty_collaboration_service.cc",
"empty_collaboration_service.h",
"metrics.cc",
"metrics.h",
]
deps = [
"//components/data_sharing/public:group_data",
"//components/data_sharing/public:logger",
"//components/sync/service",
"//ui/base",
]
public_deps = [
"//base",
"//components/collaboration/public",
"//components/collaboration/public:prefs",
"//components/data_sharing/public",
"//components/keyed_service/core",
]
if (is_android) {
sources += [
"android/collaboration_service_android.cc",
"android/collaboration_service_android.h",
]
deps += [
":core_jni_headers",
"//components/collaboration/public:conversion_utils",
"//components/collaboration/public:core_jni_headers",
"//components/data_sharing/public:android_utils",
"//components/saved_tab_groups/public:conversion_utils",
]
}
}
source_set("collaboration_finder") {
sources = [
"collaboration_finder_impl.cc",
"collaboration_finder_impl.h",
]
deps = [
"//base",
"//components/data_sharing/public",
"//components/saved_tab_groups/public",
]
}
static_library("comments_internal") {
sources = [
"comments/comments_service_impl.cc",
"comments/comments_service_impl.h",
"comments/empty_comments_service.cc",
"comments/empty_comments_service.h",
]
deps = [
"//base",
"//components/collaboration/public:comments_public",
"//components/keyed_service/core",
]
if (is_android) {
sources += [
"android/comments/comments_service_bridge.cc",
"android/comments/comments_service_bridge.h",
]
deps += [
":comments_jni_headers",
"//components/saved_tab_groups/public:conversion_utils",
]
}
}
static_library("messaging_internal") {
sources = [
"messaging/configuration.cc",
"messaging/configuration.h",
"messaging/data_sharing_change_notifier.cc",
"messaging/data_sharing_change_notifier.h",
"messaging/data_sharing_change_notifier_impl.cc",
"messaging/data_sharing_change_notifier_impl.h",
"messaging/instant_message_processor.h",
"messaging/instant_message_processor_impl.cc",
"messaging/instant_message_processor_impl.h",
"messaging/messaging_backend_service_impl.cc",
"messaging/messaging_backend_service_impl.h",
"messaging/storage/collaboration_message_util.cc",
"messaging/storage/collaboration_message_util.h",
"messaging/storage/empty_messaging_backend_database.cc",
"messaging/storage/empty_messaging_backend_database.h",
"messaging/storage/messaging_backend_database.cc",
"messaging/storage/messaging_backend_database.h",
"messaging/storage/messaging_backend_database_impl.cc",
"messaging/storage/messaging_backend_database_impl.h",
"messaging/storage/messaging_backend_store.h",
"messaging/storage/messaging_backend_store_impl.cc",
"messaging/storage/messaging_backend_store_impl.h",
"messaging/tab_group_change_notifier.cc",
"messaging/tab_group_change_notifier.h",
"messaging/tab_group_change_notifier_impl.cc",
"messaging/tab_group_change_notifier_impl.h",
]
deps = [
"//base",
"//components/collaboration/internal/messaging/storage/protocol",
"//components/collaboration/public:empty_messaging_backend_service",
"//components/collaboration/public:messaging_public",
"//components/data_sharing/public",
"//components/saved_tab_groups/public",
"//components/sqlite_proto",
"//components/strings",
"//components/url_formatter",
"//google_apis",
"//sql",
"//ui/base",
]
if (is_android) {
sources += [
"android/messaging/conversion_utils.cc",
"android/messaging/conversion_utils.h",
"android/messaging/messaging_backend_service_bridge.cc",
"android/messaging/messaging_backend_service_bridge.h",
]
deps += [
":messaging_jni_headers",
"//components/data_sharing/public:android_utils",
"//components/saved_tab_groups/public:conversion_utils",
]
}
}
group("unit_tests") {
testonly = true
visibility = [ "//components/collaboration:unit_tests" ]
deps = [
":collaboration_finder_unit_tests",
":comments_unit_tests",
":core_unit_tests",
":messaging_unit_tests",
]
}
source_set("core_unit_tests") {
testonly = true
visibility = [ ":*" ]
sources = [
"collaboration_controller_unittest.cc",
"collaboration_service_impl_unittest.cc",
"empty_collaboration_service_unittest.cc",
]
deps = [
":internal",
"//base/test:test_support",
"//components/collaboration:test_support",
"//components/data_sharing:test_support",
"//components/data_sharing/public",
"//components/saved_tab_groups/test_support",
"//components/signin/public/identity_manager:test_support",
"//components/sync:test_support",
"//testing/gtest",
]
# TODO(crbug.com/40031409): Fix code that adds exit-time destructors and
# enable the diagnostic by removing this line.
configs += [ "//build/config/compiler:no_exit_time_destructors" ]
}
source_set("comments_unit_tests") {
testonly = true
visibility = [ ":*" ]
sources = [
"comments/comments_service_impl_unittest.cc",
"comments/empty_comments_service_unittest.cc",
]
deps = [
":comments_internal",
"//base",
"//base/test:test_support",
"//components/collaboration/public:comments_public",
"//testing/gtest",
]
if (is_android) {
sources += [ "android/comments/comments_service_bridge_unittest.cc" ]
deps += [
":comments_native_j_unittests_jni_headers",
":comments_native_java_unittests_java",
"//components/collaboration:test_support",
"//testing/gmock",
]
}
}
source_set("messaging_unit_tests") {
testonly = true
sources = [
"messaging/data_sharing_change_notifier_impl_unittest.cc",
"messaging/instant_message_processor_impl_unittest.cc",
"messaging/messaging_backend_service_impl_unittest.cc",
"messaging/storage/messaging_backend_database_impl_unittest.cc",
"messaging/storage/messaging_backend_store_impl_unittest.cc",
"messaging/tab_group_change_notifier_impl_unittest.cc",
]
deps = [
":messaging_internal",
"//base",
"//base/test:test_support",
"//components/collaboration:test_support",
"//components/collaboration/internal/messaging/storage/protocol",
"//components/collaboration/public:messaging_public",
"//components/data_sharing:test_support",
"//components/data_sharing/public",
"//components/saved_tab_groups/public",
"//components/saved_tab_groups/test_support",
"//components/signin/public/identity_manager:test_support",
"//components/tab_groups",
"//testing/gmock",
"//testing/gtest",
]
if (is_android) {
sources +=
[ "android/messaging/messaging_backend_service_bridge_unittest.cc" ]
deps += [
":messaging_native_j_unittests_jni_headers",
":messaging_native_java_unittests_java",
"//components/collaboration:test_support",
"//components/collaboration/public:messaging_public",
"//components/data_sharing/public",
"//components/saved_tab_groups/public:conversion_utils",
]
}
}
source_set("collaboration_finder_unit_tests") {
testonly = true
sources = [ "collaboration_finder_impl_unittest.cc" ]
deps = [
":collaboration_finder",
"//base/test:test_support",
"//components/data_sharing:test_support",
"//components/data_sharing/public",
"//components/saved_tab_groups/public",
"//testing/gtest",
]
}
if (is_android) {
java_group("java") {
visibility = [ "//chrome/android:*" ]
deps = [
":comments_java",
":core_java",
":messaging_java",
]
}
android_library("core_java") {
visibility = [ ":*" ]
srcjar_deps = [ ":core_jni_headers" ]
sources = [ "android/java/src/org/chromium/components/collaboration/CollaborationServiceImpl.java" ]
deps = [
"//base:base_java",
"//build/android:build_java",
"//components/collaboration/public:java",
"//components/data_sharing/public:public_java",
"//components/saved_tab_groups/public:java",
"//third_party/jni_zero:jni_zero_java",
"//url:url_java",
]
}
android_library("comments_java") {
visibility = [ ":*" ]
srcjar_deps = [ ":comments_jni_headers" ]
sources = [ "android/java/src/org/chromium/components/collaboration/comments/CommentsServiceBridge.java" ]
deps = [
"//base:base_java",
"//build/android:build_java",
"//components/collaboration/public:java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/jni_zero:jni_zero_java",
"//url:url_java",
]
}
android_library("messaging_java") {
visibility = [ ":*" ]
srcjar_deps = [ ":messaging_jni_headers" ]
sources = [
"android/java/src/org/chromium/components/collaboration/messaging/MessagingBackendServiceBridge.java",
"android/java/src/org/chromium/components/collaboration/messaging/bridge/ConversionUtils.java",
]
deps = [
"//base:base_java",
"//build/android:build_java",
"//components/collaboration/public:java",
"//components/data_sharing/public:public_java",
"//components/saved_tab_groups/public:java",
"//components/tab_groups:tab_groups_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/jni_zero:jni_zero_java",
]
}
android_library("comments_native_java_unittests_java") {
testonly = true
sources = [ "android/java/src/org/chromium/components/collaboration/comments/CommentsServiceBridgeUnitTestCompanion.java" ]
deps = [
":comments_java",
"//base:base_java",
"//base:base_java_test_support",
"//components/collaboration/public:comments_java",
"//third_party/jni_zero:jni_zero_java",
"//third_party/junit",
"//third_party/mockito:mockito_java",
"//url:url_java",
]
srcjar_deps = [ ":comments_native_j_unittests_jni_headers" ]
}
generate_jni("comments_native_j_unittests_jni_headers") {
testonly = true
sources = [ "android/java/src/org/chromium/components/collaboration/comments/CommentsServiceBridgeUnitTestCompanion.java" ]
}
android_library("messaging_native_java_unittests_java") {
testonly = true
sources = [ "android/java/src/org/chromium/components/collaboration/messaging/MessagingBackendServiceBridgeUnitTestCompanion.java" ]
deps = [
"//base:base_java",
"//base:base_java_test_support",
"//components/collaboration/internal:messaging_java",
"//components/collaboration/public:messaging_java",
"//components/data_sharing/public:public_java",
"//components/saved_tab_groups/public:java",
"//components/signin/public/android:java",
"//components/tab_groups:tab_groups_java",
"//google_apis/gaia/android:java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/jni_zero:jni_zero_java",
"//third_party/junit",
"//third_party/mockito:mockito_java",
"//url:url_java",
]
srcjar_deps = [ ":messaging_native_j_unittests_jni_headers" ]
}
generate_jni("messaging_native_j_unittests_jni_headers") {
testonly = true
sources = [ "android/java/src/org/chromium/components/collaboration/messaging/MessagingBackendServiceBridgeUnitTestCompanion.java" ]
}
generate_jni("core_jni_headers") {
visibility = [
":*",
"//chrome/browser",
]
sources = [ "android/java/src/org/chromium/components/collaboration/CollaborationServiceImpl.java" ]
}
generate_jni("comments_jni_headers") {
visibility = [ ":*" ]
sources = [ "android/java/src/org/chromium/components/collaboration/comments/CommentsServiceBridge.java" ]
}
generate_jni("messaging_jni_headers") {
visibility = [ ":*" ]
sources = [
"android/java/src/org/chromium/components/collaboration/messaging/MessagingBackendServiceBridge.java",
"android/java/src/org/chromium/components/collaboration/messaging/bridge/ConversionUtils.java",
]
}
}