difuse-phone-android/build.gradle

185 lines
5.3 KiB
Groovy
Raw Normal View History

// Project information
buildDir = 'bin'
ext.linphonePackageName = "org.linphone"
2014-10-30 15:42:15 +00:00
buildscript {
repositories {
jcenter()
2017-02-21 14:07:19 +00:00
mavenCentral()
mavenLocal()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
2017-02-21 14:07:19 +00:00
classpath 'com.google.gms:google-services:3.0.0'
}
2014-10-30 15:42:15 +00:00
}
2017-02-13 14:45:05 +00:00
apply plugin: 'com.android.application'
2017-02-21 14:07:19 +00:00
apply plugin: 'com.google.gms.google-services'
2014-10-30 15:42:15 +00:00
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
2017-02-21 14:07:19 +00:00
compile 'com.google.firebase:firebase-messaging:9.0.0'
2014-10-30 15:42:15 +00:00
}
android {
defaultConfig {
compileSdkVersion 23
buildToolsVersion "25.0.2"
applicationId "org.linphone"
2017-02-21 14:07:19 +00:00
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"
2014-10-30 15:42:15 +00:00
from ('.') {
into 'libs-debug'
2014-10-30 15:42:15 +00:00
}
include "linphone.jar"
}
}