VancedMicroG/play-services-core/build.gradle

123 lines
3.9 KiB
Groovy

/*
* Copyright 2013-2015 microG Project Team
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
apply plugin: 'com.android.application'
repositories {
mavenLocal()
}
dependencies {
implementation "com.android.support:support-v4:$supportLibraryVersion"
implementation "com.android.support:appcompat-v7:$supportLibraryVersion"
implementation "com.android.support:mediarouter-v7:$supportLibraryVersion"
implementation "com.takisoft.fix:preference-v7:$supportLibraryVersion.0"
implementation "de.hdodenhof:circleimageview:1.3.0"
implementation "com.squareup.wire:wire-runtime:1.6.1"
implementation "su.litvak.chromecast:api-v2:0.10.3-SNAPSHOT"
// Specified manually due to
// https://github.com/vitalidze/chromecast-java-api-v2/issues/91
api "org.slf4j:slf4j-api:1.7.25"
api "uk.uuid.slf4j:slf4j-android:1.7.25-1"
implementation project(':microg-ui-tools')
implementation project(':play-services-api')
implementation project(':play-services-cast-api')
implementation project(':play-services-wearable')
implementation project(':unifiednlp-base')
implementation project(':wearable-lib')
implementation project(':remote-droid-guard-lib')
implementation project(':vtm-android')
implementation project(':vtm-extras')
implementation project(':vtm-jts')
implementation project(':vtm-microg-theme')
}
String getMyVersionName() {
def stdout = new ByteArrayOutputStream()
if (rootProject.file("gradlew").exists())
exec {
commandLine 'git', 'describe', '--tags', '--always', '--dirty'; standardOutput = stdout
}
else // automatic build system, don't tag dirty
exec { commandLine 'git', 'describe', '--tags', '--always'; standardOutput = stdout }
return stdout.toString().trim().substring(1)
}
int getMyVersionCode() {
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'rev-list', '--count', "HEAD"
standardOutput = stdout
}
return Integer.parseInt(stdout.toString().trim())
}
android {
compileSdkVersion androidCompileSdk()
buildToolsVersion "$androidBuildVersionTools"
defaultConfig {
versionName getMyVersionName()
def x = getMyVersionCode() - 367
// We are not allowed to freely choose the hundreds column as it defines the device type
versionCode(12221400 + x % 100 + ((int) (x / 100)) * 1000)
minSdkVersion androidMinSdk()
targetSdkVersion androidTargetSdk()
ndk {
abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
}
}
sourceSets {
main {
java.srcDirs += 'src/main/protos-java'
file("${rootDir}/vtm-android/natives").eachDir() { dir ->
jniLibs.srcDirs += "${dir.path}/lib"
}
}
}
lintOptions {
disable 'MissingTranslation', 'InvalidPackage', 'BatteryLife', 'ImpliedQuantity', 'MissingQuantity'
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
packagingOptions {
exclude 'META-INF/ASL2.0'
}
}
if (file('user.gradle').exists()) {
apply from: 'user.gradle'
}