chromium/components/data_sharing/public/BUILD.gn

# Copyright 2023 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")
}

source_set("public") {
  sources = [
    "data_sharing_network_loader.cc",
    "data_sharing_network_loader.h",
    "data_sharing_network_utils.h",
    "data_sharing_sdk_delegate.h",
    "data_sharing_service.h",
    "data_sharing_ui_delegate.h",
    "features.cc",
    "features.h",
    "group_data.cc",
    "group_data.h",
  ]

  public_deps = [
    "//base",
    "//components/data_sharing/public/protocol",
    "//components/keyed_service/core",
    "//components/sync/model",
    "//net/traffic_annotation",
    "//url",
  ]
}

if (is_android) {
  android_library("public_java") {
    sources = [
      "android/java/src/org/chromium/components/data_sharing/DataSharingNetworkLoader.java",
      "android/java/src/org/chromium/components/data_sharing/DataSharingNetworkResult.java",
      "android/java/src/org/chromium/components/data_sharing/DataSharingNetworkUtils.java",
      "android/java/src/org/chromium/components/data_sharing/DataSharingRequestType.java",
      "android/java/src/org/chromium/components/data_sharing/DataSharingSDKDelegate.java",
      "android/java/src/org/chromium/components/data_sharing/DataSharingSDKDelegateProtoResponseCallback.java",
      "android/java/src/org/chromium/components/data_sharing/DataSharingService.java",
      "android/java/src/org/chromium/components/data_sharing/DataSharingUIDelegate.java",
      "android/java/src/org/chromium/components/data_sharing/GroupData.java",
      "android/java/src/org/chromium/components/data_sharing/GroupMember.java",
      "android/java/src/org/chromium/components/data_sharing/GroupToken.java",
      "android/java/src/org/chromium/components/data_sharing/SharedDataPreview.java",
      "android/java/src/org/chromium/components/data_sharing/SharedEntity.java",
      "android/java/src/org/chromium/components/data_sharing/configs/AvatarConfig.java",
      "android/java/src/org/chromium/components/data_sharing/configs/GroupMemberConfig.java",
      "android/java/src/org/chromium/components/data_sharing/configs/MemberPickerConfig.java",
    ]

    deps = [
      "//base:base_java",
      "//components/data_sharing/public/protocol:proto_java",
      "//components/sync/protocol:protocol_java",
      "//net/android:net_java",
      "//third_party/android_deps:protobuf_lite_runtime_java",
      "//third_party/androidx:androidx_annotation_annotation_java",
      "//third_party/jni_zero:jni_zero_java",
      "//url:gurl_java",
    ]

    srcjar_deps = [ ":enums_java" ]
  }

  java_cpp_enum("enums_java") {
    sources = [
      "data_sharing_network_loader.h",
      "data_sharing_service.h",
      "group_data.h",
    ]
  }

  generate_jni("jni_headers") {
    sources = [
      "android/java/src/org/chromium/components/data_sharing/DataSharingNetworkResult.java",
      "android/java/src/org/chromium/components/data_sharing/GroupData.java",
      "android/java/src/org/chromium/components/data_sharing/GroupMember.java",
      "android/java/src/org/chromium/components/data_sharing/GroupToken.java",
      "android/java/src/org/chromium/components/data_sharing/SharedEntity.java",
    ]
  }
}