mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-14 22:56:12 -04:00
139 lines
4.7 KiB
Python
139 lines
4.7 KiB
Python
# Copyright 2025 Google LLC
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# https://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
licenses(["notice"])
|
|
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test")
|
|
load("@rules_cc//cc/private/rules_impl:cc_static_library.bzl", "cc_static_library")
|
|
|
|
load("@hedron_compile_commands//:refresh_compile_commands.bzl", "refresh_compile_commands")
|
|
|
|
refresh_compile_commands(
|
|
name = "refresh_compile_commands",
|
|
|
|
# Specify the targets of interest.
|
|
# For example, specify a dict of targets and any flags required to build.
|
|
targets = {
|
|
":fast_init": "",
|
|
":nearby_connections_manager": "",
|
|
},
|
|
# No need to add flags already in .bazelrc. They're automatically picked up.
|
|
# If you don't need flags, a list of targets is also okay, as is a single target string.
|
|
# Wildcard patterns, like //... for everything, *are* allowed here, just like a build.
|
|
# As are additional targets (+) and subtractions (-), like in bazel query https://docs.bazel.build/versions/main/query.html#expressions
|
|
# And if you're working on a header-only library, specify a test or binary target that compiles it.
|
|
)
|
|
|
|
|
|
cc_library(
|
|
name = "fast_init",
|
|
hdrs = [
|
|
"nearby_fast_init_ble_beacon.h",
|
|
"nearby_fast_init_manager.h",
|
|
],
|
|
srcs = [
|
|
"nearby_fast_init_manager.cc",
|
|
],
|
|
deps = [
|
|
"//sharing/internal/api:platform",
|
|
"//connections:core",
|
|
"//internal/platform/implementation/linux"
|
|
]
|
|
)
|
|
|
|
|
|
cc_binary(
|
|
name = "fast_init_test",
|
|
srcs = ["nearby_fast_init.cc"],
|
|
deps = [":fast_init"],
|
|
)
|
|
|
|
cc_binary(
|
|
name = "nearby_connections",
|
|
srcs = [
|
|
"nearby_connections.cc",
|
|
],
|
|
deps = [
|
|
":nearby_connections_manager",
|
|
":fast_init",
|
|
"//connections:core",
|
|
"//internal/platform/implementation/linux:linux"
|
|
]
|
|
)
|
|
|
|
cc_binary(
|
|
name = "nearby_sharing_cli",
|
|
srcs = ["nearby_sharing_cli.cc"],
|
|
deps = [
|
|
":linux_sharing_platform",
|
|
"//connections/implementation/flags:connections_flags",
|
|
"//internal/base:file_path",
|
|
"//internal/flags:nearby_flags",
|
|
"//proto:sharing_enums_cc_proto",
|
|
"//sharing:attachments",
|
|
"//sharing/flags/generated:generated_flags",
|
|
"//sharing:nearby_sharing_service",
|
|
"//sharing:transfer_metadata",
|
|
"//sharing:types",
|
|
"//sharing/analytics",
|
|
"//sharing/common:enum",
|
|
"//sharing/proto:enums_cc_proto",
|
|
"@com_google_absl//absl/functional:any_invocable",
|
|
"@com_google_absl//absl/strings:string_view",
|
|
"@com_google_absl//absl/time",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "linux_sharing_platform",
|
|
srcs = [
|
|
"platform/linux_account_manager.cc",
|
|
"platform/linux_account_manager.h",
|
|
"platform/linux_platform_components.cc",
|
|
"platform/linux_platform_components.h",
|
|
"platform/linux_preference_manager.cc",
|
|
"platform/linux_preference_manager.h",
|
|
"platform/linux_sharing_platform.cc",
|
|
"platform/platform_util.cc",
|
|
"platform/platform_util.h",
|
|
],
|
|
hdrs = ["platform/linux_sharing_platform.h"],
|
|
visibility = ["//visibility:public"],
|
|
deps = [
|
|
":fast_init",
|
|
"//internal/base:file_path",
|
|
"//internal/base:files",
|
|
"//internal/platform:base",
|
|
"//internal/platform:logging",
|
|
"//internal/platform:mac_address",
|
|
"//internal/platform:types",
|
|
"//internal/platform:uuid",
|
|
"//internal/platform/implementation:platform",
|
|
"//internal/platform/implementation:types",
|
|
"//internal/platform/implementation/linux",
|
|
"//location/nearby/sharing/lib/account:account_manager",
|
|
"//location/nearby/sharing/lib/sync:sync_binding_prefs_cc_proto",
|
|
"//sharing/internal/api:platform",
|
|
"//sharing/internal/public:pref_names",
|
|
"//sharing/proto:share_cc_proto",
|
|
"@com_google_absl//absl/container:flat_hash_map",
|
|
"@com_google_absl//absl/container:flat_hash_set",
|
|
"@com_google_absl//absl/status",
|
|
"@com_google_absl//absl/status:statusor",
|
|
"@com_google_absl//absl/strings",
|
|
"@com_google_absl//absl/synchronization",
|
|
"@com_google_absl//absl/time",
|
|
"@nlohmann_json//:json",
|
|
],
|
|
)
|