85c0ba70d87041ef77b0f8a4893ca318be2fd3d2
[PrivacyBrowser.git] / app / build.gradle
1 /*
2  * Copyright © 2016-2018 Soren Stoutner <soren@stoutner.com>.
3  *
4  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
5  *
6  * Privacy Browser is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * Privacy Browser is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 apply plugin: 'com.android.application'
21
22 android {
23     compileSdkVersion 27
24     buildToolsVersion '27.0.3'
25
26     defaultConfig {
27         minSdkVersion 19
28         targetSdkVersion 27
29         versionCode 32
30         versionName "2.9"
31     }
32
33     buildTypes {
34         debug {
35             minifyEnabled false
36             shrinkResources false
37         }
38
39         release {
40             minifyEnabled true
41             shrinkResources true
42             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
43         }
44     }
45
46     // Gradle requires a `flavorDimension`, but it isn't used for anything in Privacy Browser.
47     flavorDimensions "basic"
48
49     productFlavors {
50         standard {
51             applicationId "com.stoutner.privacybrowser.standard"
52             dimension "basic"
53         }
54
55         free {
56             applicationId "com.stoutner.privacybrowser.free"
57             dimension "basic"
58         }
59     }
60
61     compileOptions {
62         sourceCompatibility JavaVersion.VERSION_1_8
63         targetCompatibility JavaVersion.VERSION_1_8
64     }
65 }
66
67 dependencies {
68     implementation fileTree(include: ['*.jar'], dir: 'libs')
69     implementation 'com.android.support:design:27.0.2'
70     // Only compile `com.google.firebase:firebase-ads` for the free flavor.
71     freeImplementation 'com.google.firebase:firebase-ads:15.0.1'
72 }
73
74 // Google's documentation says the following line is required for `firebase-ads` but things work correctly without it.
75 // I have no interest in applying the Google Mobile Services plugin in the standard flavor if I don't have to.
76 // I suspect that in the free flavor `firebase-ads` applies it even when not specified.  <https://firebase.google.com/docs/admob/android/quick-start>.
77 // apply plugin: 'com.google.gms.google-services'