/* * 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' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' configurations { mapboxImplementation vtmImplementation } dependencies { implementation "com.squareup.wire:wire-runtime:1.6.1" 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(':firebase-dynamic-links-api') implementation project(':play-services-base-core') implementation project(':play-services-location-core') implementation project(':play-services-core:microg-ui-tools') // deprecated implementation project(':play-services-api') implementation project(':play-services-cast-api') implementation project(':play-services-wearable') implementation "org.microg:wearable:$wearableVersion" implementation "org.microg.gms:remote-droid-guard:$remoteDroidGuardVersion" mapboxImplementation project(':play-services-maps-core-mapbox') vtmImplementation project(':play-services-maps-core-vtm') // AndroidX UI implementation "androidx.multidex:multidex:$multidexVersion" implementation "androidx.appcompat:appcompat:$appcompatVersion" implementation "androidx.mediarouter:mediarouter:$mediarouterVersion" implementation "androidx.preference:preference:$preferenceVersion" // Navigation implementation "androidx.navigation:navigation-fragment:$navigationVersion" implementation "androidx.navigation:navigation-ui:$navigationVersion" implementation "androidx.navigation:navigation-fragment-ktx:$navigationVersion" implementation "androidx.navigation:navigation-ui-ktx:$navigationVersion" implementation "androidx.lifecycle:lifecycle-service:$lifecycleVersion" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion" } android { compileSdkVersion androidCompileSdk() buildToolsVersion "$androidBuildVersionTools" defaultConfig { versionName version versionCode appVersionCode minSdkVersion androidMinSdk targetSdkVersion androidTargetSdk multiDexEnabled true ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86", "x86_64" } } dataBinding { enabled = true } sourceSets { main { java.srcDirs += 'src/main/protos-java' java.srcDirs += 'src/main/kotlin' } } lintOptions { disable 'MissingTranslation', 'InvalidPackage', 'BatteryLife', 'ImpliedQuantity', 'MissingQuantity', 'InvalidWakeLockTag' } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } flavorDimensions 'maps' productFlavors { mapbox { dimension 'maps' } vtm { dimension 'maps' versionNameSuffix '-vtm' } } 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' }