From 53eaaf965c330cf61ff72be619492d5a1abe9c01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Turnel?= Date: Fri, 22 Jun 2018 14:58:13 +0200 Subject: [PATCH] [Switch submodule branch] retrofit liblinphone sdk from dev_group_chat (cherry picked from commit f24f1e4b53316324352756d5fd7c2e0b3fecec51) # Conflicts: # submodules/linphone --- .gitignore | 1 + .gitmodules | 9 ++ build.gradle | 269 +++++++++++++++++----------------- cmake_builder/CMakeLists.txt | 3 +- gradle.properties | 1 + prepare.py | 23 ++- submodules/bcmatroska2 | 2 +- submodules/bctoolbox | 2 +- submodules/belcard | 2 +- submodules/belr | 2 +- submodules/cmake-builder | 2 +- submodules/externals/libxsd | 1 + submodules/externals/mbedtls | 2 +- submodules/externals/soci | 1 + submodules/externals/srtp | 2 +- submodules/externals/xerces-c | 1 + submodules/msopenh264 | 2 +- submodules/oRTP | 2 +- 18 files changed, 176 insertions(+), 151 deletions(-) create mode 160000 submodules/externals/libxsd create mode 160000 submodules/externals/soci create mode 160000 submodules/externals/xerces-c diff --git a/.gitignore b/.gitignore index 298eb7f2a..fa520b363 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,7 @@ project.properties res/.DS_Store res/raw/lpconfig.xsd res/raw/rootca.pem +res/raw/*_grammar submodules/externals/build/cunit/CUnit/ submodules/externals/build/ffmpeg/arm/ submodules/externals/build/ffmpeg/x86 diff --git a/.gitmodules b/.gitmodules index 6f134ef94..96cb93b04 100644 --- a/.gitmodules +++ b/.gitmodules @@ -108,3 +108,12 @@ [submodule "submodules/bcmatroska2"] path = submodules/bcmatroska2 url = git://git.linphone.org/bcmatroska2.git +[submodule "submodules/externals/libxsd"] + path = submodules/externals/libxsd + url = git://git.linphone.org/libxsd +[submodule "submodules/externals/soci"] + path = submodules/externals/soci + url = git://git.linphone.org/soci +[submodule "submodules/externals/xerces-c"] + path = submodules/externals/xerces-c + url = git://git.linphone.org/xerces-c diff --git a/build.gradle b/build.gradle index 1b12172b7..843578fb8 100644 --- a/build.gradle +++ b/build.gradle @@ -2,58 +2,56 @@ buildDir = 'bin' def getPackageName() { - return "org.linphone" + return "org.linphone" } def firebaseEnable() { - File googleFile = new File('google-services.json') - return googleFile.exists() + File googleFile = new File('google-services.json') + return googleFile.exists() } buildscript { - File googleFile = new File('google-services.json') - repositories { - jcenter() - mavenCentral() - mavenLocal() - google() - } - dependencies { - classpath 'com.android.tools.build:gradle:3.1.0' - if (googleFile.exists()) { - classpath 'com.google.gms:google-services:3.1.0' + File googleFile = new File('google-services.json') + repositories { + jcenter() + mavenCentral() + mavenLocal() + google() + } + dependencies { + classpath 'com.android.tools.build:gradle:3.1.0' + if (googleFile.exists()) { + classpath 'com.google.gms:google-services:3.1.0' + } } - } } allprojects { - repositories { - jcenter() - mavenCentral() - mavenLocal() - google() - } + repositories { + jcenter() + mavenCentral() + mavenLocal() + google() + } } apply plugin: 'com.android.application' dependencies { - androidTestCompile('com.android.support.test.espresso:espresso-core:+') { - exclude module: 'support-annotations' - } - androidTestCompile 'com.jayway.android.robotium:robotium-solo:+' - androidTestCompile 'junit:junit:+' - compile 'org.apache.commons:commons-compress:+' - if (firebaseEnable()) { - compile 'com.google.firebase:firebase-messaging:11.+' - } else { - compile fileTree(include: 'gcm.jar', dir: 'libs') - compile 'com.android.support:support-v4:27.1.0' - } + androidTestImplementation('com.android.support.test.espresso:espresso-core:+') { + exclude module: 'support-annotations' + } + androidTestImplementation 'com.jayway.android.robotium:robotium-solo:5.6.3' + androidTestImplementation 'junit:junit:4.12' + implementation 'org.apache.commons:commons-compress:1.16.1' + if (firebaseEnable()) { + implementation 'com.google.firebase:firebase-messaging:15.0.2' + } + implementation 'com.android.support:support-v4:26.0.1' } if (firebaseEnable()) { - apply plugin: 'com.google.gms.google-services' + apply plugin: 'com.google.gms.google-services' } //// Submodule Dir ///// @@ -61,20 +59,21 @@ def submoduleDir = ['submodules/mediastreamer2/java/src', 'submodules/linphone/java/j2se', 'submodules/linphone/java/common', 'submodules/linphone/java/impl', + 'submodules/linphone/wrappers/java/classes/tools', 'submodules/linphone/coreapi/help/examples/java'] //////////////////////// ///// Exclude Files ///// -def excludeFiles = [] -// Exclude firebase file if not enable +def excludeFiles = ['H264Helper.java']// Exclude firebase file if not enable if (!firebaseEnable()) { - excludeFiles.add('**/Firebase*') - println '[Push Notification] Firebase disabled' + excludeFiles.add('**/Firebase*') + println '[Push Notification] Firebase disabled' } else { - excludeFiles.add('**/gcm*') - println '[Push Notification] Firebase enabled' + excludeFiles.add('**/gcm*') + println '[Push Notification] Firebase enabled' } excludeFiles.add('**/mediastream/MediastreamerActivity.java') +excludeFiles.add('src/android/org/linphone/tutorials/*.java') def excludePackage = [] @@ -85,116 +84,116 @@ excludePackage.add('**/LICENSE.txt') ///////////////////////// android { - defaultConfig { - compileSdkVersion 26 - buildToolsVersion "27.0.3" - applicationId getPackageName() - multiDexEnabled true + defaultConfig { + compileSdkVersion 26 + applicationId getPackageName() + multiDexEnabled true - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - } - 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 - disable 'MissingTranslation', 'UnusedResources' - } - // Signing - signingConfigs { - release { - storeFile file(RELEASE_STORE_FILE) - storePassword RELEASE_STORE_PASSWORD - keyAlias RELEASE_KEY_ALIAS - keyPassword RELEASE_KEY_PASSWORD + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } - } - buildTypes { - release { - signingConfig signingConfigs.release + 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 + disable 'MissingTranslation', 'UnusedResources' } - packaged { - initWith release - signingConfig null + // Signing + signingConfigs { + release { + storeFile file(RELEASE_STORE_FILE) + storePassword RELEASE_STORE_PASSWORD + keyAlias RELEASE_KEY_ALIAS + keyPassword RELEASE_KEY_PASSWORD + } } - } - sourceSets { - main { - manifest.srcFile 'AndroidManifest.xml' - def srcDirs = submoduleDir - srcDirs.addAll(['src/android']) - java.srcDirs = srcDirs - resources.srcDirs = srcDirs - aidl.srcDirs = srcDirs - renderscript.srcDirs = srcDirs - res.srcDirs = ['res'] - assets.srcDirs = ['assets'] - jniLibs.srcDirs = ['libs'] - java.excludes = excludeFiles + buildTypes { + release { + signingConfig signingConfigs.release + } + packaged { + initWith release + signingConfig null + } + } + sourceSets { + main { + manifest.srcFile 'AndroidManifest.xml' + def srcDirs = submoduleDir + srcDirs.addAll(['src/linphone-wrapper', 'src/android']) + java.srcDirs = srcDirs + resources.srcDirs = srcDirs + aidl.srcDirs = srcDirs + renderscript.srcDirs = srcDirs + res.srcDirs = ['res'] + assets.srcDirs = ['assets'] + jniLibs.srcDirs = ['libs'] + java.excludes = excludeFiles - // Exclude some useless files - packagingOptions { - excludes = excludePackage - } + // Exclude some useless files + packagingOptions { + excludes = excludePackage + } + } + + debug.setRoot('build-types/debug') + release.setRoot('build-types/release') } + sourceSets { + androidTest { + manifest.srcFile 'AndroidManifest.xml' + def srcDirs = submoduleDir + srcDirs.addAll(['src/android', + 'src/androidTest']) + java.srcDirs = srcDirs + resources.srcDirs = srcDirs + aidl.srcDirs = srcDirs + renderscript.srcDirs = srcDirs + res.srcDirs = ['res'] + assets.srcDirs = ['assets'] + jniLibs.srcDirs = ['libs'] + java.excludes = excludeFiles - debug.setRoot('build-types/debug') - release.setRoot('build-types/release') - } - sourceSets { - androidTest { - manifest.srcFile 'AndroidManifest.xml' - def srcDirs = submoduleDir - srcDirs.addAll(['src/android', - 'src/androidTest']) - java.srcDirs = srcDirs - resources.srcDirs = srcDirs - aidl.srcDirs = srcDirs - renderscript.srcDirs = srcDirs - res.srcDirs = ['res'] - assets.srcDirs = ['assets'] - jniLibs.srcDirs = ['libs'] - java.excludes = excludeFiles + // Exclude some useless files + packagingOptions { + excludes = excludePackage + } + } - // Exclude some useless files - packagingOptions { - excludes = excludePackage - } + debug.setRoot('build-types/debug') + release.setRoot('build-types/release') + } + packagingOptions { + pickFirst 'META-INF/NOTICE' + pickFirst 'META-INF/LICENSE' + pickFirst 'META-INF/MANIFEST.MF' } - - debug.setRoot('build-types/debug') - release.setRoot('build-types/release') - } - packagingOptions { - pickFirst 'META-INF/NOTICE' - pickFirst 'META-INF/LICENSE' - exclude 'META-INF/MANIFEST.MF' - } } // Grant permissions android.applicationVariants.all { variant -> - def applicationId = getPackageName() - def adb = android.getAdbExecutable().toString() - def variantName = variant.name.capitalize() - def grantPermissionTask = tasks.create("grant${variantName}Permissions").doLast({ - "${adb} devices".execute().text.eachLine { - "${adb} shell pm grant ${applicationId} android.permission.RECORD_AUDIO".execute() - "${adb} shell pm grant ${applicationId} android.permission.WRITE_EXTERNAL_STORAGE".execute() - "${adb} shell pm grant ${applicationId} android.permission.CAMERA".execute() - "${adb} shell pm grant ${applicationId} android.permission.READ_PHONE_STATE".execute() - "${adb} shell pm grant ${applicationId} android.permission.READ_CONTACTS".execute() - "${adb} shell pm grant ${applicationId} android.permission.WRITE_CONTACTS".execute() - } - }) + def applicationId = getPackageName() + def adb = android.getAdbExecutable().toString() + def variantName = variant.name.capitalize() + def grantPermissionTask = tasks.create("grant${variantName}Permissions").doLast({ + "${adb} devices".execute().text.eachLine { + "${adb} shell pm grant ${applicationId} android.permission.RECORD_AUDIO".execute() + "${adb} shell pm grant ${applicationId} android.permission.WRITE_EXTERNAL_STORAGE".execute() + "${adb} shell pm grant ${applicationId} android.permission.CAMERA".execute() + "${adb} shell pm grant ${applicationId} android.permission.READ_PHONE_STATE".execute() + "${adb} shell pm grant ${applicationId} android.permission.READ_CONTACTS".execute() + "${adb} shell pm grant ${applicationId} android.permission.WRITE_CONTACTS".execute() + } + }) } task runApplication { - doLast { - def result = exec { - executable = android.getAdbExecutable().toString() - ignoreExitValue true - args = ['shell', 'monkey', '-p', getPackageName(), '-c', 'android.intent.category.LAUNCHER', '1'] + doLast { + def result = exec { + executable = android.getAdbExecutable().toString() + ignoreExitValue true + args = ['shell', 'monkey', '-p', getPackageName(), '-c', 'android.intent.category.LAUNCHER', '1'] + } } - } } + diff --git a/cmake_builder/CMakeLists.txt b/cmake_builder/CMakeLists.txt index 4b1c79c12..115bfbe54 100644 --- a/cmake_builder/CMakeLists.txt +++ b/cmake_builder/CMakeLists.txt @@ -21,5 +21,4 @@ ############################################################################ # Blacklist these dependencies because they are useless for now -lcb_blacklist_dependencies("libxsd" "xerces-c" "soci") - +#nop diff --git a/gradle.properties b/gradle.properties index f7ffd3517..818481447 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,4 +4,5 @@ RELEASE_STORE_PASSWORD= RELEASE_KEY_ALIAS= RELEASE_KEY_PASSWORD= +#org.gradle.jvmargs=-XX\:MaxHeapSize\=2048M -Xmx2048M org.gradle.jvmargs=-Xmx1536M diff --git a/prepare.py b/prepare.py index 873f886b4..08ca095ec 100755 --- a/prepare.py +++ b/prepare.py @@ -54,6 +54,7 @@ class AndroidTarget(prepare.Target): self.additional_args = [ "-DLINPHONE_BUILDER_EXTERNAL_BUILDERS_PATH=" + external_builders_path ] + self.additional_args += ['-DENABLE_JAVA_WRAPPER=NO'] class AndroidArmTarget(AndroidTarget): @@ -95,18 +96,18 @@ android_targets = { 'x86_64': AndroidX86_64Target() } -android_virtual_targets= { +android_virtual_targets = { 'all': ['arm', 'armv7', 'arm64', 'x86', 'x86_64'] } class AndroidPreparator(prepare.Preparator): def __init__(self, targets=android_targets): - prepare.Preparator.__init__(self, targets, default_targets=['armv7', 'arm64', 'x86'], virtual_targets=android_virtual_targets) - self.min_supported_ndk = 11 - self.max_supported_ndk = 17 + prepare.Preparator.__init__(self, targets, default_targets=['armv7', 'arm64'], virtual_targets=android_virtual_targets) + self.min_supported_ndk = 16 + self.max_supported_ndk = 16 self.unsupported_ndk_version = None - self.min_cmake_version = "3.7" + self.min_cmake_version = "3.10" self.release_with_debug_info = True self.veryclean = True self.show_gpl_disclaimer = True @@ -332,6 +333,18 @@ copy-libs: \tif test -d "liblinphone-sdk/android-x86/share/linphonej"; then \\ \t\tcp -R liblinphone-sdk/android-x86/share/linphonej/java/* src/linphone-wrapper; \\ \tfi +\tif test -d "liblinphone-sdk/android-arm/share/belr/grammars"; then \\ +\t\tcp liblinphone-sdk/android-arm/share/belr/grammars/*_grammar res/raw/; \\ +\tfi +\tif test -d "liblinphone-sdk/android-armv7/share/belr/grammars"; then \\ +\t\tcp liblinphone-sdk/android-armv7/share/belr/grammars/*_grammar res/raw/; \\ +\tfi +\tif test -d "liblinphone-sdk/android-arm64/share/belr/grammars"; then \\ +\t\tcp liblinphone-sdk/android-arm64/share/belr/grammars/*_grammar res/raw/; \\ +\tfi +\tif test -d "liblinphone-sdk/android-x86/share/belr/grammars"; then \\ +\t\tcp liblinphone-sdk/android-x86/share/belr/grammars/*_grammar res/raw/; \\ +\tfi copy-libs-mediastreamer: \trm -rf submodules/mediastreamer2/java/libs/armeabi diff --git a/submodules/bcmatroska2 b/submodules/bcmatroska2 index 85e73f9fa..ca4a89930 160000 --- a/submodules/bcmatroska2 +++ b/submodules/bcmatroska2 @@ -1 +1 @@ -Subproject commit 85e73f9fa892b09af8d71419a9079f8c804e70b7 +Subproject commit ca4a89930dd8db94a60ae4a1dbf44a3710497429 diff --git a/submodules/bctoolbox b/submodules/bctoolbox index b41ca6b5d..bc7a47598 160000 --- a/submodules/bctoolbox +++ b/submodules/bctoolbox @@ -1 +1 @@ -Subproject commit b41ca6b5d85780990c2986f861b2f7832cb79e2e +Subproject commit bc7a47598455d62a73a80f5df70f972b31be5fb8 diff --git a/submodules/belcard b/submodules/belcard index 2d04062e8..b1622d7dd 160000 --- a/submodules/belcard +++ b/submodules/belcard @@ -1 +1 @@ -Subproject commit 2d04062e83f43ff249c6b0dad9fbdf7e3f4cd436 +Subproject commit b1622d7ddf1cbe6a0f929537861dfa8b45b293c4 diff --git a/submodules/belr b/submodules/belr index 61244560d..8e841b047 160000 --- a/submodules/belr +++ b/submodules/belr @@ -1 +1 @@ -Subproject commit 61244560df5f4f45a495d8525e970aa73e4e3beb +Subproject commit 8e841b047641b1812a83880a90e89d702747ca5b diff --git a/submodules/cmake-builder b/submodules/cmake-builder index d16688298..d389b30b6 160000 --- a/submodules/cmake-builder +++ b/submodules/cmake-builder @@ -1 +1 @@ -Subproject commit d16688298e83a496753c9d0c200962a1ed7dbc87 +Subproject commit d389b30b6c417d8bc7a79f561075a5c58871e3bc diff --git a/submodules/externals/libxsd b/submodules/externals/libxsd new file mode 160000 index 000000000..34af5de2e --- /dev/null +++ b/submodules/externals/libxsd @@ -0,0 +1 @@ +Subproject commit 34af5de2ee71dde72a010fde336d2efa9c386abd diff --git a/submodules/externals/mbedtls b/submodules/externals/mbedtls index cb152c35d..d9385339a 160000 --- a/submodules/externals/mbedtls +++ b/submodules/externals/mbedtls @@ -1 +1 @@ -Subproject commit cb152c35ddf7cc837221072e7dc99809f0f7c885 +Subproject commit d9385339a5c2979786cfc844c0527593c14662c5 diff --git a/submodules/externals/soci b/submodules/externals/soci new file mode 160000 index 000000000..d1fc622b2 --- /dev/null +++ b/submodules/externals/soci @@ -0,0 +1 @@ +Subproject commit d1fc622b2cbe5fe9b55959b32af054c7ae75e1a1 diff --git a/submodules/externals/srtp b/submodules/externals/srtp index a752d47da..4a5ea6a64 160000 --- a/submodules/externals/srtp +++ b/submodules/externals/srtp @@ -1 +1 @@ -Subproject commit a752d47da1a80e634f81a57bb975b6a80fc14ffa +Subproject commit 4a5ea6a64043038f4a4ac0f18d54db02a08d9b92 diff --git a/submodules/externals/xerces-c b/submodules/externals/xerces-c new file mode 160000 index 000000000..4a6d98d2a --- /dev/null +++ b/submodules/externals/xerces-c @@ -0,0 +1 @@ +Subproject commit 4a6d98d2ad797c37a9d12c1da772ca813c2f95b7 diff --git a/submodules/msopenh264 b/submodules/msopenh264 index 87b973e05..e77223326 160000 --- a/submodules/msopenh264 +++ b/submodules/msopenh264 @@ -1 +1 @@ -Subproject commit 87b973e0560a590db0aed0bf657c4e79dfc72f7f +Subproject commit e7722332645b324dfc6aba3e94ab71750a3c0fd7 diff --git a/submodules/oRTP b/submodules/oRTP index 4cea5e6e7..1fcd6fd15 160000 --- a/submodules/oRTP +++ b/submodules/oRTP @@ -1 +1 @@ -Subproject commit 4cea5e6e7b6da329030b4f34b66a6168b864bb1d +Subproject commit 1fcd6fd1558f26255ae9dac687191ddf988bfd5b