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
|
||||
gen
|
||||
liblinphone-junit-report.xml
|
||||
liblinphone-sdk
|
||||
liblinphone-sdk/android-*
|
||||
liblinphonetester_*.zip
|
||||
libs
|
||||
libs-debug
|
||||
|
@ -29,8 +29,6 @@ proguard-project.txt
|
|||
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
|
||||
|
|
17
build.gradle
17
build.gradle
|
@ -48,16 +48,13 @@ dependencies {
|
|||
implementation 'com.google.firebase:firebase-messaging:15.0.2'
|
||||
}
|
||||
implementation 'com.android.support:support-v4:26.0.1'
|
||||
implementation project(':liblinphone-sdk')
|
||||
}
|
||||
|
||||
if (firebaseEnable()) {
|
||||
apply plugin: 'com.google.gms.google-services'
|
||||
}
|
||||
|
||||
//// Submodule Dir /////
|
||||
def submoduleDir = ['submodules/mediastreamer2/java/src']
|
||||
////////////////////////
|
||||
|
||||
///// Exclude Files /////
|
||||
def excludeFiles = []
|
||||
// Exclude firebase file if not enable
|
||||
|
@ -68,7 +65,7 @@ if (!firebaseEnable()) {
|
|||
excludeFiles.add('**/gcm*')
|
||||
println '[Push Notification] Firebase enabled'
|
||||
}
|
||||
excludeFiles.add('**/mediastream/MediastreamerActivity.java')
|
||||
|
||||
excludeFiles.add('src/android/org/linphone/tutorials/*.java')
|
||||
|
||||
def excludePackage = []
|
||||
|
@ -110,20 +107,19 @@ android {
|
|||
packaged {
|
||||
initWith release
|
||||
signingConfig null
|
||||
matchingFallbacks = ['debug', 'release']
|
||||
}
|
||||
}
|
||||
sourceSets {
|
||||
main {
|
||||
manifest.srcFile 'AndroidManifest.xml'
|
||||
def srcDirs = submoduleDir
|
||||
srcDirs.addAll(['src/linphone-wrapper', 'src/android'])
|
||||
def srcDirs = ['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
|
||||
|
@ -138,16 +134,13 @@ android {
|
|||
sourceSets {
|
||||
androidTest {
|
||||
manifest.srcFile 'AndroidManifest.xml'
|
||||
def srcDirs = submoduleDir
|
||||
srcDirs.addAll(['src/android',
|
||||
'src/androidTest'])
|
||||
def srcDirs = ['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
|
||||
|
|
|
@ -21,18 +21,36 @@ allprojects {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
configurations {
|
||||
javadocDeps
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
apply plugin: 'com.android.library'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile '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 = []
|
||||
|
||||
|
@ -42,6 +60,13 @@ excludePackage.add('**/**tester**')
|
|||
excludePackage.add('**/LICENSE.txt')
|
||||
|
||||
android {
|
||||
|
||||
|
||||
buildTypes {
|
||||
release {}
|
||||
debug{}
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
compileSdkVersion 26
|
||||
buildToolsVersion "26.0.0"
|
||||
|
@ -59,10 +84,10 @@ android {
|
|||
main {
|
||||
manifest.srcFile 'AndroidManifestLibrary.xml'
|
||||
java.srcDirs = srcDir
|
||||
resources.srcDirs = srcDir
|
||||
aidl.srcDirs = srcDir
|
||||
assets.srcDirs = ["${buildDir}/sdk-assets/assets/"]
|
||||
renderscript.srcDirs = srcDir
|
||||
jniLibs.srcDirs = ['libs']
|
||||
jniLibs.srcDirs = ['../libs']
|
||||
|
||||
java.excludes = ['**/mediastream/MediastreamerActivity.java']
|
||||
|
||||
|
@ -79,7 +104,7 @@ android {
|
|||
///////////// Task /////////////
|
||||
|
||||
task(releaseJavadoc, type: Javadoc, dependsOn: "assembleRelease") {
|
||||
source = ['submodules/mediastreamer2/java/src', 'src/linphone-wrapper']
|
||||
source = srcDir
|
||||
excludes = ['**/mediastream/MediastreamerActivity.java',
|
||||
'**/**.html',
|
||||
'**/**.aidl']
|
||||
|
@ -109,3 +134,26 @@ task sdkZip(type: Zip) {
|
|||
include '*'
|
||||
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.CHANGE_WIFI_MULTICAST_STATE"/>
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK"/>
|
||||
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:icon="@drawable/ic_launcher"
|
||||
|
|
45
prepare.py
45
prepare.py
|
@ -248,13 +248,10 @@ install-test:
|
|||
java-clean:
|
||||
\t./gradlew clean
|
||||
|
||||
$(TOPDIR)/res/raw/rootca.pem:
|
||||
\tcp liblinphone-sdk/android-{first_arch}/share/linphone/rootca.pem $@
|
||||
|
||||
copy-libs:
|
||||
\trm -rf libs-debug/armeabi
|
||||
\trm -rf libs/armeabi
|
||||
\trm -rf src/linphone-wrapper && mkdir -p src/linphone-wrapper/
|
||||
\tif test -d "liblinphone-sdk/android-arm"; then \\
|
||||
\t\tmkdir -p 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/gdb.setup libs/x86; \\
|
||||
\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:
|
||||
\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; \\
|
||||
\tfi
|
||||
|
||||
generate-apk: java-clean build copy-libs $(TOPDIR)/res/raw/rootca.pem
|
||||
generate-apk: java-clean build copy-libs
|
||||
\t./gradlew assembleDebug
|
||||
|
||||
quick: clean install-apk run-linphone
|
||||
|
@ -392,17 +365,17 @@ unsigned: java-clean build copy-libs
|
|||
generate-sdk: liblinphone-android-sdk
|
||||
|
||||
generate-javadoc:
|
||||
\t./gradlew -b libLinphoneAndroidSdk.gradle androidJavadocsJar
|
||||
\t./gradlew -b libLinphoneAndroidSdk.gradle sourcesJar
|
||||
\t./gradlew -q androidJavadocsJar
|
||||
\t./gradlew -q sourcesJar
|
||||
|
||||
liblinphone-android-sdk: java-clean build copy-libs $(TOPDIR)/res/raw/rootca.pem
|
||||
\t./gradlew -b libLinphoneAndroidSdk.gradle androidJavadocsJar
|
||||
\t./gradlew -b libLinphoneAndroidSdk.gradle sourcesJar
|
||||
\t./gradlew -b libLinphoneAndroidSdk.gradle assembleRelease
|
||||
liblinphone-android-sdk: java-clean build copy-libs
|
||||
\t./gradlew -q androidJavadocsJar
|
||||
\t./gradlew -q sourcesJar
|
||||
\t./gradlew -q assembleRelease
|
||||
\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 sourcesJar
|
||||
\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