First step to migrate from ant to gradle
This commit is contained in:
parent
1a641f269a
commit
a094d88062
3 changed files with 177 additions and 63 deletions
199
build.gradle
199
build.gradle
|
@ -1,45 +1,182 @@
|
||||||
|
// Project information
|
||||||
|
buildDir = 'bin'
|
||||||
|
ext.linphonePackageName = "org.linphone"
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
jcenter()
|
||||||
dependencies {
|
mavenLocal()
|
||||||
classpath 'com.android.tools.build:gradle:2.2.0'
|
}
|
||||||
}
|
dependencies {
|
||||||
|
classpath 'com.android.tools.build:gradle:2.2.0'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Android
|
||||||
apply plugin: 'com.android.application'
|
apply plugin: 'com.android.application'
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile fileTree(dir: 'libs', include: '*.jar')
|
compile fileTree(dir: 'libs', include: '*.jar')
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
|
defaultConfig {
|
||||||
compileSdkVersion 23
|
compileSdkVersion 23
|
||||||
buildToolsVersion "23.0.2"
|
buildToolsVersion "23.0.2"
|
||||||
|
applicationId "org.linphone"
|
||||||
|
}
|
||||||
|
|
||||||
sourceSets {
|
lintOptions {
|
||||||
main {
|
checkReleaseBuilds false
|
||||||
manifest.srcFile 'AndroidManifest.xml'
|
// Or, if you prefer, you can continue to check for errors in release builds,
|
||||||
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']
|
// but continue the build even when errors are found:
|
||||||
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']
|
abortOnError false
|
||||||
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'
|
// Signing
|
||||||
}
|
signingConfigs {
|
||||||
|
release {
|
||||||
// Move the tests to tests/java, tests/res, etc...
|
storeFile file(RELEASE_STORE_FILE)
|
||||||
instrumentTest.setRoot('tests')
|
storePassword RELEASE_STORE_PASSWORD
|
||||||
|
keyAlias RELEASE_KEY_ALIAS
|
||||||
// Move the build types to build-types/<type>
|
keyPassword RELEASE_KEY_PASSWORD
|
||||||
// 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')
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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"
|
||||||
|
|
||||||
|
from ('.') {
|
||||||
|
into 'libs-debug'
|
||||||
|
}
|
||||||
|
include "linphone.jar"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
27
prepare.py
27
prepare.py
|
@ -214,7 +214,7 @@ clean: java-clean
|
||||||
install: install-apk run-linphone
|
install: install-apk run-linphone
|
||||||
|
|
||||||
java-clean:
|
java-clean:
|
||||||
\tant clean
|
\tgradle clean
|
||||||
|
|
||||||
$(TOPDIR)/res/raw/rootca.pem:
|
$(TOPDIR)/res/raw/rootca.pem:
|
||||||
\tcp liblinphone-sdk/android-{first_arch}/share/linphone/rootca.pem $@
|
\tcp liblinphone-sdk/android-{first_arch}/share/linphone/rootca.pem $@
|
||||||
|
@ -307,30 +307,23 @@ update-mediastreamer2-project:
|
||||||
|
|
||||||
generate-apk: java-clean build copy-libs $(TOPDIR)/res/raw/rootca.pem update-project
|
generate-apk: java-clean build copy-libs $(TOPDIR)/res/raw/rootca.pem update-project
|
||||||
\techo "version.name=$(LINPHONE_ANDROID_VERSION)" > default.properties && \\
|
\techo "version.name=$(LINPHONE_ANDROID_VERSION)" > default.properties && \\
|
||||||
\tant debug
|
\tgradle assembleDebug
|
||||||
|
|
||||||
generate-mediastreamer2-apk: java-clean build copy-libs update-mediastreamer2-project
|
generate-mediastreamer2-apk: java-clean build copy-libs update-mediastreamer2-project
|
||||||
\t@cd $(TOPDIR)/submodules/linphone/mediastreamer2/java && \\
|
\t@cd $(TOPDIR)/submodules/linphone/mediastreamer2/java && \\
|
||||||
\techo "version.name=$(LINPHONE_ANDROID_VERSION)" > default.properties && \\
|
\techo "version.name=$(LINPHONE_ANDROID_VERSION)" > default.properties && \\
|
||||||
\tant debug
|
\tant debug
|
||||||
|
|
||||||
quick:
|
quick: clean install-apk run-linphone
|
||||||
\tant clean
|
|
||||||
\tant debug
|
|
||||||
\tant installd
|
|
||||||
\tant run
|
|
||||||
|
|
||||||
install-apk:
|
install-apk:
|
||||||
\tant installd
|
\tgradle installDebug
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
\tadb uninstall $(PACKAGE_NAME)
|
\tadb uninstall $(PACKAGE_NAME)
|
||||||
|
|
||||||
release: java-clean build copy-libs update-project
|
release: java-clean build copy-libs update-project
|
||||||
\tpatch -p1 < release.patch
|
\tgradle assembleRelease
|
||||||
\tcat ant.properties | grep version.name > default.properties
|
|
||||||
\tant release
|
|
||||||
\tpatch -Rp1 < release.patch
|
|
||||||
|
|
||||||
generate-sdk: liblinphone-android-sdk
|
generate-sdk: liblinphone-android-sdk
|
||||||
|
|
||||||
|
@ -338,7 +331,7 @@ liblinphone-android-sdk: generate-apk
|
||||||
\tant liblinphone-android-sdk
|
\tant liblinphone-android-sdk
|
||||||
|
|
||||||
linphone-android-sdk: generate-apk
|
linphone-android-sdk: generate-apk
|
||||||
\tant linphone-android-sdk
|
\ant linphone-android-sdk
|
||||||
|
|
||||||
mediastreamer2-sdk: generate-mediastreamer2-apk
|
mediastreamer2-sdk: generate-mediastreamer2-apk
|
||||||
\t@cd $(TOPDIR)/submodules/linphone/mediastreamer2/java && \\
|
\t@cd $(TOPDIR)/submodules/linphone/mediastreamer2/java && \\
|
||||||
|
@ -348,18 +341,16 @@ liblinphone_tester:
|
||||||
\t$(MAKE) -C liblinphone_tester
|
\t$(MAKE) -C liblinphone_tester
|
||||||
|
|
||||||
run-linphone:
|
run-linphone:
|
||||||
\tant run
|
\tadb shell monkey -p $(PACKAGE_NAME) -c android.intent.category.LAUNCHER 1
|
||||||
|
|
||||||
run-liblinphone-tests:
|
run-liblinphone-tests:
|
||||||
\t@cd liblinphone_tester && \\
|
\t@cd liblinphone_tester && \\
|
||||||
\tmake run-all-tests
|
\tmake run-all-tests
|
||||||
|
|
||||||
run-basic-tests: update-project
|
run-basic-tests: clean update-project
|
||||||
\tant partial-clean
|
|
||||||
\t$(MAKE) -C tests run-basic-tests ANT_SILENT=$(ANT_SILENT)
|
\t$(MAKE) -C tests run-basic-tests ANT_SILENT=$(ANT_SILENT)
|
||||||
|
|
||||||
run-all-tests: update-project
|
run-all-tests: clean update-project
|
||||||
\tant partial-clean
|
|
||||||
\t$(MAKE) -C tests run-all-tests ANT_SILENT=$(ANT_SILENT)
|
\t$(MAKE) -C tests run-all-tests ANT_SILENT=$(ANT_SILENT)
|
||||||
|
|
||||||
pull-transifex:
|
pull-transifex:
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
|
|
||||||
index fcc8434..0e80ea6 100755
|
|
||||||
--- a/AndroidManifest.xml
|
|
||||||
+++ b/AndroidManifest.xml
|
|
||||||
@@ -68,7 +68,8 @@
|
|
||||||
android:allowBackup="true"
|
|
||||||
android:icon="@mipmap/ic_launcher"
|
|
||||||
android:label="@string/app_name"
|
|
||||||
- android:largeHeap="true">
|
|
||||||
+ android:largeHeap="true"
|
|
||||||
+ android:debuggable="false">
|
|
||||||
<activity
|
|
||||||
android:name=".LinphoneLauncherActivity"
|
|
||||||
android:exported="true"
|
|
Loading…
Reference in a new issue