[android] - move example custom layer compilation to testapp

This commit is contained in:
tobrun
2019-05-28 18:24:14 +02:00
committed by Tobrun
parent b50aa497cc
commit ff980010d7
2 changed files with 65 additions and 4 deletions

View File

@@ -89,10 +89,6 @@ android {
targets "mapbox-gl"
if (defaultPublishConfig.equalsIgnoreCase("debug")) {
targets "example-custom-layer"
}
if (project.hasProperty("mapbox.with_test")) {
targets "mbgl-test"
}

View File

@@ -17,6 +17,71 @@ android {
targetCompatibility JavaVersion.VERSION_1_8
}
defaultPublishConfig project.hasProperty("mapbox.buildtype") ? project.getProperty("mapbox.buildtype") : "debug"
// We sometimes want to invoke Gradle without building a native dependency, e.g. when we just want
// to invoke the Java tests. When we explicitly specify an ABI of 'none', no native dependencies are
// added. When another ABI is specified explicitly, we're just going to build that ABI. In all other
// cases, all ABIs are built.
//
// When invoking from the command line or to override the device default, set `-Pmapbox.abis=...` to
// only build the desired architectures.
//
// When building from Android Studio, gradle.properties sets `android.buildOnlyTargetAbi=true` so that
// only the architecture for the device you're running on gets built.
def abi = 'all'
if (!project.hasProperty('android.injected.invoked.from.ide') || project.hasProperty("mapbox.abis")) {
// Errors when the user invokes Gradle from the command line and didn't set mapbox.abis
abi = project.getProperty("mapbox.abis")
}
if (abi != 'none') {
externalNativeBuild {
cmake {
path "../../../CMakeLists.txt"
version "3.10.2"
}
}
}
// Allow determining the C++ STL we're using when building Mapbox GL.
def stl = 'c++_static'
if (project.hasProperty("mapbox.stl")) {
stl = project.getProperty("mapbox.stl")
}
defaultConfig {
if (abi != 'none') {
externalNativeBuild {
cmake {
arguments "-DANDROID_TOOLCHAIN=clang"
arguments "-DANDROID_STL=" + stl
arguments "-DANDROID_CPP_FEATURES=exceptions"
arguments "-DMBGL_PLATFORM=android"
arguments "-DMASON_PLATFORM=android"
arguments "-DNodeJS_EXECUTABLE=" + node
arguments "-Dnpm_EXECUTABLE=" + npm
// Enable ccache if the user has installed it.
if (ccache?.trim()) {
arguments "-DANDROID_CCACHE=" + ccache
}
cFlags "-Qunused-arguments"
cppFlags "-Qunused-arguments"
targets "example-custom-layer"
if (abi != 'all') {
abiFilters abi.split(' ')
} else {
abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
}
}
}
}
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'