From 9f29bf494912aa80196666c9dd4f5e25f1fdee72 Mon Sep 17 00:00:00 2001
From: akwizgran <michael@briarproject.org>
Date: Wed, 15 Nov 2017 14:47:36 +0000
Subject: [PATCH] Upgrade Gradle and Android Gradle plugin

---
 bramble-android/build.gradle                    |  4 ++--
 briar-android/build.gradle                      | 17 +++++++++++++----
 .../briar/android/forum/ForumActivityTest.java  | 12 +++++-------
 .../login/ChangePasswordActivityTest.java       |  8 +++-----
 .../briar/android/login/SetupActivityTest.java  |  8 +++-----
 build.gradle                                    |  3 ++-
 gradle/wrapper/gradle-wrapper.properties        |  5 ++---
 7 files changed, 30 insertions(+), 27 deletions(-)

diff --git a/bramble-android/build.gradle b/bramble-android/build.gradle
index c94dc003f3..dbde5b2674 100644
--- a/bramble-android/build.gradle
+++ b/bramble-android/build.gradle
@@ -6,8 +6,8 @@ apply plugin: 'witness'
 apply plugin: 'de.undercouch.download'
 
 android {
-	compileSdkVersion 23
-	buildToolsVersion '25.0.0'
+	compileSdkVersion 26
+	buildToolsVersion '26.0.2'
 
 	defaultConfig {
 		minSdkVersion 14
diff --git a/briar-android/build.gradle b/briar-android/build.gradle
index da9bb4dd3c..d4af03ecac 100644
--- a/briar-android/build.gradle
+++ b/briar-android/build.gradle
@@ -2,9 +2,11 @@ apply plugin: 'com.android.application'
 apply plugin: 'witness'
 
 dependencies {
-	def supportVersion = '23.2.1'
 	compile project(path: ':briar-core', configuration: 'default')
+	compile project(path: ':bramble-core', configuration: 'default')
 	compile project(path: ':bramble-android', configuration: 'default')
+
+	def supportVersion = '23.2.1'
 	compile "com.android.support:support-v4:$supportVersion"
 	compile("com.android.support:appcompat-v7:$supportVersion") {
 		exclude module: 'support-v4'
@@ -22,6 +24,7 @@ dependencies {
 		exclude module: 'support-v4'
 		exclude module: 'support-annotations'
 	}
+
 	compile 'info.guardianproject.panic:panic:0.5'
 	compile 'info.guardianproject.trustedintents:trustedintents:0.2'
 	compile 'de.hdodenhof:circleimageview:2.1.0'
@@ -35,7 +38,7 @@ dependencies {
 	provided 'javax.annotation:jsr250-api:1.0'
 
 	testCompile project(path: ':bramble-core', configuration: 'testOutput')
-	testCompile 'org.robolectric:robolectric:3.0'
+	testCompile 'org.robolectric:robolectric:3.5.1'
 	testCompile 'org.mockito:mockito-core:2.8.9'
 }
 
@@ -74,8 +77,8 @@ def getGitHash = { ->
 }
 
 android {
-	compileSdkVersion 23
-	buildToolsVersion '25.0.0'
+	compileSdkVersion 26
+	buildToolsVersion '26.0.2'
 
 	defaultConfig {
 		minSdkVersion 14
@@ -109,6 +112,12 @@ android {
 		targetCompatibility JavaVersion.VERSION_1_7
 	}
 
+	testOptions {
+		unitTests {
+			includeAndroidResources = true
+		}
+	}
+
 	aaptOptions {
 		cruncherEnabled = false
 	}
diff --git a/briar-android/src/test/java/org/briarproject/briar/android/forum/ForumActivityTest.java b/briar-android/src/test/java/org/briarproject/briar/android/forum/ForumActivityTest.java
index 68c362b6f9..cee3b710f0 100644
--- a/briar-android/src/test/java/org/briarproject/briar/android/forum/ForumActivityTest.java
+++ b/briar-android/src/test/java/org/briarproject/briar/android/forum/ForumActivityTest.java
@@ -9,7 +9,6 @@ import org.briarproject.bramble.api.identity.Author;
 import org.briarproject.bramble.api.identity.AuthorId;
 import org.briarproject.bramble.api.sync.MessageId;
 import org.briarproject.bramble.test.TestUtils;
-import org.briarproject.briar.BuildConfig;
 import org.briarproject.briar.android.TestBriarApplication;
 import org.briarproject.briar.android.controller.handler.UiResultExceptionHandler;
 import org.briarproject.briar.android.threaded.ThreadItemAdapter;
@@ -22,7 +21,7 @@ import org.mockito.ArgumentCaptor;
 import org.mockito.Captor;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
-import org.robolectric.RobolectricGradleTestRunner;
+import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
 
 import java.util.Arrays;
@@ -34,9 +33,8 @@ import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_PUBLIC_K
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
-@RunWith(RobolectricGradleTestRunner.class)
-@Config(constants = BuildConfig.class, sdk = 21,
-		application = TestBriarApplication.class,
+@RunWith(RobolectricTestRunner.class)
+@Config(sdk = 21, application = TestBriarApplication.class,
 		packageName = "org.briarproject.briar")
 public class ForumActivityTest {
 
@@ -89,8 +87,8 @@ public class ForumActivityTest {
 		MockitoAnnotations.initMocks(this);
 		Intent intent = new Intent();
 		intent.putExtra("briar.GROUP_ID", TestUtils.getRandomId());
-		forumActivity = Robolectric.buildActivity(TestForumActivity.class)
-				.withIntent(intent).create().start().resume().get();
+		forumActivity = Robolectric.buildActivity(TestForumActivity.class,
+				intent).create().start().resume().get();
 	}
 
 	private ThreadItemList<ForumItem> getDummyData() {
diff --git a/briar-android/src/test/java/org/briarproject/briar/android/login/ChangePasswordActivityTest.java b/briar-android/src/test/java/org/briarproject/briar/android/login/ChangePasswordActivityTest.java
index 24c84835ac..bc4d5e9a36 100644
--- a/briar-android/src/test/java/org/briarproject/briar/android/login/ChangePasswordActivityTest.java
+++ b/briar-android/src/test/java/org/briarproject/briar/android/login/ChangePasswordActivityTest.java
@@ -6,7 +6,6 @@ import android.support.design.widget.TextInputLayout;
 import android.widget.Button;
 import android.widget.EditText;
 
-import org.briarproject.briar.BuildConfig;
 import org.briarproject.briar.R;
 import org.briarproject.briar.android.TestBriarApplication;
 import org.briarproject.briar.android.controller.handler.ResultHandler;
@@ -20,7 +19,7 @@ import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
-import org.robolectric.RobolectricGradleTestRunner;
+import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
 
 import static junit.framework.Assert.assertEquals;
@@ -39,9 +38,8 @@ import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-@RunWith(RobolectricGradleTestRunner.class)
-@Config(constants = BuildConfig.class, sdk = 21,
-		application = TestBriarApplication.class,
+@RunWith(RobolectricTestRunner.class)
+@Config(sdk = 21, application = TestBriarApplication.class,
 		packageName = "org.briarproject.briar")
 public class ChangePasswordActivityTest {
 
diff --git a/briar-android/src/test/java/org/briarproject/briar/android/login/SetupActivityTest.java b/briar-android/src/test/java/org/briarproject/briar/android/login/SetupActivityTest.java
index 72bffbf63c..9b4217edde 100644
--- a/briar-android/src/test/java/org/briarproject/briar/android/login/SetupActivityTest.java
+++ b/briar-android/src/test/java/org/briarproject/briar/android/login/SetupActivityTest.java
@@ -7,7 +7,6 @@ import android.support.design.widget.TextInputLayout;
 import android.widget.Button;
 import android.widget.EditText;
 
-import org.briarproject.briar.BuildConfig;
 import org.briarproject.briar.R;
 import org.briarproject.briar.android.TestBriarApplication;
 import org.briarproject.briar.android.controller.handler.ResultHandler;
@@ -22,7 +21,7 @@ import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
-import org.robolectric.RobolectricGradleTestRunner;
+import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowActivity;
 
@@ -44,9 +43,8 @@ import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 import static org.robolectric.Shadows.shadowOf;
 
-@RunWith(RobolectricGradleTestRunner.class)
-@Config(constants = BuildConfig.class, sdk = 21,
-		application = TestBriarApplication.class,
+@RunWith(RobolectricTestRunner.class)
+@Config(sdk = 21, application = TestBriarApplication.class,
 		packageName = "org.briarproject.briar")
 public class SetupActivityTest {
 
diff --git a/build.gradle b/build.gradle
index f022dce92f..9de3d091bd 100644
--- a/build.gradle
+++ b/build.gradle
@@ -14,10 +14,11 @@ buildscript {
 		maven {
 			url "https://plugins.gradle.org/m2/"
 		}
+		google()
 	}
 
 	dependencies {
-		classpath 'com.android.tools.build:gradle:2.3.3'
+		classpath 'com.android.tools.build:gradle:3.0.0'
 		classpath 'net.ltgt.gradle:gradle-apt-plugin:0.9'
 		classpath 'de.undercouch:gradle-download-task:3.2.0'
 		classpath files('libs/gradle-witness.jar')
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index d7d07763bb..0070afbd16 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,7 +1,6 @@
-#Wed Aug 24 10:55:42 BST 2016
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-all.zip
-distributionSha256Sum=d84bf6b6113da081d0082bcb63bd8547824c6967fe68704d1e3a6fde822b7212
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.3.1-all.zip
+distributionSha256Sum=c5b67330a8a211539d713852c56a6a80fdea365d8902df92d1759d913d18fa2d
-- 
GitLab