From ef72702f0d3f4ca99cc07bd9317b8f6b9b857dc7 Mon Sep 17 00:00:00 2001 From: Moxie Marlinspike Date: Thu, 5 Jun 2014 10:16:36 -0700 Subject: [PATCH] Include gradle-witness plugin for verifying dependencies. --- build.gradle | 16 ++++++++++++++++ libs/gradle-witness.jar | Bin 0 -> 21687 bytes 2 files changed, 16 insertions(+) create mode 100644 libs/gradle-witness.jar diff --git a/build.gradle b/build.gradle index 278fe41110..592d41ebc8 100644 --- a/build.gradle +++ b/build.gradle @@ -4,10 +4,12 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:0.9.+' + classpath files('libs/gradle-witness.jar') } } apply plugin: 'android' +apply plugin: 'witness' repositories { mavenCentral() @@ -28,6 +30,20 @@ dependencies { compile project(':library') } +dependencyVerification { + verify = [ + 'com.actionbarsherlock:actionbarsherlock:5ab04d74101f70024b222e3ff9c87bee151ec43331b4a2134b6cc08cf8565819', + 'com.android.support:support-v4:a4268abd6370c3fd3f94d2a7f9e6e755f5ddd62450cf8bbc62ba789e1274d585', + 'com.google.android.gcm:gcm-client:5ff578202f93dcba1c210d015deb4241c7cdad9b7867bd1b32e0a5f4c16986ca', + 'se.emilsjolander:stickylistheaders:89146b46c96fea0e40200474a2625cda10fe94891e4128f53cdb42375091b9b6', + 'org.whispersystems.textsecure:textsecure-library:246e275ea80bdc65d11f08043f9b2765def60c0bdf1da340a864e4656f59a750', + 'com.google.protobuf:protobuf-java:ad9769a22989e688a46af4d3accc348cc501ced22118033230542bc916e33f0b', + 'com.madgag:sc-light-jdk15on:931f39d351429fb96c2f749e7ecb1a256a8ebbf5edca7995c9cc085b94d1841d', + 'com.googlecode.libphonenumber:libphonenumber:c2cffa5c2ccb8fd5fc4b432aa7d1ee27482860c9751035a25c8ffa2375274fcf', + 'org.whispersystems:gson:08f4f7498455d1539c9233e5aac18e9b1805815ef29221572996508eb512fe51', + ] +} + android { compileSdkVersion 19 buildToolsVersion '19.0.2' diff --git a/libs/gradle-witness.jar b/libs/gradle-witness.jar new file mode 100644 index 0000000000000000000000000000000000000000..5bb5f443e511a64a2d178a9e209d0619c915efc6 GIT binary patch literal 21687 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