]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blobdiff - app/build.gradle
Add option to download with external program. https://redmine.stoutner.com/issues/333
[PrivacyBrowserAndroid.git] / app / build.gradle
index 7d29b94e53bb8792c1696d47601a244649daf3d2..81da8f69f6a6bc5154826c959187aa2d1e8a282c 100644 (file)
@@ -1,5 +1,5 @@
-/**
- * Copyright 2016 Soren Stoutner <soren@stoutner.com>.
+/*
+ * Copyright © 2016-2018 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 36
+        versionName "2.13"
     }
 
     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')
+    implementation 'com.android.support:design:28.0.0'
+
+    // Only compile Firebase ads for the free flavor.
+    freeImplementation 'com.google.firebase:firebase-ads:17.1.2'
+
+    // Only compile the consent library for the free flavor.  It is used to comply with the GDPR in Europe.
+    freeImplementation 'com.google.android.ads.consent:consent-library:1.0.6'
+}
\ No newline at end of file