Move Clear and Exit to the top of the navigation menu. https://redmine.stoutner...
[PrivacyBrowser.git] / app / build.gradle
index 7d29b94e53bb8792c1696d47601a244649daf3d2..6de6e3bb5855e7d1c1ebaa9eb39e3ee5659c13ee 100644 (file)
@@ -1,5 +1,5 @@
-/**
- * Copyright 2016 Soren Stoutner <soren@stoutner.com>.
+/*
+ * Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
 apply plugin: 'com.android.application'
 
 android {
-    signingConfigs {
-    }
+    compileSdkVersion 28
+    buildToolsVersion '28.0.3'
 
-    compileSdkVersion 23
-    buildToolsVersion "23.0.2"
     defaultConfig {
-        applicationId "com.stoutner.privacybrowser"
-        minSdkVersion 10
-        targetSdkVersion 23
-        versionCode 1
-        versionName "1.0"
+        minSdkVersion 19
+        targetSdkVersion 28
+        versionCode 42
+        versionName "2.17.1"
     }
 
     buildTypes {
-        release {
+        debug {
             minifyEnabled false
+            shrinkResources false
+        }
+
+        release {
+            minifyEnabled true
+            shrinkResources true
             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
         }
     }
 
+    // Gradle requires a `flavorDimension`, but it isn't used for anything in Privacy Browser.
+    flavorDimensions "basic"
+
     productFlavors {
         standard {
             applicationId "com.stoutner.privacybrowser.standard"
-            versionName "1.0-standard"
+            dimension "basic"
         }
 
         free {
             applicationId "com.stoutner.privacybrowser.free"
-            versionName "1.0-free"
+            dimension "basic"
         }
     }
 
-    // `lintOptions abortOnError false` is required for F-Droid to build correctly.
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_1_8
+        targetCompatibility JavaVersion.VERSION_1_8
+    }
+
+    // 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).
     lintOptions {
         abortOnError false
     }
 }
 
 dependencies {
-    compile fileTree(dir: 'libs', include: ['*.jar'])
-    compile 'com.android.support:appcompat-v7:23.2.0'
-    compile 'com.android.support:design:23.2.0'
-    compile 'com.android.support:support-v4:23.2.0'
-    // Only compile com.google.android.gms:play-services-ads for the free version so that the standard version can build of F-Droid.
-    freeCompile 'com.google.android.gms:play-services-ads:8.4.0'
-}
+    implementation fileTree(include: ['*.jar'], dir: 'libs')
+
+    // Include the following AndroidX libraries.
+    implementation 'androidx.arch.core:core-common:2.0.0'
+    implementation 'androidx.arch.core:core-runtime:2.0.0'
+    implementation 'androidx.appcompat:appcompat:1.0.2'
+    implementation 'androidx.cardview:cardview:1.0.0'
+    implementation 'androidx.coordinatorlayout:coordinatorlayout:1.0.0'
+    implementation 'androidx.drawerlayout:drawerlayout:1.0.0'
+    implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.0.0'
+    implementation 'androidx.viewpager:viewpager:1.0.0'
+
+    // Include the Google material library.
+    implementation 'com.google.android.material:material:1.0.0'
+
+    // Only compile Firebase ads for the free flavor.
+    freeImplementation 'com.google.firebase:firebase-ads:17.2.0'
+}
\ No newline at end of file