diff --git a/OpenPGP-Keychain/build.gradle b/OpenPGP-Keychain/build.gradle index 566559a00..852bfef38 100644 --- a/OpenPGP-Keychain/build.gradle +++ b/OpenPGP-Keychain/build.gradle @@ -4,8 +4,7 @@ buildscript { } dependencies { - // NOTE: Avoid using dynamic versions (+). This breaks offline builds! - classpath 'com.android.tools.build:gradle:0.6.3' + classpath 'com.android.tools.build:gradle:0.7.3' } } @@ -15,9 +14,6 @@ repositories { mavenCentral() } -/* - * NOTE: Avoid dependencies from Maven. Include as much sources as possible for F-Droid! - */ dependencies { compile fileTree(dir: 'libs', includes: ['*.jar'], excludes: ['android-support-v4.jar']) compile 'com.android.support:support-v4:19.0.+' // already in actionbarsherlock @@ -79,4 +75,9 @@ android { } else { buildTypes.release.signingConfig = null } + + // Do not abort build if lint finds errors + lintOptions { + abortOnError false + } } diff --git a/OpenPGP-Keychain/res/values/strings.xml b/OpenPGP-Keychain/res/values/strings.xml index ab2c638fe..190dcfa53 100644 --- a/OpenPGP-Keychain/res/values/strings.xml +++ b/OpenPGP-Keychain/res/values/strings.xml @@ -333,7 +333,7 @@ QR Code malformed! Please try again! QR Code scanning finished! Scan QR Code with \'Barcode Scanner\' - To exchange keys via NFC, the device needs to be unlocked. + To receive keys via NFC, the device needs to be unlocked. Help Get key from clipboard diff --git a/README.md b/README.md index 1e7cea335..6193a301a 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,8 @@ TODO # Libraries + + ## ZXing Barcode Scanner Android Integration Classes can be found under "libraries/zxing-android-integration/". @@ -151,6 +153,21 @@ See http://docs.oseems.com/general/application/eclipse/fix-gc-overhead-limit-exc 1. Open svg file in Inkscape 2. Extensions -> Color -> darker (2 times!) +## Gradle Build System + +We try to make our builds as [reproducible/deterministic](https://blog.torproject.org/blog/deterministic-builds-part-one-cyberwar-and-global-compromise) as possible. +This is also a key requirement to be part of F-Droid. +When changing build files or dependencies, respect the following requirements: +- No precompiled libraries. All libraries should be provided as sourcecode in "libraries" folder +- No dependencies from Maven +- Always use a fixed Android Gradle plugin version not a dynamic one, e.g. ``0.7.3`` instead of ``0.7.+`` +- Commit the corresponding gradle wrapper version to the repository + +TODO: +[ ] include support lib as source +[ ] include Spongy Castle as source +[ ] resolve lint errors (currently abortOnError is false in some build.gradle files of main project and libraries) + # Coding Style ## Code diff --git a/build.gradle b/build.gradle index 06c57cd0b..5d9739785 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:0.6.3' + classpath 'com.android.tools.build:gradle:0.7.3' } } @@ -15,5 +15,5 @@ allprojects { } task wrapper(type: Wrapper) { - gradleVersion = '1.8' + gradleVersion = '1.9' } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 667288ad6..d5c591c9c 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 f984ebc0a..c9e50d492 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Mon Dec 30 23:22:47 CET 2013 +#Thu Jan 16 22:16:02 CET 2014 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=http\://services.gradle.org/distributions/gradle-1.8-bin.zip +distributionUrl=http\://services.gradle.org/distributions/gradle-1.9-bin.zip diff --git a/libraries/ActionBarSherlock/build.gradle b/libraries/ActionBarSherlock/build.gradle index e25786733..1fed282d9 100644 --- a/libraries/ActionBarSherlock/build.gradle +++ b/libraries/ActionBarSherlock/build.gradle @@ -15,4 +15,9 @@ android { res.srcDirs = ['res'] } } + + // Do not abort build if lint finds errors + lintOptions { + abortOnError false + } } diff --git a/libraries/HtmlTextView/build.gradle b/libraries/HtmlTextView/build.gradle index 1fd554404..8c59e4b55 100644 --- a/libraries/HtmlTextView/build.gradle +++ b/libraries/HtmlTextView/build.gradle @@ -1,12 +1,3 @@ -buildscript { - repositories { - mavenCentral() - } - dependencies { - classpath 'com.android.tools.build:gradle:0.6.3' - } -} - apply plugin: 'android-library' @@ -21,4 +12,9 @@ android { res.srcDirs = ['res'] } } + + // Do not abort build if lint finds errors + lintOptions { + abortOnError false + } }