// Project information buildDir = 'bin' def getPackageName() { return "org.linphone" } def firebaseEnable() { File googleFile = new File('google-services.json') return googleFile.exists() } buildscript { File googleFile = new File('google-services.json') repositories { jcenter() mavenCentral() mavenLocal() } dependencies { classpath 'com.android.tools.build:gradle:2.2.2' if (googleFile.exists()) { classpath 'com.google.gms:google-services:3.0.0' } } } apply plugin: 'com.android.application' dependencies { compile fileTree(include: '*.jar', dir: 'libs') androidTestCompile fileTree(include: '*.jar', dir: 'libs-test') if (firebaseEnable()) { compile 'com.google.firebase:firebase-messaging:9.0.0' } else { compile 'com.android.support:support-v4:+' } } if (firebaseEnable()) { apply plugin: 'com.google.gms.google-services' } android { defaultConfig { compileSdkVersion 23 buildToolsVersion "25.0.2" applicationId getPackageName() 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 { String firebase = '' // Exclude firebase file if not enable if (!firebaseEnable()) { firebase = '**/Firebase*' println '[Push Notification] Firebase disabled' } else { println '[Push Notification] Firebase enabled' } manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['submodules/linphone/mediastreamer2/java/src', 'submodules/linphone/java/j2se', 'submodules/linphone/java/common', 'submodules/linphone/java/impl', 'submodules/linphone/coreapi/help/java', 'src/com', 'src/org'] resources.srcDirs = ['submodules/linphone/mediastreamer2/java/src', 'submodules/linphone/java/j2se', 'submodules/linphone/java/common', 'submodules/linphone/java/impl', 'submodules/linphone/coreapi/help/java', 'src/com', 'src/org'] aidl.srcDirs = ['submodules/linphone/mediastreamer2/java/src', 'submodules/linphone/java/j2se', 'submodules/linphone/java/common', 'submodules/linphone/java/impl', 'submodules/linphone/coreapi/help/java', 'src/com', 'src/org'] renderscript.srcDirs = ['submodules/linphone/mediastreamer2/java/src', 'submodules/linphone/java/j2se', 'submodules/linphone/java/common', 'submodules/linphone/java/impl', 'submodules/linphone/coreapi/help/java', 'src/com', 'src/org'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] jniLibs.srcDirs = ['libs'] java.excludes = ['**/mediastream/MediastreamerActivity.java', firebase] // Exclude some useless files packagingOptions { exclude '**/gdb.*' } } debug.setRoot('build-types/debug') release.setRoot('build-types/release') } sourceSets { androidTest { String firebase = '' // Exclude firebase file if not enable if (!firebaseEnable()) { firebase = '**/Firebase*' println '[Push Notification] Firebase disabled' } else { println '[Push Notification] Firebase enabled' } manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['submodules/linphone/mediastreamer2/java/src', 'submodules/linphone/java/j2se', 'submodules/linphone/java/common', 'submodules/linphone/java/impl', '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/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/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/linphone/coreapi/help/java', 'src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] jniLibs.srcDirs = ['libs'] java.excludes = ['**/mediastream/MediastreamerActivity.java', firebase] // Exclude some useless files packagingOptions { exclude '**/gdb.*' } } debug.setRoot('build-types/debug') release.setRoot('build-types/release') } }