From bcf7488afd63ea9fbae474ea41ebfeff2bc3f1f0 Mon Sep 17 00:00:00 2001 From: Torsten Grote <t@grobox.de> Date: Thu, 11 Aug 2016 14:15:39 -0300 Subject: [PATCH] Cleanup Gradle and Proguard to fix connectedCheck --- .idea/codeStyleSettings.xml | 34 +++++--------------------- briar-android-tests/build.gradle | 33 ++++++------------------- briar-android-tests/proguard-rules.pro | 17 ------------- briar-android/build.gradle | 17 ++----------- briar-android/proguard-rules.txt | 24 ++++++------------ settings.gradle | 3 ++- 6 files changed, 25 insertions(+), 103 deletions(-) delete mode 100644 briar-android-tests/proguard-rules.pro diff --git a/.idea/codeStyleSettings.xml b/.idea/codeStyleSettings.xml index 18cc2a1b70..0677e45dbd 100644 --- a/.idea/codeStyleSettings.xml +++ b/.idea/codeStyleSettings.xml @@ -37,37 +37,15 @@ <JavaCodeStyleSettings> <option name="ANNOTATION_PARAMETER_WRAP" value="1" /> </JavaCodeStyleSettings> - <Objective-C-extensions> - <option name="GENERATE_INSTANCE_VARIABLES_FOR_PROPERTIES" value="ASK" /> - <option name="RELEASE_STYLE" value="IVAR" /> - <option name="TYPE_QUALIFIERS_PLACEMENT" value="BEFORE" /> - <file> - <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" /> - <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" /> - <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" /> - <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" /> - <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" /> - <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" /> - <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" /> - <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" /> - <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" /> - </file> - <class> - <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" /> - <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" /> - <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" /> - <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" /> - <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" /> - <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" /> - </class> - <extensions> - <pair source="cpp" header="h" /> - <pair source="c" header="h" /> - </extensions> - </Objective-C-extensions> <XML> <option name="XML_LEGACY_SETTINGS_IMPORTED" value="true" /> </XML> + <codeStyleSettings language="Groovy"> + <indentOptions> + <option name="USE_TAB_CHARACTER" value="true" /> + <option name="SMART_TABS" value="true" /> + </indentOptions> + </codeStyleSettings> <codeStyleSettings language="JAVA"> <option name="RIGHT_MARGIN" value="80" /> <option name="ALIGN_MULTILINE_PARAMETERS" value="false" /> diff --git a/briar-android-tests/build.gradle b/briar-android-tests/build.gradle index af9d13cbb6..d0594e9bc1 100644 --- a/briar-android-tests/build.gradle +++ b/briar-android-tests/build.gradle @@ -1,5 +1,4 @@ apply plugin: 'com.android.library' -apply plugin: 'witness' apply plugin: 'com.neenbedankt.android-apt' android { @@ -7,20 +6,15 @@ android { buildToolsVersion "23.0.3" defaultConfig { - minSdkVersion 9 - targetSdkVersion 22 - versionCode 1 - versionName "1.0" - } - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } + minSdkVersion 14 + proguardFiles getDefaultProguardFile('proguard-android.txt'), '../briar-android/proguard-rules.txt' + consumerProguardFiles getDefaultProguardFile('proguard-android.txt'), '../briar-android/proguard-rules.txt' } + dexOptions { incremental true } + compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 @@ -28,23 +22,12 @@ android { } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - compile project(':briar-api') - compile project(':briar-core') + testCompile project(':briar-api') + testCompile project(':briar-core') testCompile 'junit:junit:4.12' testCompile 'net.jodah:concurrentunit:0.4.2' - compile 'com.android.support:appcompat-v7:23.2.1' + testCompile 'com.android.support:appcompat-v7:23.2.1' testApt 'com.google.dagger:dagger-compiler:2.0.2' provided 'javax.annotation:jsr250-api:1.0' testCompile project(':briar-tests') } - -dependencyVerification { - verify = [ - 'com.android.support:appcompat-v7:00f9d93acacd6731f309724054bf51492814b4b2869f16d7d5c0038dcb8c9a0d', - 'com.android.support:support-v4:81ce890f26d35c75ad17d0f998a7e3230330c3b41e0b629566bc744bee89e448', - 'com.android.support:animated-vector-drawable:06d1963b85aa917099d7757e6a7b3e4dc06889413dc747f625ae8683606db3a1', - 'com.android.support:support-vector-drawable:799bafe4c3de812386f0b291f744d5d6876452722dd40189b9ab87dbbf594ea1', - 'com.android.support:support-annotations:786ab0d060774fb95cfdaf4878771e14b85733b1af9d72a4aae762dc7c1dff9f', - ] -} diff --git a/briar-android-tests/proguard-rules.pro b/briar-android-tests/proguard-rules.pro deleted file mode 100644 index 2106d3d2c9..0000000000 --- a/briar-android-tests/proguard-rules.pro +++ /dev/null @@ -1,17 +0,0 @@ -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in /home/ernir/dev/sdk/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the proguardFiles -# directive in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} diff --git a/briar-android/build.gradle b/briar-android/build.gradle index 940f8cea52..aa7dcca487 100644 --- a/briar-android/build.gradle +++ b/briar-android/build.gradle @@ -48,11 +48,6 @@ dependencies { testCompile project(path: ':briar-tests') testCompile 'org.robolectric:robolectric:3.0' testCompile 'org.mockito:mockito-core:1.10.19' - - androidTestCompile 'org.robolectric:robolectric:3.0' - androidTestCompile 'org.mockito:mockito-core:1.10.19' - androidTestApt 'com.google.dagger:dagger-compiler:2.0.2' - androidTestCompile 'junit:junit:4.12' } dependencyVerification { @@ -105,24 +100,16 @@ android { unitTests.returnDefaultValues = true } } - - - // Move the build types to build-types/<type> - // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... - // This moves them out of them default location under src/<type>/... which would - // conflict with src/ being used by the main source set. - // Adding new build types or product flavors should be accompanied - // by a similar customization. - debug.setRoot('build-types/debug') - release.setRoot('build-types/release') } buildTypes { debug { + shrinkResources false minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } release { + shrinkResources true minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } diff --git a/briar-android/proguard-rules.txt b/briar-android/proguard-rules.txt index d570d88c69..6a936b7e88 100644 --- a/briar-android/proguard-rules.txt +++ b/briar-android/proguard-rules.txt @@ -4,17 +4,16 @@ -dontobfuscate -verbose -useuniqueclassmembernames --optimizations !code/simplification/arithmetic,!field/*,!class/merging/* +#-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* # For comfortability in case we do obfuscate # -renamesourcefileattribute SourceFile --keepattributes SourceFile,LineNumberTable,*Annotation*,Signature, InnerClasses, EnclosingMethod +-keepattributes SourceFile, LineNumberTable, *Annotation*, Signature, InnerClasses, EnclosingMethod -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider --keep public class com.android.vending.licensing.ILicensingService -keepclasseswithmembers class * { native <methods>; } -keepclasseswithmembers class * { public <init> (android.content.Context, android.util.AttributeSet); @@ -32,39 +31,30 @@ -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); } --keepclassmembers class * { - @com.google.inject.Inject <init>(...); - @com.google.inject.Inject <fields>; -} -# Just in case Roboguice events are used --keepclassmembers class * { - void *(**On*Event); -} -keep class org.h2.** { *; } -keep class org.briarproject.** { *; } --keep class com.google.inject.** { *; } -keep class javax.inject.** { *; } --keep class javax.annotation.** { *; } --keep class roboguice.** { *; } -keep class dagger.** { *; } --keep class com.google.** { *; } +-keep class com.google.zxing.Result -dontwarn org.h2.** -dontnote org.h2.** -dontwarn net.sf.cglib.** -dontwarn org.briarproject.plugins.tcp.** --dontwarn roboguice.** +-dontnote org.briarproject.crypto.** +-dontnote org.spongycastle.crypto.parsers.ECIESPublicKeyParser -dontwarn net.sourceforge.jsocks.** -dontnote android.support.** -dontnote dagger.** -dontwarn dagger.** +-dontnote com.google.common.** -dontwarn com.google.common.** - # RSS libraries -keep class com.rometools.rome.feed.synd.impl.** { *;} -keep class com.rometools.rome.io.impl.** { *;} +-dontnote com.rometools.rome.** -dontwarn javax.xml.stream.** -dontwarn org.jaxen.** -dontwarn java.nio.** diff --git a/settings.gradle b/settings.gradle index 6de5aebc60..b167af5b93 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,5 +1,6 @@ -include ':briar-api', ':briar-android-tests' +include ':briar-api' include ':briar-core' include ':briar-desktop' include ':briar-tests' include ':briar-android' +include ':briar-android-tests' \ No newline at end of file -- GitLab