126 lines
3.8 KiB
Groovy
126 lines
3.8 KiB
Groovy
buildscript {
|
|
repositories {
|
|
google()
|
|
jcenter()
|
|
}
|
|
dependencies {
|
|
classpath libraries.android_tools
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
id 'com.github.dcendents.android-maven' version '2.1'
|
|
}
|
|
|
|
description = 'Conscrypt: Android Platform'
|
|
|
|
ext {
|
|
androidHome = "$System.env.ANDROID_HOME"
|
|
androidSdkInstalled = file("$androidHome").exists()
|
|
androidVersionCode = 1
|
|
androidVersionName = "$version"
|
|
// Platform is always built against head, so we can use newer API versions.
|
|
androidMinSdkVersion = 26
|
|
androidTargetSdkVersion = 26
|
|
}
|
|
|
|
if (androidSdkInstalled) {
|
|
apply plugin: 'com.android.library'
|
|
|
|
android {
|
|
compileSdkVersion androidTargetSdkVersion
|
|
|
|
compileOptions {
|
|
sourceCompatibility androidMinJavaVersion;
|
|
targetCompatibility androidMinJavaVersion
|
|
}
|
|
|
|
defaultConfig {
|
|
minSdkVersion androidMinSdkVersion
|
|
targetSdkVersion androidTargetSdkVersion
|
|
versionCode androidVersionCode
|
|
versionName androidVersionName
|
|
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
|
|
consumerProguardFiles 'proguard-rules.pro'
|
|
|
|
externalNativeBuild {
|
|
cmake {
|
|
arguments '-DANDROID=True',
|
|
'-DANDROID_STL=c++_static',
|
|
"-DBORINGSSL_HOME=$boringsslHome"
|
|
cFlags '-fvisibility=hidden',
|
|
'-DBORINGSSL_SHARED_LIBRARY',
|
|
'-DBORINGSSL_IMPLEMENTATION',
|
|
'-DOPENSSL_SMALL',
|
|
'-D_XOPEN_SOURCE=700',
|
|
'-Wno-unused-parameter'
|
|
}
|
|
}
|
|
ndk {
|
|
abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
|
|
}
|
|
}
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
sourceSets {
|
|
main {
|
|
java {
|
|
srcDirs = [
|
|
"${rootDir}/common/src/main/java",
|
|
"src/main/java",
|
|
]
|
|
excludes = [ 'org/conscrypt/Platform.java' ]
|
|
}
|
|
}
|
|
}
|
|
lintOptions {
|
|
lintConfig file('lint.xml')
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
publicApiDocs
|
|
}
|
|
|
|
dependencies {
|
|
implementation project(path: ':conscrypt-openjdk', configuration: 'platform')
|
|
publicApiDocs project(':conscrypt-api-doclet')
|
|
androidTestImplementation('androidx.test.espresso:espresso-core:3.1.1', {
|
|
exclude module: 'support-annotations'
|
|
exclude module: 'support-v4'
|
|
exclude module: 'support-v13'
|
|
exclude module: 'recyclerview-v7'
|
|
exclude module: 'appcompat-v7'
|
|
exclude module: 'design'
|
|
})
|
|
testCompileOnly project(':conscrypt-android-stub'),
|
|
project(':conscrypt-libcore-stub')
|
|
testImplementation project(path: ":conscrypt-testing", configuration: "runtime"),
|
|
libraries.junit
|
|
compileOnly project(':conscrypt-android-stub'),
|
|
project(':conscrypt-libcore-stub')
|
|
|
|
// Adds the constants module as a dependency so that we can include its generated source
|
|
compileOnly project(':conscrypt-constants')
|
|
}
|
|
|
|
// Disable running the tests.
|
|
tasks.withType(Test).configureEach {
|
|
enabled = false
|
|
}
|
|
|
|
} else {
|
|
logger.warn('Android SDK has not been detected. The Android Platform module will not be built.')
|
|
|
|
// Disable all tasks
|
|
tasks.configureEach {
|
|
it.enabled = false
|
|
}
|
|
}
|