diff --git a/.travis.yml b/.travis.yml index 12d8d2fc3..21f4a3ed7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,8 +13,8 @@ android: - tools - tools - platform-tools - - build-tools-25.0.3 - - android-25 + - build-tools-27.0.3 + - android-28 - extra - addon diff --git a/build.gradle b/build.gradle index 975b36792..015874614 100644 --- a/build.gradle +++ b/build.gradle @@ -1,21 +1,23 @@ buildscript { - ext.kotlin_version = '1.1.51' - repositories { + ext.kotlin_version = '1.2.50' + repositories { jcenter() + maven { + url 'https://maven.google.com/' + name 'Google' + } } dependencies { - classpath 'com.android.tools.build:gradle:2.3.3' - classpath 'com.novoda:bintray-release:0.3.4' + classpath 'com.android.tools.build:gradle:3.1.3' + classpath 'com.novoda:bintray-release:0.8.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { + google() jcenter() - maven { - url "https://maven.google.com" - } } } @@ -23,11 +25,10 @@ task clean(type: Delete) { delete rootProject.buildDir } -ext.minSdkVersionDeclared = 9 -ext.compileSdkVersionDeclared = 25 -ext.buildToolsVersionDeclared = '25.0.3' +ext.minSdkVersionDeclared = 14 +ext.compileSdkVersionDeclared = 28 -ext.supportLibVersion = '25.4.0' -ext.espressoVersion = '3.0.1' -ext.uiAutomatorVersion = '2.1.2' +ext.supportLibVersion = '27.1.1' +ext.espressoVersion = '3.0.2' +ext.uiAutomatorVersion = '2.1.3' ext.baristaVersion = '2.4.0' diff --git a/config/android-quality.gradle b/config/android-quality.gradle index e25f3f471..124b05363 100755 --- a/config/android-quality.gradle +++ b/config/android-quality.gradle @@ -81,8 +81,6 @@ task jacocoTestReport(type: JacocoReport, dependsOn: 'testDebugUnitTest') { html.enabled = true } - jacocoClasspath = configurations['androidJacocoAnt'] - def fileFilter = ['**/R.class', '**/R$*.class', '**/*$ViewInjector*.*', diff --git a/config/pmd/pmd-ruleset.xml b/config/pmd/pmd-ruleset.xml index af54e81a7..fe91cec13 100755 --- a/config/pmd/pmd-ruleset.xml +++ b/config/pmd/pmd-ruleset.xml @@ -1,8 +1,8 @@ + xmlns="http://pmd.sourceforge.net/ruleset/2.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd"> FINN ruleset - tweaked for PMD 5.0.2 and for running on tests, too. 3 @@ -97,14 +97,14 @@ 3 - + 5 - + 3 @@ -286,32 +286,4 @@ 3 - - diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 13372aef5..01b8bf6b1 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 697e8bdf5..b6517bb1d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Tue May 16 16:31:24 CEST 2017 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-4.4-all.zip diff --git a/gradlew b/gradlew index 9d82f7891..cccdd3d51 100755 --- a/gradlew +++ b/gradlew @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh ############################################################################## ## @@ -6,20 +6,38 @@ ## ############################################################################## -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -30,6 +48,7 @@ die ( ) { cygwin=false msys=false darwin=false +nonstop=false case "`uname`" in CYGWIN* ) cygwin=true @@ -40,26 +59,11 @@ case "`uname`" in MINGW* ) msys=true ;; + NONSTOP* ) + nonstop=true + ;; esac -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. @@ -85,7 +89,7 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then @@ -150,11 +154,19 @@ if $cygwin ; then esac fi -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " } -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index aec99730b..e95643d6a 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -8,14 +8,14 @@ @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome @@ -46,10 +46,9 @@ echo location of your Java installation. goto fail :init -@rem Get command-line arguments, handling Windowz variants +@rem Get command-line arguments, handling Windows variants if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args :win9xME_args @rem Slurp the command line arguments. @@ -60,11 +59,6 @@ set _SKIP=2 if "x%~1" == "x" goto execute set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ :execute @rem Setup the command line diff --git a/library/build.gradle b/library/build.gradle index fe7f1da78..4e36823b3 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -5,7 +5,6 @@ apply from: '../config/android-quality.gradle' android { compileSdkVersion compileSdkVersionDeclared - buildToolsVersion buildToolsVersionDeclared defaultConfig { minSdkVersion minSdkVersionDeclared @@ -19,21 +18,22 @@ android { } dependencies { - compile "com.android.support.test.espresso:espresso-core:$espressoVersion" - compile "com.android.support.test.espresso:espresso-contrib:$espressoVersion" - compile "com.android.support.test.uiautomator:uiautomator-v18:$uiAutomatorVersion" - compile "com.android.support.test.espresso:espresso-intents:$espressoVersion" - - compile "com.android.support:support-annotations:$supportLibVersion" - compile "com.android.support:support-core-ui:$supportLibVersion" - compile "com.android.support:recyclerview-v7:$supportLibVersion" - - compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" - - testCompile 'junit:junit:4.12' - testCompile 'pl.pragmatists:JUnitParams:1.1.0' - testCompile 'org.assertj:assertj-core:1.7.0' - testCompile 'org.mockito:mockito-core:2.8.9' + api "com.android.support.test.espresso:espresso-core:$espressoVersion" + api "com.android.support.test.espresso:espresso-contrib:$espressoVersion" + api "com.android.support.test.uiautomator:uiautomator-v18:$uiAutomatorVersion" + api "com.android.support.test.espresso:espresso-intents:$espressoVersion" + + implementation "com.android.support:support-annotations:$supportLibVersion" + implementation "com.android.support:support-core-ui:$supportLibVersion" + implementation "com.android.support:animated-vector-drawable:$supportLibVersion" + implementation "com.android.support:recyclerview-v7:$supportLibVersion" + + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + + testImplementation 'junit:junit:4.12' + testImplementation 'pl.pragmatists:JUnitParams:1.1.0' + testImplementation 'org.assertj:assertj-core:1.7.0' + testImplementation 'org.mockito:mockito-core:2.13.0' } publish { diff --git a/sample/build.gradle b/sample/build.gradle index c7087c513..0cde3f94c 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -5,7 +5,6 @@ apply from: '../config/android-quality.gradle' android { compileSdkVersion compileSdkVersionDeclared - buildToolsVersion buildToolsVersionDeclared defaultConfig { applicationId "com.schibsted.spain.barista.sample" minSdkVersion minSdkVersionDeclared @@ -23,16 +22,21 @@ android { } dependencies { - compile "com.android.support:support-v4:$supportLibVersion" - compile "com.android.support:appcompat-v7:$supportLibVersion" - compile "com.android.support:recyclerview-v7:$supportLibVersion" - compile "com.android.support:design:$supportLibVersion" - compile "com.android.support:support-annotations:$supportLibVersion" - compile 'com.github.bumptech.glide:glide:3.8.0' + implementation "com.android.support:support-v4:$supportLibVersion" + implementation "com.android.support:appcompat-v7:$supportLibVersion" + implementation "com.android.support:recyclerview-v7:$supportLibVersion" + implementation "com.android.support:design:$supportLibVersion" + implementation "com.android.support:support-annotations:$supportLibVersion" + implementation 'com.github.bumptech.glide:glide:4.7.1' - compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" + androidTestApi "com.android.support.test.espresso:espresso-core:$espressoVersion" + androidTestApi "com.android.support.test.espresso:espresso-contrib:$espressoVersion" + androidTestApi "com.android.support.test.uiautomator:uiautomator-v18:$uiAutomatorVersion" + androidTestApi "com.android.support.test.espresso:espresso-intents:$espressoVersion" - testCompile 'junit:junit:4.12' + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - androidTestCompile project(':library') + testImplementation 'junit:junit:4.12' + + androidTestImplementation project(':library') } \ No newline at end of file