184 lines
5.3 KiB
Groovy
184 lines
5.3 KiB
Groovy
// Project information
|
|
buildDir = 'bin'
|
|
ext.linphonePackageName = "org.linphone"
|
|
|
|
buildscript {
|
|
repositories {
|
|
jcenter()
|
|
mavenCentral()
|
|
mavenLocal()
|
|
}
|
|
dependencies {
|
|
classpath 'com.android.tools.build:gradle:2.2.0'
|
|
classpath 'com.google.gms:google-services:3.0.0'
|
|
}
|
|
}
|
|
apply plugin: 'com.android.application'
|
|
apply plugin: 'com.google.gms.google-services'
|
|
|
|
dependencies {
|
|
compile fileTree(dir: 'libs', include: '*.jar')
|
|
compile 'com.google.firebase:firebase-messaging:9.0.0'
|
|
}
|
|
|
|
android {
|
|
defaultConfig {
|
|
compileSdkVersion 23
|
|
buildToolsVersion "25.0.2"
|
|
applicationId "org.linphone"
|
|
multiDexEnabled true
|
|
}
|
|
|
|
lintOptions {
|
|
checkReleaseBuilds false
|
|
// Or, if you prefer, you can continue to check for errors in release builds,
|
|
// but continue the build even when errors are found:
|
|
abortOnError false
|
|
}
|
|
|
|
// Signing
|
|
signingConfigs {
|
|
release {
|
|
storeFile file(RELEASE_STORE_FILE)
|
|
storePassword RELEASE_STORE_PASSWORD
|
|
keyAlias RELEASE_KEY_ALIAS
|
|
keyPassword RELEASE_KEY_PASSWORD
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
signingConfig signingConfigs.release
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
manifest.srcFile 'AndroidManifest.xml'
|
|
java.srcDirs = ['submodules/linphone/mediastreamer2/java/src','submodules/linphone/java/j2se','submodules/linphone/java/common','submodules/linphone/java/impl','submodules/externals/axmlrpc/src/main/java','submodules/linphone/coreapi/help/java','src']
|
|
resources.srcDirs = ['submodules/linphone/mediastreamer2/java/src','submodules/linphone/java/j2se','submodules/linphone/java/common','submodules/linphone/java/impl','submodules/externals/axmlrpc/src/main/java','submodules/linphone/coreapi/help/java','src']
|
|
aidl.srcDirs = ['submodules/linphone/mediastreamer2/java/src','submodules/linphone/java/j2se','submodules/linphone/java/common','submodules/linphone/java/impl','submodules/externals/axmlrpc/src/main/java','submodules/linphone/coreapi/help/java','src']
|
|
renderscript.srcDirs = ['submodules/linphone/mediastreamer2/java/src','submodules/linphone/java/j2se','submodules/linphone/java/common','submodules/linphone/java/impl','submodules/externals/axmlrpc/src/main/java','submodules/linphone/coreapi/help/java','src']
|
|
res.srcDirs = ['res']
|
|
assets.srcDirs = ['assets']
|
|
jniLibs.srcDir 'libs'
|
|
|
|
java.exclude '**/mediastream/MediastreamerActivity.java'
|
|
}
|
|
|
|
// Move the tests to tests/java, tests/res, etc...
|
|
instrumentTest.setRoot('tests')
|
|
|
|
// 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')
|
|
}
|
|
}
|
|
|
|
///////////// Task /////////////
|
|
// TODO
|
|
def getSdkDir() {
|
|
Properties local = new Properties()
|
|
local.load(new FileInputStream("${rootDir}/local.properties"))
|
|
return local.getProperty('sdk.dir')
|
|
}
|
|
|
|
def getTarget() {
|
|
Properties local = new Properties()
|
|
local.load(new FileInputStream("${rootDir}/project.properties"))
|
|
return local.getProperty('target')
|
|
}
|
|
|
|
def getVersionName() {
|
|
Properties local = new Properties()
|
|
local.load(new FileInputStream("${rootDir}/default.properties"))
|
|
return local.getProperty('version.name')
|
|
}
|
|
|
|
ext.toolsDir = getSdkDir()
|
|
ext.versionName = getVersionName()
|
|
|
|
//task myJavadocs(type: Javadoc) {
|
|
//source = sourceSets.main.allJava
|
|
//classpath = ${toolsDir}/platforms/${target}/android.jar:libs/android-support-v4.jar:libs/gcm.jar
|
|
//}
|
|
|
|
task createLibJar(type: Jar) {
|
|
doLast {
|
|
baseName = "liblinphone"
|
|
String classDir = compileReleaseJavaWithJavac.destinationDir
|
|
|
|
from ('submodules/linphone/java')
|
|
include "common/org/linphone/core/*.java j2se/org/linphone/core/*.java"
|
|
|
|
from (classDir)
|
|
include "org/linphone/mediastream/**/*.class org/linphone/core/**/*.class org/linphone/tools/**/*.class"
|
|
}
|
|
}
|
|
|
|
task createAndroidJar(type: Jar) {
|
|
doLast {
|
|
baseName = "linphone"
|
|
String classDir = compileReleaseJavaWithJavac.destinationDir
|
|
|
|
from (['submodules/linphone/java',classDir])
|
|
include ("common/org/linphone/core/*.java", "j2se/org/linphone/core/*.java", "org/linphone/mediastream/**/*.class", "org/linphone/core/**/*.class", "org/linphone/**/*.class, org/linphone/tools/**/*.class")
|
|
}
|
|
}
|
|
|
|
task liblinphoneAndroidSdk(type: Zip) {
|
|
doLast {
|
|
createLibJar()
|
|
archiveName = 'liblinphone-android-sdk-${versionName}.zip'
|
|
|
|
from ('libs') {
|
|
into 'libs'
|
|
}
|
|
include "**/*.so"
|
|
from ('.') {
|
|
into 'libs'
|
|
}
|
|
include "liblinphone.jar"
|
|
|
|
from ('libs-debug') {
|
|
into 'libs-debug'
|
|
}
|
|
include "**/*.so"
|
|
|
|
from ('.') {
|
|
into 'libs-debug'
|
|
}
|
|
include "liblinphone.jar"
|
|
}
|
|
}
|
|
|
|
task linphoneAndroidSdk(type: Zip) {
|
|
doLast {
|
|
createAndroidJar()
|
|
archiveName = 'linphone-android-sdk-${versionName}.zip'
|
|
|
|
from ('libs') {
|
|
into 'libs'
|
|
}
|
|
include "**/*.so"
|
|
from ('.') {
|
|
into 'libs'
|
|
}
|
|
include "linphone.jar"
|
|
|
|
from ('libs-debug') {
|
|
into 'libs-debug'
|
|
}
|
|
include "**/*.so"
|
|
|
|
from ('.') {
|
|
into 'libs-debug'
|
|
}
|
|
include "linphone.jar"
|
|
}
|
|
}
|