Files
react-native-firebase/packages/ml-vision/android/ml-models.gradle

50 lines
1.7 KiB
Groovy

apply from: file("./../../app/android/firebase-json.gradle")
def mlModels = [
'ml_vision_face_model',
'ml_vision_image_label_model',
// 'ml_vision_object_detection_model', // object tracking -> TODO 6.1
]
dependencies {
if (rootProject.ext && rootProject.ext.firebaseJson) {
mlModels.each { modelFlag ->
if (rootProject.ext.firebaseJson.isFlagEnabled(modelFlag) == true) {
rootProject.logger.info ":${project.name} model enabled: '${modelFlag}'"
implementation "com.google.firebase:firebase-${modelFlag.replaceAll("_", "-")}"
} else {
rootProject.logger.warn ":${project.name} model disabled: '${modelFlag}'"
}
}
} else {
rootProject.logger.warn ":${project.name} skipping optional models as no firebaseJson extension found, you may be missing a firebase.json file in the root of your React Native project, or you've not installed the @react-native-firebase/app package and included it in your app build."
}
}
def manifestModels = [
'ml_vision_ocr_model',
'ml_vision_face_model',
'ml_vision_barcode_model',
'ml_vision_label_model',
// 'ml_vision_ica_model', // object tracking -> TODO 6.1
]
def manifestModelsString = ""
manifestModels.each { modelFlag ->
if (rootProject.ext && rootProject.ext.firebaseJson && rootProject.ext.firebaseJson.isFlagEnabled(modelFlag) == true) {
def modelIdentifier = modelFlag.replace("ml_vision_", "").replace("_model", "")
if (manifestModelsString.length() > 0) {
manifestModelsString += "," + modelIdentifier
} else {
manifestModelsString += modelIdentifier
}
}
}
android {
defaultConfig {
manifestPlaceholders = [visionModels: manifestModelsString]
}
}