mirror of
https://github.com/TeamVanced/VancedMicroG
synced 2024-11-19 02:29:25 +01:00
123 lines
3.9 KiB
Groovy
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'
|
|
}
|