From 92d3c9769d39b1132bc8d301fa1de75836882a74 Mon Sep 17 00:00:00 2001 From: Edouard Tisserant Date: Tue, 13 Oct 2015 16:13:51 +0200 Subject: [PATCH] Android : ensure that gnupg assets are included at first build --- android/build.gradle | 37 ++++++++++++++++++------------------- android/external/Makefile | 4 +++- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 82f4657..2bb7bed 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -74,7 +74,12 @@ android { // call external build (GnuPG, GPGME, etc) task buildExternal(type:Exec) { workingDir 'external' - commandLine 'make', 'all', 'PEP_PACKAGE_NAME='+pEpAppPackageName + commandLine 'make', 'build', 'PEP_PACKAGE_NAME='+pEpAppPackageName + } + + task externalAssets(type:Exec) { + workingDir 'external' + commandLine 'make', 'assets', 'PEP_PACKAGE_NAME='+pEpAppPackageName } task cleanExternal(type:Exec) { @@ -89,9 +94,6 @@ android { environment['LIBETPAN_PATH'] = libetpanAndroid.absolutePath commandLine './build.sh' } - if(buildAutomatic=="true"){ - buildpEpEngine.dependsOn buildExternal - } // unzip some of the dependencies task unzipDeps(type: Copy) { @@ -102,10 +104,6 @@ android { into file("${buildDir}") } - if(buildAutomatic=="true"){ - unzipDeps.dependsOn buildpEpEngine - } - // builds pEpEnginge's system.db task buildpEpEngineSystemDB(type:Exec) { workingDir pEpEngineDB @@ -118,11 +116,12 @@ android { into 'assets' } - if(buildAutomatic=="true"){ - cpDBAssets.dependsOn buildpEpEngineSystemDB + // This ensures that assets are populated before collecting resources. + libraryVariants.all { variant -> + variant.preBuild.dependsOn(cpDBAssets) + variant.preBuild.dependsOn(externalAssets) } - // call regular ndk-build(.cmd) script from app directory task jniBuild(type: Exec) { // In case ndk-gdb works one day, add: 'NDK_DEBUG=1', @@ -130,26 +129,26 @@ android { } jniBuild.dependsOn genSources jniBuild.dependsOn unzipDeps - jniBuild.dependsOn cpDBAssets // Ensure this is done before java build tasks.withType(JavaCompile) { compileTask -> compileTask.dependsOn jniBuild } - assemble.dependsOn unzipDeps - task jniClean(type: Exec) { commandLine getNdkBuildCmd(), 'clean', 'GPGBUILD='+externalInstallDir.absolutePath + ignoreExitValue = true } + clean.dependsOn jniClean if(buildAutomatic=="true"){ + + buildpEpEngine.dependsOn buildExternal + externalAssets.dependsOn buildExternal + unzipDeps.dependsOn buildpEpEngine + cpDBAssets.dependsOn buildpEpEngineSystemDB + clean.dependsOn cleanExternal - // ndk-build clean complains when .so are missing - // ensure jniClean happens before external clean - cleanExternal.dependsOn jniClean - }else{ - clean.dependsOn jniClean } } diff --git a/android/external/Makefile b/android/external/Makefile index 1ebbd6e..f77b124 100644 --- a/android/external/Makefile +++ b/android/external/Makefile @@ -14,7 +14,9 @@ APP_ABI ?= armeabi-v7a APP_PLATFORM ?= android-14 PEP_PACKAGE_NAME ?= com.pep.pepjniaaractivity -all: libetpan-build gnupg-install gpgme-install assets +all: build assets + +build: libetpan-build gnupg-install gpgme-install #------------------------------------------------------------------------------# # Manage paths for PREFIX, DESTDIR, LOCAL and PATH