From 2204195234344bc3909d4956f2b456c0f1dcaec0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Mon, 23 Mar 2015 20:17:30 +0100 Subject: [PATCH] Update build env and plugins --- .travis.yml | 6 +- OpenKeychain-Test/build.gradle | 2 +- OpenKeychain/build.gradle | 84 +++++++++++------------ build.gradle | 8 +-- extern/snackbar | 2 +- gradle/wrapper/gradle-wrapper.jar | Bin 51018 -> 52141 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- 7 files changed, 53 insertions(+), 53 deletions(-) diff --git a/.travis.yml b/.travis.yml index af67b2333..4bc9d776a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,14 +4,14 @@ before_install: # Install base Android SDK - sudo apt-get update -qq - if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq --force-yes libgd2-xpm lib32z1 lib32stdc++6; fi - - wget http://dl.google.com/android/android-sdk_r23.0.2-linux.tgz - - tar xzf android-sdk_r23.0.2-linux.tgz + - wget http://dl.google.com/android/android-sdk_r24.1.2-linux.tgz + - tar xzf android-sdk_r24.1.2-linux.tgz - export ANDROID_HOME=$PWD/android-sdk-linux - export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools # Install required Android components. #- echo "y" | android update sdk -a --filter build-tools-19.1.0,android-19,platform-tools,extra-android-support,extra-android-m2repository --no-ui --force - - ( sleep 5 && while [ 1 ]; do sleep 1; echo y; done ) | android update sdk --no-ui --all --force --filter build-tools-21.1.2,build-tools-21.1.1,build-tools-19.1.0,android-21,android-19,platform-tools,extra-android-support,extra-android-m2repository + - ( sleep 5 && while [ 1 ]; do sleep 1; echo y; done ) | android update sdk --no-ui --all --force --filter build-tools-22.0.1,build-tools-21.1.2,build-tools-21.1.1,build-tools-19.1.0,android-22,android-21,android-19,platform-tools,extra-android-support,extra-android-m2repository install: echo "Installation done" script: - ./gradlew assemble -S -q diff --git a/OpenKeychain-Test/build.gradle b/OpenKeychain-Test/build.gradle index 25f955dd1..cfafc433c 100644 --- a/OpenKeychain-Test/build.gradle +++ b/OpenKeychain-Test/build.gradle @@ -5,7 +5,7 @@ buildscript { dependencies { // NOTE: Always use fixed version codes not dynamic ones, e.g. 0.7.3 instead of 0.7.+, see README for more information - classpath 'com.novoda:gradle-android-test-plugin:0.10.0' + classpath 'com.novoda:gradle-android-test-plugin:0.10.1' } } diff --git a/OpenKeychain/build.gradle b/OpenKeychain/build.gradle index 4a0d1e25e..7f92d3811 100644 --- a/OpenKeychain/build.gradle +++ b/OpenKeychain/build.gradle @@ -6,21 +6,21 @@ dependencies { // NOTE: libraries are pinned to a specific build, see below // from local Android SDK - compile 'com.android.support:support-v4:21.0.3' - compile 'com.android.support:appcompat-v7:21.0.3' - compile 'com.android.support:recyclerview-v7:21.0.3' - compile 'com.android.support:cardview-v7:21.0.3' - + compile 'com.android.support:support-v4:22.0.0' + compile 'com.android.support:appcompat-v7:22.0.0' + compile 'com.android.support:recyclerview-v7:22.0.0' + compile 'com.android.support:cardview-v7:22.0.0' + // JCenter etc. compile 'com.eftimoff:android-patternview:1.0.1@aar' - compile 'com.journeyapps:zxing-android-embedded:2.0.1@aar' - compile 'com.journeyapps:zxing-android-integration:2.0.1@aar' - compile 'com.google.zxing:core:3.0.1' + compile 'com.journeyapps:zxing-android-embedded:2.1.0@aar' + compile 'com.journeyapps:zxing-android-integration:2.1.0@aar' + compile 'com.google.zxing:core:3.2.0' compile 'com.jpardogo.materialtabstrip:library:1.0.9' - compile 'it.neokree:MaterialNavigationDrawer:1.3.1' - compile 'com.getbase:floatingactionbutton:1.8.0' + compile 'it.neokree:MaterialNavigationDrawer:1.3.2' + compile 'com.getbase:floatingactionbutton:1.9.0' compile 'org.commonjava.googlecode.markdown4j:markdown4j:2.2-cj-1.0' - + // libs as submodules compile project(':extern:openpgp-api-lib') compile project(':extern:openkeychain-api-lib') @@ -41,33 +41,33 @@ dependencies { // Comment out the libs referenced as git submodules! dependencyVerification { verify = [ - 'com.android.support:support-v4:703572d3015a088cc5604b7e38885af3d307c829d0c5ceaf8654ff41c71cd160', - 'com.android.support:appcompat-v7:5dbeb5316d0a6027d646ae552804c3baa5e3bd53f7f33db50904d51505c8a0e5', - 'com.android.support:recyclerview-v7:e525ad3f33c84bb12b73d2dc975b55364a53f0f2d0697e043efba59ba73e22d2', - 'com.android.support:cardview-v7:45c48c2ab056bc7a8573970b10f8902742c5d443f180dae43c56557397ac39af', - 'com.eftimoff:android-patternview:cec80e7265b8d8278b3c55b5fcdf551e4600ac2c8bf60d8dd76adca538af0b1e', - 'com.journeyapps:zxing-android-embedded:5d6ba3931bd0b999695e363b571e95bd6bc9956340c1e6ce740cd0bff3d89a50', - 'com.journeyapps:zxing-android-integration:6f50bb07c057ac94319777ddfbb66f5d4f6190393418b2fc861e0e60d06f3c0d', - 'com.google.zxing:core:38c49045765281e4c170062fa3f48e4e988629bf985cab850c7497be5eaa72a1', - 'com.jpardogo.materialtabstrip:library:c6ef812fba4f74be7dc4a905faa4c2908cba261a94c13d4f96d5e67e4aad4aaa', - 'it.neokree:MaterialNavigationDrawer:1174d751a54689fccf53c1fbcdf439745926ae19024f4f1017afb6b29643c57d', - // 'com.nispok:snackbar:59dc092a44c877e9ce5f9040c632d99e62d8932b0a4d67ba0ec9e35467d9047c', - 'com.getbase:floatingactionbutton:e63966148212e9685afad2370780ea239b6dbd2a06f6a3f919b98882318e6a32', - 'com.android.support:support-annotations:fdee2354787ef66b268e75958de3f7f6c4f8f325510a6dac9f49c929f83a63de', - 'com.balysv:material-ripple:587f19c1e27f16c7dc67ff9ac73838aa1451086ef05a15cee38bee3e4e1454ae', - 'org.commonjava.googlecode.markdown4j:markdown4j:e952e825d29e1317d96f79f346bfb6786c7c5eef50bd26e54a80823704b62e13', - //'OpenKeychain.extern:openpgp-api-lib:b17bb282321351e4b00b4cd6422a57aadc13decae264019a88707bcb556439ea', - //'OpenKeychain.extern:openkeychain-api-lib:5f95f01c066069d4bde68992fd8da5faac21510d009b1fdae7a2e28e43e82cf4', - //'OpenKeychain.extern:html-textview:b58e343cf4c145e91f888806d06a2a7770a9e9331a72f08cfcf1128db30dcff3', - //'OpenKeychain.extern.StickyListHeaders:library:24e25da422efc08e4e7a06efbe927fdf17f7a9aa722db2b983385e2bf0004da5', - //'com.madgag.spongycastle:core:a9e4f60afe6b2661e0713190ade92c099b3f74ebbc67c1bc3e3fced0144307f4', - //'com.madgag.spongycastle:pg:29d544ff289fcaafcf6c3904185f5a6fbdb623cf1a1e377fcb239edc31ee9c17', - //'com.madgag.spongycastle:pkix:950d6eac8205c6a24aa87066fbf9cd0af50b95858b8d2b18d53e2fada2dbb2e3', - //'com.madgag.spongycastle:prov:0b78ffd7a59b1b690a05ebe9bb31d43405046a44a18e0529d7c826acb56350b7', - //'OpenKeychain.extern:minidns:cf332e993d7fcdc0a3821f5b997944df40582dc6c9f0ea36b5e20c1e289cb19f', - //'OpenKeychain.extern.KeybaseLib:Lib:af9bff087148e0859430d0b99ece096c41b315c5dc1ed500a68580b9b0e5ab11', - //'OpenKeychain.extern.TokenAutoComplete:library:40d4212a95e947efdb02f2ca66c95a27d49fba848471a6317eca2b9cc18e8780', - //'OpenKeychain.extern:safeslinger-exchange:94a1ce68217af7499579a042758283b1530912c53241bdfa06d1a079a5ae3faf', + 'com.android.support:support-v4:355a11466727e8ba00e239416aec55ac3cd3fb4ffc9d20c4a33373085c050bd1', + 'com.android.support:appcompat-v7:40114cb756fecffa4a51c5645593cf64509c576594f77e41e801368051115c7b', + 'com.android.support:recyclerview-v7:859ed80e3761f8fc3126901260b208505120b5678bcf36ad2cfe9c453958b9c7', + 'com.android.support:cardview-v7:4c03f2acce9925aa4f8845cb8cb37b3772c712b2438ff15f76c9e3d3bc63ead7', + 'com.eftimoff:android-patternview:cec80e7265b8d8278b3c55b5fcdf551e4600ac2c8bf60d8dd76adca538af0b1e', + 'com.journeyapps:zxing-android-embedded:57fdf8a262135976201fd89f1bd8016ed16510be92e7ea721b999daeeeab8f7e', + 'com.journeyapps:zxing-android-integration:12caeb2608f11b6df77d27edc505ac8580abfc97a09a814b638cb9df0ba06906', + 'com.google.zxing:core:7fe5a8ff437635a540e56317649937b768b454795ce999ed5f244f83373dee7b', + 'com.jpardogo.materialtabstrip:library:c6ef812fba4f74be7dc4a905faa4c2908cba261a94c13d4f96d5e67e4aad4aaa', + 'it.neokree:MaterialNavigationDrawer:a1221a410c5f71bf078c5c4768fdf06b402d6006c74f8e7b61199e4edc2aea57', + 'com.getbase:floatingactionbutton:052aa2a94e49e5dccc97cb99f2add87e8698b84859f0e3ac181100c0bc7640ca', + 'org.commonjava.googlecode.markdown4j:markdown4j:e952e825d29e1317d96f79f346bfb6786c7c5eef50bd26e54a80823704b62e13', +// 'OpenKeychain.extern:openpgp-api-lib:f05a9215cdad3a6597e4c5ece6fcec92b178d218195a3e88d2c0937c48dd9580', +// 'OpenKeychain.extern:openkeychain-api-lib:50f6ebb5452d3fdc7be137ccf857a0ff44d55539fcb7b91baef495766ed7f429', +// 'OpenKeychain.extern:html-textview:536822e8fdcd3e4628d0a1cd6c252285ba5f8e5bfb20d71ff80fdbdb6cc8be8c', +// 'OpenKeychain.extern.StickyListHeaders:library:d9937cf9d9992863e32cee1f18ffec12df7b97dd83939bb75ee6cf747c54bed1', +// 'com.madgag.spongycastle:core:df8fcc028a95ac5ffab3b78c9163f5cfa672e41cd50128ca55d458b6cfbacf4b', +// 'com.madgag.spongycastle:pg:160b345b10a2c92dc731453eec87037377f66a8e14a0648d404d7b193c4e380d', +// 'com.madgag.spongycastle:pkix:0b4f3301ea12dd9f25d71770e6ea9f75e0611bf53062543e47be5bc15340a7e4', +// 'com.madgag.spongycastle:prov:7325942e0b39f5fb35d6380818eed4b826e7dfc7570ad35b696d778049d8c36a', +// 'OpenKeychain.extern:minidns:77b1786d29469e3b21f9404827cab811edc857cd68bc732cd57f11307c332eae', +// 'OpenKeychain.extern.KeybaseLib:Lib:c91cda4a75692d8664644cd17d8ac962ce5bc0e266ea26673a639805f1eccbdf', +// 'OpenKeychain.extern.TokenAutoComplete:library:9333f1c269996812baa18c0494e42f931309ab00a3cdb65a6e4d70f82d4c7107', +// 'OpenKeychain.extern:safeslinger-exchange:d222721bb35408daaab9f46449364b2657112705ee571d7532f81cbeb9c4a73f', +// 'OpenKeychain.extern.snackbar:lib:52357426e5275412e2063bdf6f0e6b957a3ea74da45e0aef35d22d9afc542e23', + 'com.android.support:support-annotations:ab6b131ab0e1edd165d21fb4c3edadeacbee9539aa166f7f7cbae05b60dc207a', + 'com.balysv:material-ripple:b2580520bcb5e5d77bd8c42b030317accaf8f88e7e57c46a29c47c8a62d4ff45', ] } @@ -77,7 +77,7 @@ android { defaultConfig { minSdkVersion 15 - targetSdkVersion 21 + targetSdkVersion 22 } compileOptions { @@ -98,7 +98,7 @@ android { project.hasProperty('signingKeyAlias') && project.hasProperty('signingKeyPassword')) { println "Found sign properties in gradle.properties! Signing build…" - + signingConfigs { release { storeFile file(signingStoreLocation) @@ -112,7 +112,7 @@ android { } else { buildTypes.release.signingConfig = null } - + // NOTE: Lint is disabled because it slows down builds, // to enable it comment out the code at the bottom of this build.gradle lintOptions { @@ -123,7 +123,7 @@ android { htmlReport true htmlOutput file('lint-report.html') } - + // Disable preDexing, causes com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000) on some systems dexOptions { preDexLibraries = false diff --git a/build.gradle b/build.gradle index 6b3eb2c3d..f76289d49 100644 --- a/build.gradle +++ b/build.gradle @@ -15,14 +15,14 @@ allprojects { jcenter() maven { - // for https://github.com/journeyapps/zxing-android-embedded + // for zxing-android-embedded lib url "http://dl.bintray.com/journeyapps/maven" } } } task wrapper(type: Wrapper) { - gradleVersion = '2.2.1' + gradleVersion = '2.3' } subprojects { @@ -43,6 +43,6 @@ project(':extern:spongycastle') { // SDK Version and Build Tools used by all subprojects // See http://tools.android.com/tech-docs/new-build-system/tips#TOC-Controlling-Android-properties-of-all-your-modules-from-the-main-project. ext { - compileSdkVersion = 21 - buildToolsVersion = '21.1.2' + compileSdkVersion = 22 + buildToolsVersion = '22.0.1' } \ No newline at end of file diff --git a/extern/snackbar b/extern/snackbar index 025ecadc5..dda93a48e 160000 --- a/extern/snackbar +++ b/extern/snackbar @@ -1 +1 @@ -Subproject commit 025ecadc592e591a96fa081265667efc0b0f0e15 +Subproject commit dda93a48e51006a0394241931b774a65bd54a907 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index c97a8bdb9088d370da7e88784a7a093b971aa23a..085a1cdc27db1185342f15a00441734e74fe3735 100644 GIT binary patch delta 14216 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
b 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