diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..ac1ba17 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,37 @@ +language: android +jdk: oraclejdk8 +sudo: false + +env: + global: + - ANDROID_TARGET=android-28 + - ANDROID_ABI=arm64-v8a + +android: + components: + - tools + - build-tools-28.0.3 + - android-28 + +before_cache: + - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock + - rm -fr $HOME/.gradle/caches/*/plugin-resolution/ + +cache: + directories: + - $HOME/.gradle/caches/ + - $HOME/.gradle/wrapper/ + - $HOME/.android/build-cache + +before_install: + - chmod +x gradlew + +script: + - ./gradlew build jacocoTestReport + +after_success: + - bash <(curl -s https://codecov.io/bash) -t ${TOKEN_CODECOV} + +licenses: + - 'android-sdk-license-.+' + - 'google-gdk-license-.+' \ No newline at end of file diff --git a/README.md b/README.md index 56d3243..a571412 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ +[![Build Status](https://travis-ci.org/reaganiwadha/offix-android.svg?branch=master)](https://travis-ci.com/reaganiwadha/offix-android) +[![Code Coverage](https://codecov.io/gh/reaganiwadha/offix-android/branch/master/graph/badge.svg)](https://travis-ci.com/reaganiwadha/offix-android) +


@@ -49,7 +52,10 @@ See [offix website](https://android.offix.dev) for usage and more details. See [sample](https://github.com/aerogear/offix-android/tree/master/sample) for example application.
- +## Presentation Link + +https://docs.google.com/presentation/d/1SzAfRQTqfMtXbp6jFfr99jkIjjZWslX3tU2Wkoec2Uk/edit?usp=sharing + ## Contributing See [contribution guidelines](./CONTRIBUTING.md) file for more information diff --git a/build.gradle b/build.gradle index 9d0da36..11ebf1e 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.4.2' + classpath 'com.android.tools.build:gradle:3.5.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.apollographql.apollo:apollo-gradle-plugin:1.2.0' // NOTE: Do not place your application dependencies here; they belong diff --git a/sample/build.gradle b/sample/build.gradle index 0bb25da..f7ca96b 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -1,12 +1,23 @@ +buildscript{ + repositories{ + jcenter() + } + dependencies{ + classpath 'com.dicedmelon.gradle:jacoco-android:0.1.4' + } +} + apply plugin: 'com.android.application' apply plugin: 'com.apollographql.android' apply plugin: 'kotlin-android' - apply plugin: 'kotlin-kapt' - apply plugin: 'kotlin-android-extensions' +apply plugin: 'jacoco-android' + + + android { compileSdkVersion 28 @@ -23,6 +34,9 @@ android { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } + debug{ + testCoverageEnabled true + } } } diff --git a/sample/server/package-lock.json b/sample/server/package-lock.json index de85b74..587cf67 100644 --- a/sample/server/package-lock.json +++ b/sample/server/package-lock.json @@ -708,9 +708,9 @@ } }, "bluebird": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", - "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==" + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", + "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==" }, "body-parser": { "version": "1.19.0", @@ -952,9 +952,9 @@ } }, "colorette": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.0.8.tgz", - "integrity": "sha512-X6Ck90ReaF+EfKdVGB7vdIQ3dr651BbIrBwY5YBKg13fjH+940sTtp7/Pkx33C6ntYfQcRumOs/aUQhaRPpbTQ==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.1.0.tgz", + "integrity": "sha512-6S062WDQUXi6hOfkO/sBPVwE5ASXY4G2+b4atvhJfSsuUUhIaUKlkjLe9692Ipyt5/a+IPF5aVTu3V5gvXq5cg==" }, "colornames": { "version": "1.1.1", @@ -986,7 +986,8 @@ "commander": { "version": "2.20.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "dev": true }, "component-emitter": { "version": "1.3.0", @@ -1642,9 +1643,9 @@ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, "getopts": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.2.4.tgz", - "integrity": "sha512-Rz7DGyomZjrenu9Jx4qmzdlvJgvrEFHXHvjK0FcZtcTC1U5FmES7OdZHUwMuSnEE6QvBvwse1JODKj7TgbSEjQ==" + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.2.5.tgz", + "integrity": "sha512-9jb7AW5p3in+IiJWhQiZmmwkpLaR/ccTWdWQCtZM66HJcHHLegowh4q4tSD7gouUyeNvFWRavfK9GXosQHDpFA==" }, "getpass": { "version": "0.1.7", @@ -2209,27 +2210,32 @@ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" }, "knex": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/knex/-/knex-0.19.1.tgz", - "integrity": "sha512-Y25eu5xMv8h/2/98YQqGMPzzo0AYs/HluST6BR8vkGfRyhme0A51jyCde4y4QInJo2GokrUzrXqlKDqqERg+nQ==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/knex/-/knex-0.19.5.tgz", + "integrity": "sha512-Hy258avCVircQq+oj3WBqPzl8jDIte438Qlq+8pt1i/TyLYVA4zPh2uKc7Bx0t+qOpa6D42HJ2jjtl2vagzilw==", "requires": { - "bluebird": "^3.5.5", - "colorette": "1.0.8", - "commander": "^2.20.0", + "bluebird": "^3.7.0", + "colorette": "1.1.0", + "commander": "^3.0.2", "debug": "4.1.1", - "getopts": "2.2.4", + "getopts": "2.2.5", "inherits": "~2.0.4", "interpret": "^1.2.0", "liftoff": "3.1.0", "lodash": "^4.17.15", "mkdirp": "^0.5.1", - "pg-connection-string": "2.0.0", + "pg-connection-string": "2.1.0", "tarn": "^2.0.0", "tildify": "2.0.0", - "uuid": "^3.3.2", + "uuid": "^3.3.3", "v8flags": "^3.1.3" }, "dependencies": { + "commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" + }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -2242,6 +2248,11 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" } } }, @@ -2819,9 +2830,9 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "pg-connection-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.0.0.tgz", - "integrity": "sha1-Pu/lmX4G2Ugh5NUC5CtqHHP434I=" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.1.0.tgz", + "integrity": "sha512-bhlV7Eq09JrRIvo1eKngpwuqKtJnNhZdpdOlvrPrA4dxqXPjxSrbNrfnIDmTpwMyRszrcV4kU5ZA4mMsQUrjdg==" }, "posix-character-classes": { "version": "0.1.1", diff --git a/sample/server/package.json b/sample/server/package.json index 3422e68..30f690d 100644 --- a/sample/server/package.json +++ b/sample/server/package.json @@ -20,7 +20,7 @@ "graphql-redis-subscriptions": "2.1.1", "graphql-tag": "2.10.1", "ioredis": "4.14.0", - "knex": "0.19.1", + "knex": "0.19.5", "offix-conflicts-server": "^0.8.0", "sofa-api": "0.4.0", "sqlite3": "^4.0.9"