Release 2.17.
[PrivacyBrowser.git] / app / build.gradle
1 /*
2  * Copyright © 2016-2019 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 28
24     buildToolsVersion '28.0.3'
25
26     defaultConfig {
27         minSdkVersion 19
28         targetSdkVersion 28
29         versionCode 41
30         versionName "2.17"
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     // Allow the releases to be built even though the versions of the support and consent libraries don't match (Privacy Browser doesn't use the consent library form, so it doesn't matter).
67     lintOptions {
68         abortOnError false
69     }
70 }
71
72 dependencies {
73     implementation fileTree(include: ['*.jar'], dir: 'libs')
74
75     // Include the following AndroidX libraries.
76     implementation 'androidx.arch.core:core-common:2.0.0'
77     implementation 'androidx.arch.core:core-runtime:2.0.0'
78     implementation 'androidx.appcompat:appcompat:1.0.2'
79     implementation 'androidx.cardview:cardview:1.0.0'
80     implementation 'androidx.coordinatorlayout:coordinatorlayout:1.0.0'
81     implementation 'androidx.drawerlayout:drawerlayout:1.0.0'
82     implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.0.0'
83     implementation 'androidx.viewpager:viewpager:1.0.0'
84
85     // Include the Google material library.
86     implementation 'com.google.android.material:material:1.0.0'
87
88     // Only compile Firebase ads for the free flavor.
89     freeImplementation 'com.google.firebase:firebase-ads:17.1.3'
90 }