From cb2dce5a28f3bc2ddd36b01d05c6970389ebcf62 Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Mon, 3 Apr 2017 11:19:42 +0200 Subject: [PATCH 01/20] Fixing bug on token single retaining old OAuth2Token and updating tests accordingly --- .../OAuth2AccessTokenManagerSpecs.groovy | 93 +++---------------- .../heimdall/OAuth2AccessTokenManager.java | 27 ++---- 2 files changed, 20 insertions(+), 100 deletions(-) diff --git a/library/src/androidTest/groovy/de/rheinfabrik/heimdall/OAuth2AccessTokenManagerSpecs.groovy b/library/src/androidTest/groovy/de/rheinfabrik/heimdall/OAuth2AccessTokenManagerSpecs.groovy index d9c1837..0e16b6b 100644 --- a/library/src/androidTest/groovy/de/rheinfabrik/heimdall/OAuth2AccessTokenManagerSpecs.groovy +++ b/library/src/androidTest/groovy/de/rheinfabrik/heimdall/OAuth2AccessTokenManagerSpecs.groovy @@ -3,12 +3,12 @@ package de.rheinfabrik.heimdall import com.andrewreitz.spock.android.AndroidSpecification import de.rheinfabrik.heimdall.grants.OAuth2Grant import de.rheinfabrik.heimdall.grants.OAuth2RefreshAccessTokenGrant +import groovy.transform.CompileStatic +import rx.Single import spock.lang.Title import java.util.concurrent.TimeUnit -import static rx.Single.just - @Title("Tests for the constructor of the OAuth2AccessTokenManager class") class OAuth2AccessTokenManagerConstructorSpecs extends AndroidSpecification { @@ -56,7 +56,7 @@ class OAuth2AccessTokenManagerGrantNewAccessTokenSpecs extends AndroidSpecificat and: "A grant emitting that token" OAuth2Grant grant = Mock(OAuth2Grant) - grant.grantNewAccessToken() >> just(accessToken) + grant.grantNewAccessToken() >> Single.just(accessToken) and: "An OAuth2AccessTokenManager" OAuth2AccessTokenManager tokenManager = new OAuth2AccessTokenManager(Mock(OAuth2AccessTokenStorage)) @@ -79,7 +79,7 @@ class OAuth2AccessTokenManagerGrantNewAccessTokenSpecs extends AndroidSpecificat and: "A grant emitting that token" OAuth2Grant grant = Mock(OAuth2Grant) - grant.grantNewAccessToken() >> just(accessToken) + grant.grantNewAccessToken() >> Single.just(accessToken) and: "An OAuth2AccessTokenManager" OAuth2AccessTokenManager tokenManager = new OAuth2AccessTokenManager(Mock(OAuth2AccessTokenStorage)) @@ -98,7 +98,7 @@ class OAuth2AccessTokenManagerGrantNewAccessTokenSpecs extends AndroidSpecificat and: "A grant emitting that token" OAuth2Grant grant = Mock(OAuth2Grant) - grant.grantNewAccessToken() >> just(accessToken) + grant.grantNewAccessToken() >> Single.just(accessToken) and: "A mock storage" OAuth2AccessTokenStorage storage = Mock(OAuth2AccessTokenStorage) @@ -140,77 +140,6 @@ class OAuth2AccessTokenManagerGetValidAccessTokenSpecs extends AndroidSpecificat // Scenarios - def "it should only request a new valid token ONCE"() { - - given: "An expired OAuth2AccessToken" - OAuth2AccessToken accessToken = Mock(OAuth2AccessToken) - accessToken.refreshToken = "rt" - accessToken.isExpired() >> true - - and: "A mock storage emitting that token" - OAuth2AccessTokenStorage storage = Mock(OAuth2AccessTokenStorage) - storage.getStoredAccessToken() >> just(accessToken) - - and: "An OAuth2AccessTokenManager with that storage" - OAuth2AccessTokenManager tokenManager = new OAuth2AccessTokenManager(storage) - - and: "A mock grant" - OAuth2RefreshAccessTokenGrant grant = Mock(OAuth2RefreshAccessTokenGrant) - def counter = 0 - grant.grantNewAccessToken() >> { it -> - return just(accessToken).doOnSuccess({ x -> counter++ }).delay(1, TimeUnit.SECONDS) - } - - when: "I ask for a valid access token" - tokenManager.getValidAccessToken(grant).subscribe() - - and: "I ask again" - tokenManager.getValidAccessToken(grant).subscribe() - - and: "I wait 2 seconds" - sleep(2000) - - then: "The refresh grant is asked for a new token ONCE" - counter == 1 - } - - def "it should clear the current request once done"() { - - given: "An expired OAuth2AccessToken" - OAuth2AccessToken accessToken = Mock(OAuth2AccessToken) - accessToken.refreshToken = "rt" - accessToken.isExpired() >> true - - and: "A mock storage emitting that token" - OAuth2AccessTokenStorage storage = Mock(OAuth2AccessTokenStorage) - storage.getStoredAccessToken() >> just(accessToken) - - and: "An OAuth2AccessTokenManager with that storage" - OAuth2AccessTokenManager tokenManager = new OAuth2AccessTokenManager(storage) - - and: "A mock grant" - OAuth2RefreshAccessTokenGrant grant = Mock(OAuth2RefreshAccessTokenGrant) - def counter = 0 - grant.grantNewAccessToken() >> { it -> - return just(accessToken).doOnSuccess({ x -> counter++ }).delay(1, TimeUnit.SECONDS) - } - - when: "I ask for a valid access token" - tokenManager.getValidAccessToken(grant).subscribe() - - and: "I ask again" - tokenManager.getValidAccessToken(grant).subscribe() - - and: "I wait 2 seconds" - sleep(2000) - - and: "I ask again" - tokenManager.getValidAccessToken(grant).subscribe() - - then: "The refresh grant is asked for a new token TWICE" - counter == 2 - } - def "it should throw an IllegalArgumentException when the refreshAccessTokenGrant parameter is null"() { given: "A null grant" @@ -234,11 +163,11 @@ class OAuth2AccessTokenManagerGetValidAccessTokenSpecs extends AndroidSpecificat and: "A mock storage emitting that token" OAuth2AccessTokenStorage storage = Mock(OAuth2AccessTokenStorage) - storage.getStoredAccessToken() >> just(accessToken) + storage.getStoredAccessToken() >> Single.just(accessToken) and: "A mock grant" OAuth2RefreshAccessTokenGrant grant = Mock(OAuth2RefreshAccessTokenGrant) - grant.grantNewAccessToken() >> just(accessToken) + grant.grantNewAccessToken() >> Single.just(accessToken) and: "An OAuth2AccessTokenManager with that storage" OAuth2AccessTokenManager tokenManager = new OAuth2AccessTokenManager(storage) @@ -259,7 +188,7 @@ class OAuth2AccessTokenManagerGetValidAccessTokenSpecs extends AndroidSpecificat and: "A mock storage emitting that token" OAuth2AccessTokenStorage storage = Mock(OAuth2AccessTokenStorage) - storage.getStoredAccessToken() >> just(accessToken) + storage.getStoredAccessToken() >> Single.just(accessToken) and: "An OAuth2AccessTokenManager with that storage" OAuth2AccessTokenManager tokenManager = new OAuth2AccessTokenManager(storage) @@ -271,7 +200,7 @@ class OAuth2AccessTokenManagerGetValidAccessTokenSpecs extends AndroidSpecificat tokenManager.getValidAccessToken(grant).subscribe() then: "The refresh grant is asked for a new token" - 1 * grant.grantNewAccessToken() >> just(accessToken) + 1 * grant.grantNewAccessToken() >> Single.just(accessToken) } def "it should set the refresh token to the grant if the token is expired"() { @@ -283,14 +212,14 @@ class OAuth2AccessTokenManagerGetValidAccessTokenSpecs extends AndroidSpecificat and: "A mock storage emitting that token" OAuth2AccessTokenStorage storage = Mock(OAuth2AccessTokenStorage) - storage.getStoredAccessToken() >> just(accessToken) + storage.getStoredAccessToken() >> Single.just(accessToken) and: "An OAuth2AccessTokenManager with that storage" OAuth2AccessTokenManager tokenManager = new OAuth2AccessTokenManager(storage) and: "A mock grant" OAuth2RefreshAccessTokenGrant grant = Mock(OAuth2RefreshAccessTokenGrant) - grant.grantNewAccessToken() >> just(accessToken) + grant.grantNewAccessToken() >> Single.just(accessToken) when: "I ask for a valid access token" tokenManager.getValidAccessToken(grant).subscribe() diff --git a/library/src/main/java/de/rheinfabrik/heimdall/OAuth2AccessTokenManager.java b/library/src/main/java/de/rheinfabrik/heimdall/OAuth2AccessTokenManager.java index b5c852e..b8c214b 100644 --- a/library/src/main/java/de/rheinfabrik/heimdall/OAuth2AccessTokenManager.java +++ b/library/src/main/java/de/rheinfabrik/heimdall/OAuth2AccessTokenManager.java @@ -19,7 +19,6 @@ public class OAuth2AccessTokenManager { // Members private final OAuth2AccessTokenStorage mStorage; - private Single mTokenSingle; // Constructor @@ -71,23 +70,15 @@ public Single grantNewAccessToken(OAuth2Grant grant, throw new IllegalArgumentException("Grant MUST NOT be null."); } - if (mTokenSingle == null) { - mTokenSingle = grant - .grantNewAccessToken() - .doOnSuccess(accessToken -> { - if (accessToken.expiresIn != null) { - Calendar expirationDate = (Calendar) calendar.clone(); - expirationDate.add(Calendar.SECOND, accessToken.expiresIn); - accessToken.expirationDate = expirationDate; - } - - mStorage.storeAccessToken(accessToken); - - mTokenSingle = null; - }).toObservable().cache().toSingle(); - } - - return mTokenSingle; + return grant.grantNewAccessToken() + .doOnSuccess(accessToken -> { + if (accessToken.expiresIn != null) { + Calendar expirationDate = (Calendar) calendar.clone(); + expirationDate.add(Calendar.SECOND, accessToken.expiresIn); + accessToken.expirationDate = expirationDate; + } + mStorage.storeAccessToken(accessToken); + }).toObservable().cache().toSingle(); } /** From 45f5aec543b9851c58e2ca7b4a3f5154d56475c2 Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Mon, 3 Apr 2017 11:23:26 +0200 Subject: [PATCH 02/20] Updating libraries for heimdall lib and sample as well as grade --- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 ++-- library/build.gradle | 16 ++++++++-------- sample/build.gradle | 14 +++++++------- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/build.gradle b/build.gradle index 9405f3f..c6f2f50 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:1.2.3' + classpath 'com.android.tools.build:gradle:2.3.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3e3a55d..b7586a5 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Feb 09 20:24:04 CET 2016 +#Thu Mar 30 11:28:56 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip diff --git a/library/build.gradle b/library/build.gradle index ed5d459..2587698 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,6 +1,6 @@ apply plugin: 'com.android.library' apply plugin: 'me.tatarka.retrolambda' -apply plugin: 'groovyx.grooid.groovy-android' +apply plugin: 'groovyx.android' apply plugin: 'com.github.dcendents.android-maven' buildscript { @@ -10,18 +10,18 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:2.1.3' - classpath 'me.tatarka:gradle-retrolambda:2.5.0' - classpath 'org.codehaus.groovy:gradle-groovy-android-plugin:0.3.6' - classpath 'com.github.dcendents:android-maven-plugin:1.2' + classpath 'com.android.tools.build:gradle:2.3.0' + classpath 'me.tatarka:gradle-retrolambda:3.6.0' + classpath 'org.codehaus.groovy:groovy-android-gradle-plugin:1.1.0' + classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1' } } group = 'com.github.rheinfabrik' android { - compileSdkVersion 24 - buildToolsVersion "23.0.3" + compileSdkVersion 25 + buildToolsVersion "25.0.2" compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 @@ -36,7 +36,7 @@ android { defaultConfig { minSdkVersion 9 - targetSdkVersion 23 + targetSdkVersion 25 versionCode 105 versionName "1.0.6" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" diff --git a/sample/build.gradle b/sample/build.gradle index 3c0b9bb..a4158d8 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -7,18 +7,18 @@ buildscript { } dependencies { - classpath 'me.tatarka:gradle-retrolambda:2.5.0' + classpath 'me.tatarka:gradle-retrolambda:3.6.0' } } android { - compileSdkVersion 24 - buildToolsVersion "23.0.3" + compileSdkVersion 25 + buildToolsVersion "25.0.2" defaultConfig { applicationId "de.rheinfabrik.heimdall" minSdkVersion 15 - targetSdkVersion 24 + targetSdkVersion 25 versionCode 1 versionName "1.0" } @@ -33,9 +33,9 @@ android { dependencies { // Android - compile 'com.android.support:appcompat-v7:23.1.1' - compile 'com.android.support:recyclerview-v7:23.1.1' - compile 'com.android.support:cardview-v7:23.1.1' + compile 'com.android.support:appcompat-v7:25.3.1' + compile 'com.android.support:recyclerview-v7:25.3.1' + compile 'com.android.support:cardview-v7:25.3.1' // Heimdall compile project(':library') From 9257140ec5b777354f91653ab8793ef6118685d8 Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Mon, 3 Apr 2017 11:23:42 +0200 Subject: [PATCH 03/20] udpating travis yml file --- .travis.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1f42d35..a6776a9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,15 +7,16 @@ env: - MALLOC_ARENA_MAX=2 - ADB_INSTALL_TIMEOUT=10 matrix: - - ANDROID_TARGET=android-22 ANDROID_ABI=armeabi-v7a + - ANDROID_TARGET=android-25 ANDROID_ABI=armeabi-v7a android: components: - tools - - build-tools-23.0.3 - - android-24 + - build-tools-25.0.2 - android-22 - android-23 + - android-24 + - android-25 - sys-img-armeabi-v7a-android-22 - extra-google-m2repository - extra-android-m2repository From efc03154c6769fbd5220a180b5ae4cbe7d9157ef Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Mon, 3 Apr 2017 11:32:57 +0200 Subject: [PATCH 04/20] travis.yml: Updated the android ABI variable to match new name --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a6776a9..1706ac0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ env: - MALLOC_ARENA_MAX=2 - ADB_INSTALL_TIMEOUT=10 matrix: - - ANDROID_TARGET=android-25 ANDROID_ABI=armeabi-v7a + - ANDROID_TARGET=android-25 ANDROID_ABI=google_apis/armeabi-v7a android: components: From 0d22eb4fda35f9d561e42b9c6a39cc7a24e6375f Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Mon, 3 Apr 2017 11:38:41 +0200 Subject: [PATCH 05/20] Updating armeabi v7a to android 25 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1706ac0..6b5721a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,7 @@ android: - android-23 - android-24 - android-25 - - sys-img-armeabi-v7a-android-22 + - sys-img-armeabi-v7a-android-25 - extra-google-m2repository - extra-android-m2repository - extra-android-support From ce9cd46666e1c48ad0e18f5a4846909a69aea056 Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Mon, 3 Apr 2017 11:54:10 +0200 Subject: [PATCH 06/20] Removing matrix to test env variables being read --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6b5721a..1bbee02 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,8 +6,8 @@ env: global: - MALLOC_ARENA_MAX=2 - ADB_INSTALL_TIMEOUT=10 - matrix: - - ANDROID_TARGET=android-25 ANDROID_ABI=google_apis/armeabi-v7a + - ANDROID_TARGET=android-25 + - ANDROID_ABI=google_apis/armeabi-v7a android: components: From 38b346acf45ecfb335fa99bc136d3adfa93b6acb Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Mon, 3 Apr 2017 12:03:48 +0200 Subject: [PATCH 07/20] testing reading armeabi directly --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1bbee02..9e37483 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,6 +11,7 @@ env: android: components: + - tools - tools - build-tools-25.0.2 - android-22 @@ -25,7 +26,7 @@ android: sudo: required before_script: - - echo no | android create avd --force -n test -t $ANDROID_TARGET --abi $ANDROID_ABI + - echo no | android create avd --force -n test -t $ANDROID_TARGET --abi google_apis/armeabi-v7a - emulator -avd test -no-skin -no-audio -no-window & - android-wait-for-emulator - adb shell input keyevent 82 & From f2b0e5d009226e611c7bcae1842f16b7cbee0f0a Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Mon, 3 Apr 2017 12:29:54 +0200 Subject: [PATCH 08/20] Updating travis xml file --- .travis.yml | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9e37483..43c0a2d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,30 +3,36 @@ language: android jdk: oraclejdk8 env: + matrix: + - ANDROID_API_LEVEL=25 EMULATOR_API_LEVEL=21 ANDROID_ABI=armeabi-v7a global: - MALLOC_ARENA_MAX=2 - ADB_INSTALL_TIMEOUT=10 - - ANDROID_TARGET=android-25 - - ANDROID_ABI=google_apis/armeabi-v7a + - ANDROID_TAG=google_apis + - ANDROID_BUILD_TOOLS_VERSION=25.0.2 android: components: - tools + - platform-tools - tools - - build-tools-25.0.2 - - android-22 - - android-23 - - android-24 - - android-25 - - sys-img-armeabi-v7a-android-25 + - build-tools-$ANDROID_BUILD_TOOLS_VERSION + + - android-$ANDROID_API_LEVEL + - android-$EMULATOR_API_LEVEL + - extra-google-m2repository - extra-android-m2repository - extra-android-support + # System images + - sys-img-armeabi-v7a-android-$ANDROID_API_LEVEL + - sys-img-armeabi-v7a-android-$EMULATOR_API_LEVEL + sudo: required before_script: - - echo no | android create avd --force -n test -t $ANDROID_TARGET --abi google_apis/armeabi-v7a + - echo no | android create avd --force -n test -t "android-"$ANDROID_API_LEVEL --abi $ANDROID_ABI --tag $ANDROID_TAG - emulator -avd test -no-skin -no-audio -no-window & - android-wait-for-emulator - adb shell input keyevent 82 & From 8bde89e4b6b466f069e7f1281a3d9bb742dd35c0 Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Mon, 3 Apr 2017 12:59:00 +0200 Subject: [PATCH 09/20] updating travis to use ABI for api level 22, since ABI for 23, 24 and 25 are not available yet. --- .travis.yml | 8 +++----- .../heimdall/OAuth2AccessTokenManagerSpecs.groovy | 3 --- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 43c0a2d..a7dc5bf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ jdk: oraclejdk8 env: matrix: - - ANDROID_API_LEVEL=25 EMULATOR_API_LEVEL=21 ANDROID_ABI=armeabi-v7a + - ANDROID_API_LEVEL=22 ANDROID_ABI=armeabi-v7a global: - MALLOC_ARENA_MAX=2 - ADB_INSTALL_TIMEOUT=10 @@ -13,13 +13,11 @@ env: android: components: - - tools - platform-tools - tools - build-tools-$ANDROID_BUILD_TOOLS_VERSION - android-$ANDROID_API_LEVEL - - android-$EMULATOR_API_LEVEL - extra-google-m2repository - extra-android-m2repository @@ -27,12 +25,12 @@ android: # System images - sys-img-armeabi-v7a-android-$ANDROID_API_LEVEL - - sys-img-armeabi-v7a-android-$EMULATOR_API_LEVEL + sudo: required before_script: - - echo no | android create avd --force -n test -t "android-"$ANDROID_API_LEVEL --abi $ANDROID_ABI --tag $ANDROID_TAG + - echo no | android create avd --force -n test -t "android-"$ANDROID_API_LEVEL --abi $ANDROID_ABI - emulator -avd test -no-skin -no-audio -no-window & - android-wait-for-emulator - adb shell input keyevent 82 & diff --git a/library/src/androidTest/groovy/de/rheinfabrik/heimdall/OAuth2AccessTokenManagerSpecs.groovy b/library/src/androidTest/groovy/de/rheinfabrik/heimdall/OAuth2AccessTokenManagerSpecs.groovy index 0e16b6b..40fb13f 100644 --- a/library/src/androidTest/groovy/de/rheinfabrik/heimdall/OAuth2AccessTokenManagerSpecs.groovy +++ b/library/src/androidTest/groovy/de/rheinfabrik/heimdall/OAuth2AccessTokenManagerSpecs.groovy @@ -3,12 +3,9 @@ package de.rheinfabrik.heimdall import com.andrewreitz.spock.android.AndroidSpecification import de.rheinfabrik.heimdall.grants.OAuth2Grant import de.rheinfabrik.heimdall.grants.OAuth2RefreshAccessTokenGrant -import groovy.transform.CompileStatic import rx.Single import spock.lang.Title -import java.util.concurrent.TimeUnit - @Title("Tests for the constructor of the OAuth2AccessTokenManager class") class OAuth2AccessTokenManagerConstructorSpecs extends AndroidSpecification { From 8e4be3ecbd6ce93831200b2e0e6169717787e4a5 Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Mon, 3 Apr 2017 15:51:29 +0200 Subject: [PATCH 10/20] Rollback on circle.yml file --- .travis.yml | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/.travis.yml b/.travis.yml index a7dc5bf..98aa759 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,36 +3,30 @@ language: android jdk: oraclejdk8 env: - matrix: - - ANDROID_API_LEVEL=22 ANDROID_ABI=armeabi-v7a global: - MALLOC_ARENA_MAX=2 - ADB_INSTALL_TIMEOUT=10 - - ANDROID_TAG=google_apis - - ANDROID_BUILD_TOOLS_VERSION=25.0.2 + matrix: + - ANDROID_TARGET=android-22 ANDROID_ABI=armeabi-v7a android: components: - - platform-tools - tools - - build-tools-$ANDROID_BUILD_TOOLS_VERSION - - - android-$ANDROID_API_LEVEL - + - build-tools-23.0.3 + - android-24 + - android-22 + - android-23 + - sys-img-armeabi-v7a-android-22 - extra-google-m2repository - extra-android-m2repository - extra-android-support - # System images - - sys-img-armeabi-v7a-android-$ANDROID_API_LEVEL - - sudo: required before_script: - - echo no | android create avd --force -n test -t "android-"$ANDROID_API_LEVEL --abi $ANDROID_ABI + - echo no | android create avd --force -n test -t $ANDROID_TARGET --abi $ANDROID_ABI - emulator -avd test -no-skin -no-audio -no-window & - android-wait-for-emulator - adb shell input keyevent 82 & -script: ./gradlew library:connectedAndroidTest +script: ./gradlew library:connectedAndroidTest \ No newline at end of file From 80f967ad9a30ac1290f8c5c4ae30daa7b6b8121f Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Mon, 3 Apr 2017 16:24:46 +0200 Subject: [PATCH 11/20] Updating build tools in the travis yml file --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 98aa759..0818373 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ env: android: components: - tools - - build-tools-23.0.3 + - build-tools-25.0.2 - android-24 - android-22 - android-23 From 357e3e5486111b3b95e5a637436b129fd427dc37 Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Mon, 3 Apr 2017 16:47:28 +0200 Subject: [PATCH 12/20] downgrading build tools, target sdk and compile sdk --- .travis.yml | 2 +- library/build.gradle | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0818373..b1884ee 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ env: android: components: - tools - - build-tools-25.0.2 + - build-tools-25.0.0 - android-24 - android-22 - android-23 diff --git a/library/build.gradle b/library/build.gradle index 2587698..b8dc88b 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -20,8 +20,8 @@ buildscript { group = 'com.github.rheinfabrik' android { - compileSdkVersion 25 - buildToolsVersion "25.0.2" + compileSdkVersion 23 + buildToolsVersion '25.0.0' compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 @@ -36,7 +36,7 @@ android { defaultConfig { minSdkVersion 9 - targetSdkVersion 25 + targetSdkVersion 23 versionCode 105 versionName "1.0.6" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" From 4743ba87f4f7ce57fe1e78494f20f5972240e85e Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Mon, 3 Apr 2017 17:36:30 +0200 Subject: [PATCH 13/20] Updating sample gradle file and travis.yml --- .travis.yml | 2 +- sample/build.gradle | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index b1884ee..98aa759 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ env: android: components: - tools - - build-tools-25.0.0 + - build-tools-23.0.3 - android-24 - android-22 - android-23 diff --git a/sample/build.gradle b/sample/build.gradle index a4158d8..7beaace 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -12,13 +12,13 @@ buildscript { } android { - compileSdkVersion 25 - buildToolsVersion "25.0.2" + compileSdkVersion 23 + buildToolsVersion '23.0.3' defaultConfig { applicationId "de.rheinfabrik.heimdall" minSdkVersion 15 - targetSdkVersion 25 + targetSdkVersion 23 versionCode 1 versionName "1.0" } @@ -33,9 +33,9 @@ android { dependencies { // Android - compile 'com.android.support:appcompat-v7:25.3.1' - compile 'com.android.support:recyclerview-v7:25.3.1' - compile 'com.android.support:cardview-v7:25.3.1' + compile 'com.android.support:appcompat-v7:23.0.3' + compile 'com.android.support:recyclerview-v7:23.0.3' + compile 'com.android.support:cardview-v7:23.0.3' // Heimdall compile project(':library') From efc7cbb3df2d9a3451a2964806bc9473ef1f1d05 Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Mon, 3 Apr 2017 17:51:18 +0200 Subject: [PATCH 14/20] gradle file update on library --- library/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/build.gradle b/library/build.gradle index b8dc88b..a52d8b0 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -21,7 +21,7 @@ group = 'com.github.rheinfabrik' android { compileSdkVersion 23 - buildToolsVersion '25.0.0' + buildToolsVersion '23.0.3' compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 From d43ed28a376d7fd6371fac08ccdb357ab6929369 Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Mon, 3 Apr 2017 18:10:50 +0200 Subject: [PATCH 15/20] Returning to original build.gradle files for sample and library --- library/build.gradle | 14 +++++++------- sample/build.gradle | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/library/build.gradle b/library/build.gradle index a52d8b0..ed5d459 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,6 +1,6 @@ apply plugin: 'com.android.library' apply plugin: 'me.tatarka.retrolambda' -apply plugin: 'groovyx.android' +apply plugin: 'groovyx.grooid.groovy-android' apply plugin: 'com.github.dcendents.android-maven' buildscript { @@ -10,18 +10,18 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:2.3.0' - classpath 'me.tatarka:gradle-retrolambda:3.6.0' - classpath 'org.codehaus.groovy:groovy-android-gradle-plugin:1.1.0' - classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1' + classpath 'com.android.tools.build:gradle:2.1.3' + classpath 'me.tatarka:gradle-retrolambda:2.5.0' + classpath 'org.codehaus.groovy:gradle-groovy-android-plugin:0.3.6' + classpath 'com.github.dcendents:android-maven-plugin:1.2' } } group = 'com.github.rheinfabrik' android { - compileSdkVersion 23 - buildToolsVersion '23.0.3' + compileSdkVersion 24 + buildToolsVersion "23.0.3" compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 diff --git a/sample/build.gradle b/sample/build.gradle index 7beaace..3c0b9bb 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -7,18 +7,18 @@ buildscript { } dependencies { - classpath 'me.tatarka:gradle-retrolambda:3.6.0' + classpath 'me.tatarka:gradle-retrolambda:2.5.0' } } android { - compileSdkVersion 23 - buildToolsVersion '23.0.3' + compileSdkVersion 24 + buildToolsVersion "23.0.3" defaultConfig { applicationId "de.rheinfabrik.heimdall" minSdkVersion 15 - targetSdkVersion 23 + targetSdkVersion 24 versionCode 1 versionName "1.0" } @@ -33,9 +33,9 @@ android { dependencies { // Android - compile 'com.android.support:appcompat-v7:23.0.3' - compile 'com.android.support:recyclerview-v7:23.0.3' - compile 'com.android.support:cardview-v7:23.0.3' + compile 'com.android.support:appcompat-v7:23.1.1' + compile 'com.android.support:recyclerview-v7:23.1.1' + compile 'com.android.support:cardview-v7:23.1.1' // Heimdall compile project(':library') From dcfe2ec631cdf75bab0713dc3aebc2c8532925a0 Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Mon, 3 Apr 2017 18:30:50 +0200 Subject: [PATCH 16/20] updating travis.yml file --- library/build.gradle | 16 ++++++++-------- sample/build.gradle | 14 +++++++------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/library/build.gradle b/library/build.gradle index ed5d459..3925e20 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,6 +1,6 @@ apply plugin: 'com.android.library' apply plugin: 'me.tatarka.retrolambda' -apply plugin: 'groovyx.grooid.groovy-android' +apply plugin: 'groovyx.android' apply plugin: 'com.github.dcendents.android-maven' buildscript { @@ -10,18 +10,18 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:2.1.3' - classpath 'me.tatarka:gradle-retrolambda:2.5.0' - classpath 'org.codehaus.groovy:gradle-groovy-android-plugin:0.3.6' - classpath 'com.github.dcendents:android-maven-plugin:1.2' + classpath 'com.android.tools.build:gradle:2.3.0' + classpath 'me.tatarka:gradle-retrolambda:3.6.0' + classpath 'org.codehaus.groovy:groovy-android-gradle-plugin:1.1.0' + classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1' } } group = 'com.github.rheinfabrik' android { - compileSdkVersion 24 - buildToolsVersion "23.0.3" + compileSdkVersion 25 + buildToolsVersion '25.0.2' compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 @@ -36,7 +36,7 @@ android { defaultConfig { minSdkVersion 9 - targetSdkVersion 23 + targetSdkVersion 25 versionCode 105 versionName "1.0.6" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" diff --git a/sample/build.gradle b/sample/build.gradle index 3c0b9bb..45533d6 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -7,18 +7,18 @@ buildscript { } dependencies { - classpath 'me.tatarka:gradle-retrolambda:2.5.0' + classpath 'me.tatarka:gradle-retrolambda:3.6.0' } } android { - compileSdkVersion 24 - buildToolsVersion "23.0.3" + compileSdkVersion 25 + buildToolsVersion '25.0.2' defaultConfig { applicationId "de.rheinfabrik.heimdall" minSdkVersion 15 - targetSdkVersion 24 + targetSdkVersion 25 versionCode 1 versionName "1.0" } @@ -33,9 +33,9 @@ android { dependencies { // Android - compile 'com.android.support:appcompat-v7:23.1.1' - compile 'com.android.support:recyclerview-v7:23.1.1' - compile 'com.android.support:cardview-v7:23.1.1' + compile 'com.android.support:appcompat-v7:25.3.1' + compile 'com.android.support:recyclerview-v7:25.3.1' + compile 'com.android.support:cardview-v7:25.3.1' // Heimdall compile project(':library') From 4986d38fc5ccffd153b22f53538db5afb11291a2 Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Mon, 3 Apr 2017 18:37:13 +0200 Subject: [PATCH 17/20] Updating travis.yml file --- .travis.yml | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 98aa759..a997f36 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,25 +6,28 @@ env: global: - MALLOC_ARENA_MAX=2 - ADB_INSTALL_TIMEOUT=10 - matrix: - - ANDROID_TARGET=android-22 ANDROID_ABI=armeabi-v7a + - ANDROID_API_LEVEL=21 + - ANDROID_BUILD_TOOLS_VERSION=21.1.2 + - ANDROID_ABI=google_apis/armeabi-v7a android: components: + - platform-tools - tools - - build-tools-23.0.3 - - android-24 - - android-22 - - android-23 - - sys-img-armeabi-v7a-android-22 + - build-tools-$ANDROID_BUILD_TOOLS_VERSION + - android-$ANDROID_API_LEVEL + # Support Library + - extra-android-support + # Latest artifacts in local repository - extra-google-m2repository - extra-android-m2repository - - extra-android-support + # Specify at least one system image + - sys-img-armeabi-v7a-addon-google_apis-google-$ANDROID_API_LEVEL sudo: required before_script: - - echo no | android create avd --force -n test -t $ANDROID_TARGET --abi $ANDROID_ABI + - echo no | android create avd --force -n test -t ANDROID_API_LEVEL --abi $ANDROID_ABI - emulator -avd test -no-skin -no-audio -no-window & - android-wait-for-emulator - adb shell input keyevent 82 & From 560dc3597f2d7bc62162dec7f5f553e907fd1883 Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Mon, 3 Apr 2017 18:42:14 +0200 Subject: [PATCH 18/20] updating travis.yml --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a997f36..9076909 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,12 +22,13 @@ android: - extra-google-m2repository - extra-android-m2repository # Specify at least one system image + - sys-img-armeabi-v7a-android-$ANDROID_API_LEVEL - sys-img-armeabi-v7a-addon-google_apis-google-$ANDROID_API_LEVEL sudo: required before_script: - - echo no | android create avd --force -n test -t ANDROID_API_LEVEL --abi $ANDROID_ABI + - echo no | android create avd --force -n test -t $ANDROID_API_LEVEL --abi $ANDROID_ABI - emulator -avd test -no-skin -no-audio -no-window & - android-wait-for-emulator - adb shell input keyevent 82 & From 08f0b40c7deb5e20ca7fbc878be24987866da5e2 Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Tue, 4 Apr 2017 10:15:12 +0200 Subject: [PATCH 19/20] Rollback on configuration --- .travis.yml | 22 +++++++++------------- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- library/build.gradle | 18 +++++++++--------- sample/build.gradle | 16 ++++++++-------- 5 files changed, 28 insertions(+), 32 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9076909..98aa759 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,29 +6,25 @@ env: global: - MALLOC_ARENA_MAX=2 - ADB_INSTALL_TIMEOUT=10 - - ANDROID_API_LEVEL=21 - - ANDROID_BUILD_TOOLS_VERSION=21.1.2 - - ANDROID_ABI=google_apis/armeabi-v7a + matrix: + - ANDROID_TARGET=android-22 ANDROID_ABI=armeabi-v7a android: components: - - platform-tools - tools - - build-tools-$ANDROID_BUILD_TOOLS_VERSION - - android-$ANDROID_API_LEVEL - # Support Library - - extra-android-support - # Latest artifacts in local repository + - build-tools-23.0.3 + - android-24 + - android-22 + - android-23 + - sys-img-armeabi-v7a-android-22 - extra-google-m2repository - extra-android-m2repository - # Specify at least one system image - - sys-img-armeabi-v7a-android-$ANDROID_API_LEVEL - - sys-img-armeabi-v7a-addon-google_apis-google-$ANDROID_API_LEVEL + - extra-android-support sudo: required before_script: - - echo no | android create avd --force -n test -t $ANDROID_API_LEVEL --abi $ANDROID_ABI + - echo no | android create avd --force -n test -t $ANDROID_TARGET --abi $ANDROID_ABI - emulator -avd test -no-skin -no-audio -no-window & - android-wait-for-emulator - adb shell input keyevent 82 & diff --git a/build.gradle b/build.gradle index c6f2f50..9405f3f 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.0' + classpath 'com.android.tools.build:gradle:1.2.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b7586a5..aebe976 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.2-all.zip diff --git a/library/build.gradle b/library/build.gradle index 3925e20..124e3d4 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,6 +1,6 @@ apply plugin: 'com.android.library' apply plugin: 'me.tatarka.retrolambda' -apply plugin: 'groovyx.android' +apply plugin: 'groovyx.grooid.groovy-android' apply plugin: 'com.github.dcendents.android-maven' buildscript { @@ -10,18 +10,18 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:2.3.0' - classpath 'me.tatarka:gradle-retrolambda:3.6.0' - classpath 'org.codehaus.groovy:groovy-android-gradle-plugin:1.1.0' - classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1' + classpath 'com.android.tools.build:gradle:2.1.3' + classpath 'me.tatarka:gradle-retrolambda:2.5.0' + classpath 'org.codehaus.groovy:gradle-groovy-android-plugin:0.3.6' + classpath 'com.github.dcendents:android-maven-plugin:1.2' } } group = 'com.github.rheinfabrik' android { - compileSdkVersion 25 - buildToolsVersion '25.0.2' + compileSdkVersion 24 + buildToolsVersion "23.0.3" compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 @@ -36,7 +36,7 @@ android { defaultConfig { minSdkVersion 9 - targetSdkVersion 25 + targetSdkVersion 23 versionCode 105 versionName "1.0.6" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" @@ -71,4 +71,4 @@ dependencies { exclude group: 'junit' } androidTestCompile "com.google.dexmaker:dexmaker:1.2" -} +} \ No newline at end of file diff --git a/sample/build.gradle b/sample/build.gradle index 45533d6..6bbc5a4 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -7,18 +7,18 @@ buildscript { } dependencies { - classpath 'me.tatarka:gradle-retrolambda:3.6.0' + classpath 'me.tatarka:gradle-retrolambda:2.5.0' } } android { - compileSdkVersion 25 - buildToolsVersion '25.0.2' + compileSdkVersion 24 + buildToolsVersion "23.0.3" defaultConfig { applicationId "de.rheinfabrik.heimdall" minSdkVersion 15 - targetSdkVersion 25 + targetSdkVersion 24 versionCode 1 versionName "1.0" } @@ -33,9 +33,9 @@ android { dependencies { // Android - compile 'com.android.support:appcompat-v7:25.3.1' - compile 'com.android.support:recyclerview-v7:25.3.1' - compile 'com.android.support:cardview-v7:25.3.1' + compile 'com.android.support:appcompat-v7:23.1.1' + compile 'com.android.support:recyclerview-v7:23.1.1' + compile 'com.android.support:cardview-v7:23.1.1' // Heimdall compile project(':library') @@ -56,4 +56,4 @@ dependencies { // Butterknife compile 'com.jakewharton:butterknife:6.1.0' -} +} \ No newline at end of file From 69cdec75e5b53f5402bb7a2854a31a1b71ecebbf Mon Sep 17 00:00:00 2001 From: Walter Ching Date: Tue, 4 Apr 2017 13:17:02 +0200 Subject: [PATCH 20/20] Version code and version name update --- library/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/build.gradle b/library/build.gradle index 124e3d4..811f407 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -37,8 +37,8 @@ android { defaultConfig { minSdkVersion 9 targetSdkVersion 23 - versionCode 105 - versionName "1.0.6" + versionCode 106 + versionName "1.0.7" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" }