diff --git a/.gitmodules b/.gitmodules index d2a18b868..47b12eb6b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -29,3 +29,6 @@ [submodule "extern/nanohttpd"] path = extern/nanohttpd url = https://github.com/NanoHttpd/nanohttpd +[submodule "extern/spongycastle"] + path = extern/spongycastle + url = https://github.com/open-keychain/spongycastle diff --git a/build.gradle b/build.gradle index 2616186a4..354cb5ebd 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ apply plugin: 'android' sdkLoc = System.getenv("ANDROID_HOME") FileCollection getAndroidPrebuilt(String apiLevel) { - files("$sdkLoc/platforms/android-$apiLevel/android.jar") + files("$sdkLoc/platforms/android-$apiLevel/android.jar") } dependencies { @@ -24,6 +24,10 @@ dependencies { compile project(':extern:libsuperuser:libsuperuser') compile project(':extern:nanohttpd:core') compile project(':extern:zipsigner') + compile project(':extern:spongycastle:core') + compile project(':extern:spongycastle:pg') + compile project(':extern:spongycastle:pkix') + compile project(':extern:spongycastle:prov') } project(':extern:UniversalImageLoader:library') { @@ -56,7 +60,7 @@ project(':extern:UniversalImageLoader:library') { android { compileSdkVersion 19 - buildToolsVersion toolVersion + buildToolsVersion toolVersion sourceSets { main { @@ -79,7 +83,7 @@ android { } } - tasks.withType(Compile) { task -> + tasks.withType(Compile) { task -> options.encoding = "UTF-8" } @@ -90,37 +94,37 @@ android { // http://stackoverflow.com/questions/23297562/gradle-javadoc-and-android-documentation android.applicationVariants.all { variant -> - task("generate${variant.name}Javadoc", type: Javadoc) { - title = "$name $version API" - description "Generates Javadoc for F-Droid." - source = variant.javaCompile.source - ext.androidJar = "${android.plugin.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar" - classpath = files(variant.javaCompile.classpath.files) + files(ext.androidJar) - options.links("http://docs.oracle.com/javase/7/docs/api/"); - options.links("http://d.android.com/reference/"); - exclude '**/BuildConfig.java' - exclude '**/R.java' - } + task("generate${variant.name}Javadoc", type: Javadoc) { + title = "$name $version API" + description "Generates Javadoc for F-Droid." + source = variant.javaCompile.source + ext.androidJar = "${android.plugin.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar" + classpath = files(variant.javaCompile.classpath.files) + files(ext.androidJar) + options.links("http://docs.oracle.com/javase/7/docs/api/"); + options.links("http://d.android.com/reference/"); + exclude '**/BuildConfig.java' + exclude '**/R.java' + } } // This is the hacky way which we force the subprojects to use the same build tools: // http://stackoverflow.com/a/21032272 subprojects { - afterEvaluate { - android { + afterEvaluate { + android { - // The android build task only lets you configure the buildToolsVersion once, so if - // we execute the closure below to configure our subprojects, it will fail when it - // hits the second subproject. Therefore, we will only do it once, and I guess the - // android plubin will re-use the existing value I set. - // https://android.googlesource.com/platform/tools/build/+/master/gradle/src/main/groovy/com/android/build/gradle/BaseExtension.groovy - try { - buildToolsVersion toolVersion - logger.info("Set buildToolsVersion to $toolVersion") - } catch (GradleException e) { - logger.info("Tried to set the buildToolsVersion, however we were not allowed to: $e.message") - } - } - } + // The android build task only lets you configure the buildToolsVersion once, so if + // we execute the closure below to configure our subprojects, it will fail when it + // hits the second subproject. Therefore, we will only do it once, and I guess the + // android plubin will re-use the existing value I set. + // https://android.googlesource.com/platform/tools/build/+/master/gradle/src/main/groovy/com/android/build/gradle/BaseExtension.groovy + try { + buildToolsVersion toolVersion + logger.info("Set buildToolsVersion to $toolVersion") + } catch (GradleException e) { + logger.info("Tried to set the buildToolsVersion, however we were not allowed to: $e.message") + } + } + } } diff --git a/extern/spongycastle b/extern/spongycastle new file mode 160000 index 000000000..eb2c35bd0 --- /dev/null +++ b/extern/spongycastle @@ -0,0 +1 @@ +Subproject commit eb2c35bd0602d05a65c10c86b9c9834ebd1a81c6 diff --git a/settings.gradle b/settings.gradle index 550af854e..d92dfe8a4 100644 --- a/settings.gradle +++ b/settings.gradle @@ -4,6 +4,10 @@ include ':extern:MemorizingTrustManager' include ':extern:libsuperuser:libsuperuser' include ':extern:nanohttpd:core' include ':extern:zipsigner' +include ':extern:spongycastle:core' +include ':extern:spongycastle:pg' +include ':extern:spongycastle:pkix' +include ':extern:spongycastle:prov' include ':support-v4' project(':support-v4').projectDir = new File('extern/Support/v4')