First step to migrate from ant to gradle

This commit is contained in:
Erwan Croze 2017-02-21 11:55:48 +01:00
parent 1a641f269a
commit a094d88062
3 changed files with 177 additions and 63 deletions

View file

@ -1,45 +1,182 @@
// Project information
buildDir = 'bin'
ext.linphonePackageName = "org.linphone"
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
}
repositories {
mavenCentral()
jcenter()
mavenLocal()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
}
}
// Android
apply plugin: 'com.android.application'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile fileTree(dir: 'libs', include: '*.jar')
}
android {
defaultConfig {
compileSdkVersion 23
buildToolsVersion "23.0.2"
applicationId "org.linphone"
}
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'
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
}
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')
// 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 {
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"
}
}

View file

@ -214,7 +214,7 @@ clean: java-clean
install: install-apk run-linphone
java-clean:
\tant clean
\tgradle clean
$(TOPDIR)/res/raw/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
\techo "version.name=$(LINPHONE_ANDROID_VERSION)" > default.properties && \\
\tant debug
\tgradle assembleDebug
generate-mediastreamer2-apk: java-clean build copy-libs update-mediastreamer2-project
\t@cd $(TOPDIR)/submodules/linphone/mediastreamer2/java && \\
\techo "version.name=$(LINPHONE_ANDROID_VERSION)" > default.properties && \\
\tant debug
quick:
\tant clean
\tant debug
\tant installd
\tant run
quick: clean install-apk run-linphone
install-apk:
\tant installd
\tgradle installDebug
uninstall:
\tadb uninstall $(PACKAGE_NAME)
release: java-clean build copy-libs update-project
\tpatch -p1 < release.patch
\tcat ant.properties | grep version.name > default.properties
\tant release
\tpatch -Rp1 < release.patch
\tgradle assembleRelease
generate-sdk: liblinphone-android-sdk
@ -338,7 +331,7 @@ liblinphone-android-sdk: generate-apk
\tant liblinphone-android-sdk
linphone-android-sdk: generate-apk
\tant linphone-android-sdk
\ant linphone-android-sdk
mediastreamer2-sdk: generate-mediastreamer2-apk
\t@cd $(TOPDIR)/submodules/linphone/mediastreamer2/java && \\
@ -348,18 +341,16 @@ liblinphone_tester:
\t$(MAKE) -C liblinphone_tester
run-linphone:
\tant run
\tadb shell monkey -p $(PACKAGE_NAME) -c android.intent.category.LAUNCHER 1
run-liblinphone-tests:
\t@cd liblinphone_tester && \\
\tmake run-all-tests
run-basic-tests: update-project
\tant partial-clean
run-basic-tests: clean update-project
\t$(MAKE) -C tests run-basic-tests ANT_SILENT=$(ANT_SILENT)
run-all-tests: update-project
\tant partial-clean
run-all-tests: clean update-project
\t$(MAKE) -C tests run-all-tests ANT_SILENT=$(ANT_SILENT)
pull-transifex:

View file

@ -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"