/* * 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-kapt' configurations { withMapboxImplementation withVtmImplementation withNearbyImplementation withoutNearbyImplementation } dependencies { implementation "com.squareup.wire:wire-runtime:$wireVersion" implementation "de.hdodenhof:circleimageview:1.3.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(':firebase-auth-core') implementation project(':play-services-base-core') implementation project(':play-services-base-core-ui') implementation project(':play-services-conscrypt-provider-core') implementation project(':play-services-cronet-core') implementation project(':play-services-droidguard-core') implementation project(':play-services-droidguard-core-ui') implementation project(':play-services-location-core') withNearbyImplementation project(':play-services-nearby-core') withNearbyImplementation project(':play-services-nearby-core-ui') implementation project(':play-services-safetynet-core') implementation project(':play-services-tapandpay-core') implementation project(':play-services-vision-core') implementation project(':play-services-core-proto') 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" runtimeOnly "org.microg.nlp:geocode-v1:$nlpVersion" runtimeOnly "org.microg.nlp:location-v2:$nlpVersion" runtimeOnly "org.microg.nlp:location-v3:$nlpVersion" implementation "org.microg.nlp:ui:$nlpVersion" withMapboxImplementation project(':play-services-maps-core-mapbox') withVtmImplementation 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-ktx:$preferenceVersion" implementation "androidx.webkit:webkit:$webkitVersion" // Navigation implementation "androidx.navigation:navigation-fragment-ktx:$navigationVersion" implementation "androidx.navigation:navigation-ui-ktx:$navigationVersion" implementation "com.android.volley:volley:$volleyVersion" 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 multiDexKeepProguard file('multidex-keep.pro') ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86", "x86_64" } } buildFeatures { dataBinding = true } sourceSets { main { java.srcDirs += 'src/main/kotlin' } withNearby { java.srcDirs += 'src/withNearby/kotlin' } withoutNearby { java.srcDirs += 'src/withoutNearby/kotlin' } } lintOptions { disable 'MissingTranslation', 'InvalidPackage', 'BatteryLife', 'ImpliedQuantity', 'MissingQuantity', 'InvalidWakeLockTag' } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } flavorDimensions 'maps', 'nearby' productFlavors { withMapbox { dimension 'maps' } withVtm { dimension 'maps' versionNameSuffix '-vtm' } withNearby { dimension 'nearby' } withoutNearby { dimension 'nearby' versionNameSuffix '-noen' } } 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' }