plugins {
	id 'com.android.application'
}

android {
	namespace 'com.libremobileos.facedetect'
	compileSdk 33

	defaultConfig {
		applicationId "com.libremobileos.yifan.face.example"
		minSdk 28
		targetSdk 33
		versionCode 1
		versionName "1.0"
		missingDimensionStrategy 'gpu', 'withGpu' // include gpu delegate support. withoutGpu = exclude it
	}

	buildTypes {
		release {
			minifyEnabled false
			proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
		}
	}
	compileOptions {
		sourceCompatibility JavaVersion.VERSION_11
		targetCompatibility JavaVersion.VERSION_11
	}
}

dependencies {
	implementation('androidx.annotation:annotation:1.6.0')
	implementation('androidx.appcompat:appcompat:1.6.1')
	implementation(project(':FaceShared'))

	def camerax_version = "1.3.0-alpha04"
	implementation "androidx.camera:camera-core:${camerax_version}"
	implementation "androidx.camera:camera-camera2:${camerax_version}"
	implementation "androidx.camera:camera-lifecycle:${camerax_version}"
	implementation "androidx.camera:camera-video:${camerax_version}"
	implementation "androidx.camera:camera-view:${camerax_version}"
	implementation "androidx.camera:camera-extensions:${camerax_version}"
	implementation "androidx.exifinterface:exifinterface:1.3.6"

	constraints {
		implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0") {
			because("kotlin-stdlib-jdk7 is now a part of kotlin-stdlib")
		}
		implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0") {
			because("kotlin-stdlib-jdk8 is now a part of kotlin-stdlib")
		}
	}
}