94 lines
3.1 KiB
Text
94 lines
3.1 KiB
Text
group = "io.flutter.plugins.camerax"
|
|
version = "1.0"
|
|
|
|
buildscript {
|
|
val kotlinVersion = "2.3.0"
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
classpath("com.android.tools.build:gradle:8.13.1")
|
|
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
|
|
}
|
|
}
|
|
|
|
allprojects {
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
id("com.android.library")
|
|
}
|
|
|
|
kotlin {
|
|
compilerOptions {
|
|
jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17
|
|
}
|
|
}
|
|
|
|
android {
|
|
namespace = "io.flutter.plugins.camerax"
|
|
// CameraX dependencies require compilation against version 33 or later.
|
|
compileSdk = flutter.compileSdkVersion
|
|
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
}
|
|
|
|
defaultConfig {
|
|
// CameraX APIs require API 23 or later.
|
|
minSdk = 23
|
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
|
}
|
|
|
|
testOptions {
|
|
unitTests {
|
|
isIncludeAndroidResources = true
|
|
isReturnDefaultValues = true
|
|
all {
|
|
it.outputs.upToDateWhen { false }
|
|
it.testLogging {
|
|
events("passed", "skipped", "failed", "standardOut", "standardError")
|
|
showStandardStreams = true
|
|
}
|
|
// The org.gradle.jvmargs property that may be set in gradle.properties does not impact
|
|
// the Java heap size when running the Android unit tests. The following property here
|
|
// sets the heap size to a size large enough to run the robolectric tests across
|
|
// multiple SDK levels.
|
|
it.jvmArgs("-Xmx1G")
|
|
}
|
|
}
|
|
}
|
|
|
|
lint {
|
|
checkAllWarnings = true
|
|
warningsAsErrors = true
|
|
disable.addAll(setOf("AndroidGradlePluginVersion", "GradleDependency", "InvalidPackage", "NewerVersionAvailable"))
|
|
baseline = file("lint-baseline.xml")
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
// CameraX core library using the camera2 implementation must use same version number.
|
|
val cameraxVersion = "1.6.1"
|
|
implementation("androidx.camera:camera-core:${cameraxVersion}")
|
|
implementation("androidx.camera:camera-camera2:${cameraxVersion}")
|
|
implementation("androidx.camera:camera-lifecycle:${cameraxVersion}")
|
|
implementation("androidx.camera:camera-video:${cameraxVersion}")
|
|
implementation("com.google.guava:guava:33.5.0-android")
|
|
// camera-core's compiled classes reference CallbackToFutureAdapter type annotations;
|
|
// without this explicit dependency, javac fails to resolve them during compilation.
|
|
// Upstream: https://issuetracker.google.com/issues/543937345
|
|
implementation("androidx.concurrent:concurrent-futures:1.2.0")
|
|
testImplementation("junit:junit:4.13.2")
|
|
testImplementation("org.mockito:mockito-core:5.23.0")
|
|
testImplementation("org.mockito:mockito-inline:5.2.0")
|
|
testImplementation("androidx.test:core:1.7.0")
|
|
testImplementation("org.robolectric:robolectric:4.16")
|
|
}
|