improve gradle build script
This commit is contained in:
parent
986a45b88a
commit
53d4ecfe60
13 changed files with 69 additions and 56 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -14,7 +14,7 @@ default.properties
|
||||||
doc
|
doc
|
||||||
gen
|
gen
|
||||||
liblinphone-junit-report.xml
|
liblinphone-junit-report.xml
|
||||||
liblinphone-sdk
|
liblinphone-sdk/android-*
|
||||||
liblinphonetester_*.zip
|
liblinphonetester_*.zip
|
||||||
libs
|
libs
|
||||||
libs-debug
|
libs-debug
|
||||||
|
@ -29,8 +29,6 @@ proguard-project.txt
|
||||||
project.properties
|
project.properties
|
||||||
res/.DS_Store
|
res/.DS_Store
|
||||||
res/raw/lpconfig.xsd
|
res/raw/lpconfig.xsd
|
||||||
res/raw/rootca.pem
|
|
||||||
res/raw/*_grammar
|
|
||||||
submodules/externals/build/cunit/CUnit/
|
submodules/externals/build/cunit/CUnit/
|
||||||
submodules/externals/build/ffmpeg/arm/
|
submodules/externals/build/ffmpeg/arm/
|
||||||
submodules/externals/build/ffmpeg/x86
|
submodules/externals/build/ffmpeg/x86
|
||||||
|
|
17
build.gradle
17
build.gradle
|
@ -48,16 +48,13 @@ dependencies {
|
||||||
implementation 'com.google.firebase:firebase-messaging:15.0.2'
|
implementation 'com.google.firebase:firebase-messaging:15.0.2'
|
||||||
}
|
}
|
||||||
implementation 'com.android.support:support-v4:26.0.1'
|
implementation 'com.android.support:support-v4:26.0.1'
|
||||||
|
implementation project(':liblinphone-sdk')
|
||||||
}
|
}
|
||||||
|
|
||||||
if (firebaseEnable()) {
|
if (firebaseEnable()) {
|
||||||
apply plugin: 'com.google.gms.google-services'
|
apply plugin: 'com.google.gms.google-services'
|
||||||
}
|
}
|
||||||
|
|
||||||
//// Submodule Dir /////
|
|
||||||
def submoduleDir = ['submodules/mediastreamer2/java/src']
|
|
||||||
////////////////////////
|
|
||||||
|
|
||||||
///// Exclude Files /////
|
///// Exclude Files /////
|
||||||
def excludeFiles = []
|
def excludeFiles = []
|
||||||
// Exclude firebase file if not enable
|
// Exclude firebase file if not enable
|
||||||
|
@ -68,7 +65,7 @@ if (!firebaseEnable()) {
|
||||||
excludeFiles.add('**/gcm*')
|
excludeFiles.add('**/gcm*')
|
||||||
println '[Push Notification] Firebase enabled'
|
println '[Push Notification] Firebase enabled'
|
||||||
}
|
}
|
||||||
excludeFiles.add('**/mediastream/MediastreamerActivity.java')
|
|
||||||
excludeFiles.add('src/android/org/linphone/tutorials/*.java')
|
excludeFiles.add('src/android/org/linphone/tutorials/*.java')
|
||||||
|
|
||||||
def excludePackage = []
|
def excludePackage = []
|
||||||
|
@ -110,20 +107,19 @@ android {
|
||||||
packaged {
|
packaged {
|
||||||
initWith release
|
initWith release
|
||||||
signingConfig null
|
signingConfig null
|
||||||
|
matchingFallbacks = ['debug', 'release']
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sourceSets {
|
sourceSets {
|
||||||
main {
|
main {
|
||||||
manifest.srcFile 'AndroidManifest.xml'
|
manifest.srcFile 'AndroidManifest.xml'
|
||||||
def srcDirs = submoduleDir
|
def srcDirs = ['src/android']
|
||||||
srcDirs.addAll(['src/linphone-wrapper', 'src/android'])
|
|
||||||
java.srcDirs = srcDirs
|
java.srcDirs = srcDirs
|
||||||
resources.srcDirs = srcDirs
|
resources.srcDirs = srcDirs
|
||||||
aidl.srcDirs = srcDirs
|
aidl.srcDirs = srcDirs
|
||||||
renderscript.srcDirs = srcDirs
|
renderscript.srcDirs = srcDirs
|
||||||
res.srcDirs = ['res']
|
res.srcDirs = ['res']
|
||||||
assets.srcDirs = ['assets']
|
assets.srcDirs = ['assets']
|
||||||
jniLibs.srcDirs = ['libs']
|
|
||||||
java.excludes = excludeFiles
|
java.excludes = excludeFiles
|
||||||
|
|
||||||
// Exclude some useless files
|
// Exclude some useless files
|
||||||
|
@ -138,16 +134,13 @@ android {
|
||||||
sourceSets {
|
sourceSets {
|
||||||
androidTest {
|
androidTest {
|
||||||
manifest.srcFile 'AndroidManifest.xml'
|
manifest.srcFile 'AndroidManifest.xml'
|
||||||
def srcDirs = submoduleDir
|
def srcDirs = ['src/android', 'src/androidTest']
|
||||||
srcDirs.addAll(['src/android',
|
|
||||||
'src/androidTest'])
|
|
||||||
java.srcDirs = srcDirs
|
java.srcDirs = srcDirs
|
||||||
resources.srcDirs = srcDirs
|
resources.srcDirs = srcDirs
|
||||||
aidl.srcDirs = srcDirs
|
aidl.srcDirs = srcDirs
|
||||||
renderscript.srcDirs = srcDirs
|
renderscript.srcDirs = srcDirs
|
||||||
res.srcDirs = ['res']
|
res.srcDirs = ['res']
|
||||||
assets.srcDirs = ['assets']
|
assets.srcDirs = ['assets']
|
||||||
jniLibs.srcDirs = ['libs']
|
|
||||||
java.excludes = excludeFiles
|
java.excludes = excludeFiles
|
||||||
|
|
||||||
// Exclude some useless files
|
// Exclude some useless files
|
||||||
|
|
|
@ -21,18 +21,36 @@ allprojects {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
configurations {
|
configurations {
|
||||||
javadocDeps
|
javadocDeps
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
apply plugin: 'com.android.library'
|
apply plugin: 'com.android.library'
|
||||||
|
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile 'org.apache.commons:commons-compress:1.16.1'
|
compile 'org.apache.commons:commons-compress:1.16.1'
|
||||||
javadocDeps 'org.apache.commons:commons-compress:1.16.1'
|
javadocDeps 'org.apache.commons:commons-compress:1.16.1'
|
||||||
}
|
}
|
||||||
|
|
||||||
def srcDir = ['submodules/mediastreamer2/java/src', 'src/linphone-wrapper']
|
def srcDir = ['../submodules/mediastreamer2/java/src']
|
||||||
|
def rootSdk
|
||||||
|
|
||||||
|
if (file('android-arm64/share/linphonej/java/org/linphone/core/Factory.java').exists() )
|
||||||
|
rootSdk = 'android-arm64'
|
||||||
|
else if (file('android-arm/share/linphonej/java/org/linphone/core/Factory.java').exists() )
|
||||||
|
rootSdk = 'android-arm'
|
||||||
|
else if (file('android-armv7/share/linphonej/java/org/linphone/core/Factory.java').exists() )
|
||||||
|
rootSdk = 'android-armv7'
|
||||||
|
else if (file('android-x86/share/linphonej/java/org/linphone/core/Factory.java').exists() )
|
||||||
|
rootSdk = 'android-x86'
|
||||||
|
|
||||||
|
srcDir += [rootSdk+'/share/linphonej/java/org/linphone/core/']
|
||||||
|
|
||||||
|
|
||||||
def excludePackage = []
|
def excludePackage = []
|
||||||
|
|
||||||
|
@ -42,6 +60,13 @@ excludePackage.add('**/**tester**')
|
||||||
excludePackage.add('**/LICENSE.txt')
|
excludePackage.add('**/LICENSE.txt')
|
||||||
|
|
||||||
android {
|
android {
|
||||||
|
|
||||||
|
|
||||||
|
buildTypes {
|
||||||
|
release {}
|
||||||
|
debug{}
|
||||||
|
}
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
compileSdkVersion 26
|
compileSdkVersion 26
|
||||||
buildToolsVersion "26.0.0"
|
buildToolsVersion "26.0.0"
|
||||||
|
@ -59,10 +84,10 @@ android {
|
||||||
main {
|
main {
|
||||||
manifest.srcFile 'AndroidManifestLibrary.xml'
|
manifest.srcFile 'AndroidManifestLibrary.xml'
|
||||||
java.srcDirs = srcDir
|
java.srcDirs = srcDir
|
||||||
resources.srcDirs = srcDir
|
|
||||||
aidl.srcDirs = srcDir
|
aidl.srcDirs = srcDir
|
||||||
|
assets.srcDirs = ["${buildDir}/sdk-assets/assets/"]
|
||||||
renderscript.srcDirs = srcDir
|
renderscript.srcDirs = srcDir
|
||||||
jniLibs.srcDirs = ['libs']
|
jniLibs.srcDirs = ['../libs']
|
||||||
|
|
||||||
java.excludes = ['**/mediastream/MediastreamerActivity.java']
|
java.excludes = ['**/mediastream/MediastreamerActivity.java']
|
||||||
|
|
||||||
|
@ -79,7 +104,7 @@ android {
|
||||||
///////////// Task /////////////
|
///////////// Task /////////////
|
||||||
|
|
||||||
task(releaseJavadoc, type: Javadoc, dependsOn: "assembleRelease") {
|
task(releaseJavadoc, type: Javadoc, dependsOn: "assembleRelease") {
|
||||||
source = ['submodules/mediastreamer2/java/src', 'src/linphone-wrapper']
|
source = srcDir
|
||||||
excludes = ['**/mediastream/MediastreamerActivity.java',
|
excludes = ['**/mediastream/MediastreamerActivity.java',
|
||||||
'**/**.html',
|
'**/**.html',
|
||||||
'**/**.aidl']
|
'**/**.aidl']
|
||||||
|
@ -109,3 +134,26 @@ task sdkZip(type: Zip) {
|
||||||
include '*'
|
include '*'
|
||||||
archiveName newSdkName
|
archiveName newSdkName
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task copyAssets(type: Sync) {
|
||||||
|
from rootSdk
|
||||||
|
into "${buildDir}/sdk-assets/assets/org.linphone.core"
|
||||||
|
include '**/*.png'
|
||||||
|
include '**/*.pem'
|
||||||
|
include '**/*.mkv'
|
||||||
|
include '**/*.wav'
|
||||||
|
include '**/*_grammar'
|
||||||
|
|
||||||
|
//rename '(.*)', '$1'.toLowerCase()
|
||||||
|
eachFile {
|
||||||
|
path = path.toLowerCase() //to workaround case insensitive fs (macosx)
|
||||||
|
println("Syncing sdk asset ${sourcePath} to ${path}")
|
||||||
|
}
|
||||||
|
doFirst {
|
||||||
|
println("Syncing sdk assets into root dir ${destinationDir}")
|
||||||
|
}
|
||||||
|
// do not copy those
|
||||||
|
includeEmptyDirs = false
|
||||||
|
|
||||||
|
}
|
||||||
|
project.tasks['preBuild'].dependsOn 'copyAssets'
|
|
@ -20,7 +20,7 @@
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||||
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
|
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
|
||||||
<uses-permission android:name="android.permission.WAKE_LOCK"/>
|
<uses-permission android:name="android.permission.WAKE_LOCK"/>
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:icon="@drawable/ic_launcher"
|
android:icon="@drawable/ic_launcher"
|
||||||
|
|
45
prepare.py
45
prepare.py
|
@ -248,13 +248,10 @@ install-test:
|
||||||
java-clean:
|
java-clean:
|
||||||
\t./gradlew clean
|
\t./gradlew clean
|
||||||
|
|
||||||
$(TOPDIR)/res/raw/rootca.pem:
|
|
||||||
\tcp liblinphone-sdk/android-{first_arch}/share/linphone/rootca.pem $@
|
|
||||||
|
|
||||||
copy-libs:
|
copy-libs:
|
||||||
\trm -rf libs-debug/armeabi
|
\trm -rf libs-debug/armeabi
|
||||||
\trm -rf libs/armeabi
|
\trm -rf libs/armeabi
|
||||||
\trm -rf src/linphone-wrapper && mkdir -p src/linphone-wrapper/
|
|
||||||
\tif test -d "liblinphone-sdk/android-arm"; then \\
|
\tif test -d "liblinphone-sdk/android-arm"; then \\
|
||||||
\t\tmkdir -p libs-debug/armeabi && \\
|
\t\tmkdir -p libs-debug/armeabi && \\
|
||||||
\t\tcp -f liblinphone-sdk/android-arm/lib/lib*.so libs-debug/armeabi && \\
|
\t\tcp -f liblinphone-sdk/android-arm/lib/lib*.so libs-debug/armeabi && \\
|
||||||
|
@ -321,30 +318,6 @@ copy-libs:
|
||||||
\t\tcp -f liblinphone-sdk/android-x86/bin/gdbserver libs/x86 && \\
|
\t\tcp -f liblinphone-sdk/android-x86/bin/gdbserver libs/x86 && \\
|
||||||
\t\tcp -f liblinphone-sdk/android-x86/bin/gdb.setup libs/x86; \\
|
\t\tcp -f liblinphone-sdk/android-x86/bin/gdb.setup libs/x86; \\
|
||||||
\tfi
|
\tfi
|
||||||
\tif test -d "liblinphone-sdk/android-arm/share/linphonej"; then \\
|
|
||||||
\t\tcp -R liblinphone-sdk/android-arm/share/linphonej/java/* src/linphone-wrapper; \\
|
|
||||||
\tfi
|
|
||||||
\tif test -d "liblinphone-sdk/android-armv7/share/linphonej"; then \\
|
|
||||||
\t\tcp -R liblinphone-sdk/android-armv7/share/linphonej/java/* src/linphone-wrapper; \\
|
|
||||||
\tfi
|
|
||||||
\tif test -d "liblinphone-sdk/android-arm64/share/linphonej"; then \\
|
|
||||||
\t\tcp -R liblinphone-sdk/android-arm64/share/linphonej/java/* src/linphone-wrapper; \\
|
|
||||||
\tfi
|
|
||||||
\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:
|
copy-libs-mediastreamer:
|
||||||
\trm -rf submodules/mediastreamer2/java/libs/armeabi
|
\trm -rf submodules/mediastreamer2/java/libs/armeabi
|
||||||
|
@ -372,7 +345,7 @@ copy-libs-mediastreamer:
|
||||||
\t\tsh WORK/android-x86/strip.sh submodules/mediastreamer2/java/libs/x86/*.so; \\
|
\t\tsh WORK/android-x86/strip.sh submodules/mediastreamer2/java/libs/x86/*.so; \\
|
||||||
\tfi
|
\tfi
|
||||||
|
|
||||||
generate-apk: java-clean build copy-libs $(TOPDIR)/res/raw/rootca.pem
|
generate-apk: java-clean build copy-libs
|
||||||
\t./gradlew assembleDebug
|
\t./gradlew assembleDebug
|
||||||
|
|
||||||
quick: clean install-apk run-linphone
|
quick: clean install-apk run-linphone
|
||||||
|
@ -392,17 +365,17 @@ unsigned: java-clean build copy-libs
|
||||||
generate-sdk: liblinphone-android-sdk
|
generate-sdk: liblinphone-android-sdk
|
||||||
|
|
||||||
generate-javadoc:
|
generate-javadoc:
|
||||||
\t./gradlew -b libLinphoneAndroidSdk.gradle androidJavadocsJar
|
\t./gradlew -q androidJavadocsJar
|
||||||
\t./gradlew -b libLinphoneAndroidSdk.gradle sourcesJar
|
\t./gradlew -q sourcesJar
|
||||||
|
|
||||||
liblinphone-android-sdk: java-clean build copy-libs $(TOPDIR)/res/raw/rootca.pem
|
liblinphone-android-sdk: java-clean build copy-libs
|
||||||
\t./gradlew -b libLinphoneAndroidSdk.gradle androidJavadocsJar
|
\t./gradlew -q androidJavadocsJar
|
||||||
\t./gradlew -b libLinphoneAndroidSdk.gradle sourcesJar
|
\t./gradlew -q sourcesJar
|
||||||
\t./gradlew -b libLinphoneAndroidSdk.gradle assembleRelease
|
\t./gradlew -q assembleRelease
|
||||||
\t@mv $(TOPDIR)/bin/outputs/aar/*.aar $(TOPDIR)/bin/outputs/aar/liblinphone-sdk.aar
|
\t@mv $(TOPDIR)/bin/outputs/aar/*.aar $(TOPDIR)/bin/outputs/aar/liblinphone-sdk.aar
|
||||||
\t./gradlew -b libLinphoneAndroidSdk.gradle sdkZip
|
\t./gradlew -q sdkZip
|
||||||
|
|
||||||
linphone-android-sdk: java-clean build copy-libs $(TOPDIR)/res/raw/rootca.pem
|
linphone-android-sdk: java-clean build copy-libs
|
||||||
\t./gradlew -b linphoneAndroidSdk.gradle androidJavadocsJar
|
\t./gradlew -b linphoneAndroidSdk.gradle androidJavadocsJar
|
||||||
\t./gradlew -b linphoneAndroidSdk.gradle sourcesJar
|
\t./gradlew -b linphoneAndroidSdk.gradle sourcesJar
|
||||||
\t./gradlew -b linphoneAndroidSdk.gradle assembleRelease
|
\t./gradlew -b linphoneAndroidSdk.gradle assembleRelease
|
||||||
|
|
Binary file not shown.
BIN
res/raw/hold.mkv
BIN
res/raw/hold.mkv
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1
settings.gradle
Normal file
1
settings.gradle
Normal file
|
@ -0,0 +1 @@
|
||||||
|
include 'liblinphone-sdk'
|
Loading…
Reference in a new issue