mirror of
https://github.com/TeamVanced/VancedMicroG
synced 2024-11-19 02:29:25 +01:00
128 lines
4.7 KiB
Groovy
128 lines
4.7 KiB
Groovy
/*
|
|
* Copyright 2013-2019 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'
|
|
|
|
def useMapbox() {
|
|
Properties properties = new Properties()
|
|
properties.load(project.rootProject.file('local.properties').newDataInputStream())
|
|
return properties.getProperty("mapbox.enabled", "false") == "true"
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'com.android.support:multidex:1.0.3'
|
|
implementation "com.android.support:support-v4:$supportLibraryVersion"
|
|
implementation "com.android.support:appcompat-v7:$supportLibraryVersion"
|
|
implementation "com.android.support:mediarouter-v7:$supportLibraryVersion"
|
|
implementation "com.squareup.wire:wire-runtime:1.6.1"
|
|
implementation "com.takisoft.fix:preference-v7:$supportLibraryVersion.0"
|
|
implementation "de.hdodenhof:circleimageview:1.3.0"
|
|
implementation "org.conscrypt:conscrypt-android:2.1.0"
|
|
// TODO: Switch to upstream once raw requests are merged
|
|
// https://github.com/vitalidze/chromecast-java-api-v2/pull/99
|
|
// implementation "su.litvak.chromecast:api-v2:0.10.4"
|
|
implementation "info.armills.chromecast-java-api-v2:api-v2-raw-request:0.10.4-raw-request-1"
|
|
|
|
// 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')
|
|
if (useMapbox()) {
|
|
implementation project(':play-services-maps-core-mapbox')
|
|
} else {
|
|
implementation project(':play-services-maps-core-vtm')
|
|
}
|
|
}
|
|
|
|
def execResult(...args) {
|
|
def stdout = new ByteArrayOutputStream()
|
|
exec {
|
|
commandLine args
|
|
standardOutput = stdout
|
|
}
|
|
return stdout.toString().trim()
|
|
}
|
|
|
|
def gmsVersion = "19.4.20"
|
|
def gmsVersionCode = Integer.parseInt(gmsVersion.replaceAll('\\.', ''))
|
|
def gitVersionBase = execResult('git', 'describe', '--tags', '--abbrev=0', '--match=v[0-9]*').substring(1)
|
|
def gitCommitCount = Integer.parseInt(execResult('git', 'rev-list', '--count', "v$gitVersionBase..HEAD"))
|
|
def gitCommitId = execResult('git', 'show-ref', '--abbrev=7', '--head', 'HEAD').split(' ')[0]
|
|
def gitDirty = execResult('git', 'status', '--porcelain').size() > 0
|
|
def ourVersionBase = gitVersionBase.substring(0, gitVersionBase.lastIndexOf('.'))
|
|
def ourVersionMinor = Integer.parseInt(ourVersionBase.substring(ourVersionBase.lastIndexOf('.') + 1))
|
|
def ourVersionCode = gmsVersionCode * 1000 + ourVersionMinor * 2 + (gitCommitCount > 0 || gitDirty ? 1 : 0)
|
|
def ourVersionName = "$ourVersionBase.$gmsVersionCode" + (gitCommitCount > 0 && !gitDirty ? "-$gitCommitCount" : "") + (gitDirty ? "-dirty" : "") + (useMapbox() ? "" : "-vtm") + (gitCommitCount > 0 && !gitDirty ? " ($gitCommitId)" : "")
|
|
logger.lifecycle('Starting build for version {} ({})...', ourVersionName, ourVersionCode)
|
|
|
|
android {
|
|
compileSdkVersion androidCompileSdk()
|
|
buildToolsVersion "$androidBuildVersionTools"
|
|
|
|
defaultConfig {
|
|
versionName ourVersionName
|
|
versionCode ourVersionCode
|
|
|
|
minSdkVersion androidMinSdk()
|
|
targetSdkVersion androidTargetSdk()
|
|
|
|
multiDexEnabled true
|
|
|
|
ndk {
|
|
abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
java.srcDirs += 'src/main/protos-java'
|
|
}
|
|
}
|
|
|
|
lintOptions {
|
|
disable 'MissingTranslation', 'InvalidPackage', 'BatteryLife', 'ImpliedQuantity', 'MissingQuantity', 'InvalidWakeLockTag'
|
|
}
|
|
|
|
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'
|
|
}
|