1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-19 05:10:10 +01:00
fdroidserver/tests/source-files/com.github.jameshnsears.quoteunquote/build.gradle
Jochen Sprickerhof 0fefecde1e Fix matching substring flavour detection
com.github.jameshnsears.quoteunquote defines flavours 'fdroid' and
'fdroidS'. The old code used flavour in line, which matches both and the
wrong one was selected.

Closes: #912
2021-06-13 00:09:02 +02:00

233 lines
7.6 KiB
Groovy

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'kotlin-android'
apply from: '../jacoco.gradle'
apply from: '../ktlint.gradle'
apply from: '../detekt.gradle'
apply from: '../checkstyle.gradle'
apply from: '../sonarcube.gradle'
def localPropertiesFile = rootProject.file("local.properties")
def localProperties = new Properties()
if (!localPropertiesFile.exists()) {
localProperties.setProperty("RELEASE_STORE_PASSWORD", "")
localProperties.setProperty("RELEASE_KEY_PASSWORD", "")
localProperties.setProperty("RELEASE_KEY_ALIAS", "")
localProperties.setProperty("RELEASE_STORE_FILE", "keystore.jks")
Writer writer = new FileWriter(localPropertiesFile, false)
localProperties.store(writer, "empty, as creating the file is done manually via gpg")
writer.close()
file(project(':app').projectDir.path + "/keystore.jks").text = ""
}
localProperties.load(new FileInputStream(localPropertiesFile))
android {
compileSdkVersion 30
// compileSdkVersion "android-S"
signingConfigs {
googleplay {
keyAlias localProperties['RELEASE_KEY_ALIAS']
keyPassword localProperties['RELEASE_KEY_PASSWORD']
storeFile file(localProperties['RELEASE_STORE_FILE'])
storePassword localProperties['RELEASE_STORE_PASSWORD']
}
}
defaultConfig {
minSdkVersion 24
targetSdkVersion 30
// minSdkVersion "S"
// targetSdkVersion "S"
applicationId "com.github.jameshnsears.quoteunquote"
versionCode 73
versionName "2.5.2"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
testInstrumentationRunnerArguments clearPackageData: 'true'
javaCompileOptions {
annotationProcessorOptions {
arguments += ["room.schemaLocation":
"$projectDir/schemas".toString()]
}
}
}
packagingOptions {
exclude "**/module-info.class"
exclude 'LICENSE'
exclude 'README.md'
}
lintOptions {
abortOnError true
warningsAsErrors false
checkAllWarnings = true
xmlReport false
htmlReport true
}
buildTypes {
def gitHash = { ->
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'rev-parse', '--short=8', 'HEAD'
standardOutput = stdout
}
return stdout.toString().trim()
}
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
buildConfigField("String", "GIT_HASH", "\"$gitHash\"")
buildConfigField("String", "DATABASE_QUOTATIONS", "\"quotations.db.prod\"")
}
debug {
testCoverageEnabled true
buildConfigField("String", "GIT_HASH", "\"$gitHash\"")
buildConfigField("String", "DATABASE_QUOTATIONS", "\"quotations.db.dev\"")
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
}
flavorDimensions 'Version'
productFlavors {
'googleplay' {
dimension 'Version'
versionNameSuffix "-googleplay"
signingConfig signingConfigs.googleplay
}
'googleplayS' {
dimension 'Version'
versionNameSuffix "-googleplay-S"
signingConfig signingConfigs.googleplay
}
'fdroid' {
dimension 'Version'
versionNameSuffix "-fdroid"
isDefault true
}
'fdroidS' {
dimension 'Version'
versionNameSuffix "-fdroid-S"
}
}
sourceSets {
androidTest {
assets.srcDirs += files("$projectDir/schemas".toString())
}
fdroid {
assets.srcDirs = ['src/main/assets']
java.srcDirs = ['src/main/java', 'src/fdroid/java']
}
fdroidS {
assets.srcDirs = ['src/main/assets']
java.srcDirs = ['src/main/java', 'src/fdroid/java']
}
googleplay {
assets.srcDirs = ['src/main/assets']
java.srcDirs = ['src/main/java']
}
googleplayS {
assets.srcDirs = ['src/main/assets']
java.srcDirs = ['src/main/java']
}
}
testOptions {
// will make tests run very slowly on the emulator/device + affects coverage #
// execution 'ANDROIDX_TEST_ORCHESTRATOR'
animationsDisabled true
unitTests {
includeAndroidResources = true
returnDefaultValues = true
all {
maxHeapSize = "1024m"
jacoco {
includeNoLocationClasses = true
excludes = ['jdk.internal.*']
}
}
}
}
buildFeatures {
viewBinding = true
}
}
dependencies {
androidTestImplementation "androidx.arch.core:core-testing:2.1.0"
androidTestImplementation 'androidx.room:room-testing:2.3.0'
androidTestImplementation 'androidx.test:core:1.4.0-beta01'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test:rules:1.3.0'
androidTestImplementation 'androidx.test:runner:1.3.0'
androidTestImplementation 'io.mockk:mockk-android:1.11.0'
annotationProcessor 'androidx.room:room-compiler:2.3.0'
debugImplementation 'androidx.fragment:fragment-testing:1.3.4'
debugImplementation 'androidx.test:core:1.4.0-beta01'
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'
implementation 'androidx.activity:activity:1.2.3'
implementation 'androidx.fragment:fragment:1.3.4'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.core:core-ktx:1.5.0'
fdroidSImplementation 'androidx.core:core-ktx:1.6.0-beta02'
googleplaySImplementation 'androidx.core:core-ktx:1.6.0-beta02'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.lifecycle:lifecycle-common-java8:2.3.1'
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.room:room-guava:2.3.0'
implementation 'androidx.room:room-runtime:2.3.0'
implementation 'androidx.room:room-rxjava2:2.3.0'
implementation 'com.google.android.material:material:1.3.0'
implementation 'com.jakewharton.rxbinding2:rxbinding:2.2.0'
implementation 'com.jakewharton.timber:timber:4.7.1'
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation 'io.reactivex.rxjava2:rxjava:2.2.21'
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.10'
implementation project(path: ':cloudLib')
implementation project(path: ':utilsLib')
testImplementation 'androidx.arch.core:core-testing:2.1.0'
testImplementation 'androidx.room:room-testing:2.3.0'
testImplementation 'androidx.test:core-ktx:1.3.0'
testImplementation 'androidx.test.ext:junit:1.1.2'
testImplementation 'androidx.test:rules:1.3.0'
testImplementation 'com.google.guava:guava:30.1.1-jre'
testImplementation 'io.mockk:mockk:1.11.0'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.robolectric:robolectric:4.5.1'
}
repositories {
mavenCentral()
}