blob: 416570417b0794e65fbd5afea4bb6e0cd494f5ea [file] [log] [blame]
# Copyright (c) 2021 Project CHIP Authors
#
# 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
#
# http://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.
import("//build_overrides/build.gni")
import("//build_overrides/chip.gni")
import("${build_root}/config/android_abi.gni")
import("${chip_root}/build/chip/java/rules.gni")
import("${chip_root}/build/chip/tools.gni")
shared_library("jni") {
output_name = "libTvCastingApp"
sources = [
"${chip_root}/examples/tv-casting-app/tv-casting-common/include/CHIPProjectAppConfig.h",
"App/app/src/main/jni/cpp/Constants.h",
"App/app/src/main/jni/cpp/ConversionUtils.cpp",
"App/app/src/main/jni/cpp/ConversionUtils.h",
"App/app/src/main/jni/cpp/JNIDACProvider.cpp",
"App/app/src/main/jni/cpp/JNIDACProvider.h",
"App/app/src/main/jni/cpp/MatterCallbackHandler-JNI.cpp",
"App/app/src/main/jni/cpp/MatterCallbackHandler-JNI.h",
"App/app/src/main/jni/cpp/TvCastingApp-JNI.cpp",
]
# add simplified casting API files here
sources += [
"App/app/src/main/jni/cpp/core/CastingApp-JNI.cpp",
"App/app/src/main/jni/cpp/core/CastingApp-JNI.h",
"App/app/src/main/jni/cpp/core/CastingPlayerDiscovery-JNI.cpp",
"App/app/src/main/jni/cpp/core/CastingPlayerDiscovery-JNI.h",
"App/app/src/main/jni/cpp/core/MatterCastingPlayer-JNI.cpp",
"App/app/src/main/jni/cpp/core/MatterCastingPlayer-JNI.h",
"App/app/src/main/jni/cpp/core/MatterEndpoint-JNI.cpp",
"App/app/src/main/jni/cpp/core/MatterEndpoint-JNI.h",
"App/app/src/main/jni/cpp/support/Converters-JNI.cpp",
"App/app/src/main/jni/cpp/support/Converters-JNI.h",
"App/app/src/main/jni/cpp/support/MatterCallback-JNI.h",
"App/app/src/main/jni/cpp/support/RotatingDeviceIdUniqueIdProvider-JNI.cpp",
"App/app/src/main/jni/cpp/support/RotatingDeviceIdUniqueIdProvider-JNI.h",
]
deps = [
"${chip_root}/examples/tv-casting-app/tv-casting-common",
"${chip_root}/src/app/data-model:heap",
"${chip_root}/src/app/server/java:jni",
"${chip_root}/src/controller/java:android_chip_im_jni",
"${chip_root}/src/lib",
"${chip_root}/third_party/inipp",
]
cflags = [ "-Wconversion" ]
output_dir = "${root_out_dir}/lib/jni/${android_abi}"
ldflags = [ "-Wl,--gc-sections" ]
}
android_library("java") {
output_name = "TvCastingApp.jar"
deps = [
":android",
"${chip_root}/src/app/server/java",
"${chip_root}/src/controller/java:android_chip_im",
"${chip_root}/src/platform/android:java",
"${chip_root}/third_party/android_deps:annotation",
]
data_deps = [
":jni",
"${chip_root}/build/chip/java:shared_cpplib",
]
sources = [
"App/app/src/main/jni/com/chip/casting/AppParameters.java",
"App/app/src/main/jni/com/chip/casting/CommissioningCallbacks.java",
"App/app/src/main/jni/com/chip/casting/ContentApp.java",
"App/app/src/main/jni/com/chip/casting/ContentLauncherTypes.java",
"App/app/src/main/jni/com/chip/casting/DACProvider.java",
"App/app/src/main/jni/com/chip/casting/DiscoveredNodeData.java",
"App/app/src/main/jni/com/chip/casting/FailureCallback.java",
"App/app/src/main/jni/com/chip/casting/MatterCallbackHandler.java",
"App/app/src/main/jni/com/chip/casting/MatterError.java",
"App/app/src/main/jni/com/chip/casting/MediaPlaybackTypes.java",
"App/app/src/main/jni/com/chip/casting/NsdDiscoveryListener.java",
"App/app/src/main/jni/com/chip/casting/NsdResolveListener.java",
"App/app/src/main/jni/com/chip/casting/SubscriptionEstablishedCallback.java",
"App/app/src/main/jni/com/chip/casting/SuccessCallback.java",
"App/app/src/main/jni/com/chip/casting/TargetNavigatorTypes.java",
"App/app/src/main/jni/com/chip/casting/TvCastingApp.java",
"App/app/src/main/jni/com/chip/casting/VideoPlayer.java",
]
# add simplified casting API files here
sources += [
"App/app/src/main/jni/com/matter/casting/core/CastingApp.java",
"App/app/src/main/jni/com/matter/casting/core/CastingAppState.java",
"App/app/src/main/jni/com/matter/casting/core/CastingPlayer.java",
"App/app/src/main/jni/com/matter/casting/core/CastingPlayerDiscovery.java",
"App/app/src/main/jni/com/matter/casting/core/Endpoint.java",
"App/app/src/main/jni/com/matter/casting/core/MatterCastingPlayer.java",
"App/app/src/main/jni/com/matter/casting/core/MatterCastingPlayerDiscovery.java",
"App/app/src/main/jni/com/matter/casting/support/AppParameters.java",
"App/app/src/main/jni/com/matter/casting/support/CommissionableData.java",
"App/app/src/main/jni/com/matter/casting/support/DACProvider.java",
"App/app/src/main/jni/com/matter/casting/support/DataProvider.java",
"App/app/src/main/jni/com/matter/casting/support/DeviceTypeStruct.java",
"App/app/src/main/jni/com/matter/casting/support/EndpointFilter.java",
"App/app/src/main/jni/com/matter/casting/support/MatterCallback.java",
"App/app/src/main/jni/com/matter/casting/support/MatterError.java",
]
javac_flags = [ "-Xlint:deprecation" ]
# TODO: add classpath support (we likely need to add something like
# ..../platforms/android-26/android.jar to access BLE items)
}
java_prebuilt("android") {
jar_path = "${android_sdk_root}/platforms/android-26/android.jar"
}
group("default") {
deps = [
":android",
":java",
":jni",
"${chip_root}/src/app/server/java",
"${chip_root}/src/controller/java:android_chip_im",
"${chip_root}/src/platform/android:java",
]
}