You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
CameraView/cameraview/build.gradle.kts

138 lines
5.4 KiB

//import io.deepmedia.tools.publisher.common.License
//import io.deepmedia.tools.publisher.common.Release
//import io.deepmedia.tools.publisher.common.GithubScm
plugins {
id("com.android.library")
id("kotlin-android")
// id("io.deepmedia.tools.publisher")
// id("jacoco")
}
android {
setCompileSdkVersion(property("compileSdkVersion") as Int)
defaultConfig {
setMinSdkVersion(property("minSdkVersion") as Int)
setTargetSdkVersion(property("targetSdkVersion") as Int)
versionCode = 1
versionName = "2.7.1"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
testInstrumentationRunnerArgument("filter", "" +
"com.otaliastudios.cameraview.tools.SdkExcludeFilter," +
"com.otaliastudios.cameraview.tools.SdkIncludeFilter")
}
buildTypes["debug"].isTestCoverageEnabled = true
buildTypes["release"].isMinifyEnabled = false
}
dependencies {
testImplementation("junit:junit:4.13")
testImplementation("org.mockito:mockito-inline:2.28.2")
androidTestImplementation("androidx.test:runner:1.4.0")
androidTestImplementation("androidx.test:rules:1.4.0")
androidTestImplementation("androidx.test.ext:junit:1.1.3")
androidTestImplementation("org.mockito:mockito-android:2.28.2")
androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")
api("androidx.exifinterface:exifinterface:1.3.2")
api("androidx.lifecycle:lifecycle-common:2.3.1")
api("com.google.android.gms:play-services-tasks:17.2.1")
implementation("androidx.annotation:annotation:1.2.0")
implementation("com.otaliastudios.opengl:egloo:0.6.1")
}
// Publishing
//publisher {
// project.description = "A well documented, high-level Android interface that makes capturing " +
// "pictures and videos easy, addressing all of the common issues and needs. " +
// "Real-time filters, gestures, watermarks, frame processing, RAW, output of any size."
// project.artifact = "cameraview"
// project.group = "com.otaliastudios"
// project.url = "https://github.com/natario1/CameraView"
// project.scm = GithubScm("natario1", "CameraView")
// project.addLicense(License.APACHE_2_0)
// project.addDeveloper("natario1", "mat.iavarone@gmail.com")
// release.sources = Release.SOURCES_AUTO
// release.docs = Release.DOCS_AUTO
//
// directory()
//
// sonatype {
// auth.user = "SONATYPE_USER"
// auth.password = "SONATYPE_PASSWORD"
// signing.key = "SIGNING_KEY"
// signing.password = "SIGNING_PASSWORD"
// }
//
// sonatype("snapshot") {
// repository = io.deepmedia.tools.publisher.sonatype.Sonatype.OSSRH_SNAPSHOT_1
// release.version = "latest-SNAPSHOT"
// auth.user = "SONATYPE_USER"
// auth.password = "SONATYPE_PASSWORD"
// signing.key = "SIGNING_KEY"
// signing.password = "SIGNING_PASSWORD"
// }
//}
// Code Coverage
val buildDir = project.buildDir.absolutePath
val coverageInputDir = "$buildDir/coverage_input" // changing? change github workflow
val coverageOutputDir = "$buildDir/coverage_output" // changing? change github workflow
// Run unit tests, with coverage enabled in the android { } configuration.
// Output will be an .exec file in build/jacoco.
tasks.register("runUnitTests") { // changing name? change github workflow
dependsOn("testDebugUnitTest")
doLast {
copy {
from("$buildDir/jacoco/testDebugUnitTest.exec")
into("$coverageInputDir/unit_tests") // changing? change github workflow
}
}
}
// Run android tests with coverage.
tasks.register("runAndroidTests") { // changing name? change github workflow
dependsOn("connectedDebugAndroidTest")
doLast {
copy {
from("$buildDir/outputs/code_coverage/debugAndroidTest/connected")
include("*coverage.ec")
into("$coverageInputDir/android_tests") // changing? change github workflow
}
}
}
// Merge the two with a jacoco task.
//jacoco { toolVersion = "0.8.5" }
//tasks.register("computeCoverage", JacocoReport::class) {
// dependsOn("compileDebugSources") // Compile sources, needed below
// executionData.from(fileTree(coverageInputDir))
// sourceDirectories.from(android.sourceSets["main"].java.srcDirs)
// additionalSourceDirs.from("$buildDir/generated/source/buildConfig/debug")
// additionalSourceDirs.from("$buildDir/generated/source/r/debug")
// classDirectories.from(fileTree("$buildDir/intermediates/javac/debug") {
// // Not everything here is relevant for CameraView, but let's keep it generic
// exclude(
// "**/R.class",
// "**/R$*.class",
// "**/BuildConfig.*",
// "**/Manifest*.*",
// "android/**",
// "androidx/**",
// "com/google/**",
// "**/*\$ViewInjector*.*",
// "**/Dagger*Component.class",
// "**/Dagger*Component\$Builder.class",
// "**/*Module_*Factory.class",
// // We don"t test OpenGL filters.
// "**/com/otaliastudios/cameraview/filters/**.*"
// )
// })
// reports.html.isEnabled = true
// reports.xml.isEnabled = true
// reports.html.destination = file("$coverageOutputDir/html")
// reports.xml.destination = file("$coverageOutputDir/xml/report.xml")
//}