diff options
Diffstat (limited to 'platforms/android/build.gradle')
-rw-r--r-- | platforms/android/build.gradle | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/platforms/android/build.gradle b/platforms/android/build.gradle new file mode 100644 index 0000000..9d1d45a --- /dev/null +++ b/platforms/android/build.gradle @@ -0,0 +1,94 @@ +import java.util.regex.Pattern + +apply plugin: 'android' + +buildscript { + repositories { + mavenCentral() + } + + dependencies { + classpath 'com.android.tools.build:gradle:0.10.+' + } +} + +ext.multiarch=false + +dependencies { + compile fileTree(dir: 'libs', include: '*.jar') + for (subproject in getProjectList()) { + compile project(subproject) + } +} + +android { + sourceSets { + main { + manifest.srcFile 'AndroidManifest.xml' + java.srcDirs = ['src'] + resources.srcDirs = ['src'] + aidl.srcDirs = ['src'] + renderscript.srcDirs = ['src'] + res.srcDirs = ['res'] + assets.srcDirs = ['assets'] + } + } + + defaultConfig { + versionCode Integer.parseInt("" + getVersionCodeFromManifest() + "0") + } + + compileSdkVersion 19 + buildToolsVersion "19.0.0" + + if (multiarch || System.env.BUILD_MULTIPLE_APKS) { + productFlavors { + armv7 { + versionCode defaultConfig.versionCode + 2 + ndk { + abiFilters "armeabi-v7a", "" + } + } + x86 { + versionCode defaultConfig.versionCode + 4 + ndk { + abiFilters "x86", "" + } + } + all { + ndk { + abiFilters "all", "" + } + } + } + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_7 + targetCompatibility JavaVersion.VERSION_1_7 + } + +} + +task wrapper(type: Wrapper) { + gradleVersion = '1.12' +} + +def getVersionCodeFromManifest() { + def manifestFile = file(android.sourceSets.main.manifest.srcFile) + def pattern = Pattern.compile("versionCode=\"(\\d+)\"") + def matcher = pattern.matcher(manifestFile.getText()) + matcher.find() + return Integer.parseInt(matcher.group(1)) +} + +def getProjectList() { + def manifestFile = file("project.properties") + def pattern = Pattern.compile("android.library.reference.(\\d+)\\s*=\\s*(.*)") + def matcher = pattern.matcher(manifestFile.getText()) + def projects = [] + while (matcher.find()) { + projects.add(":" + matcher.group(2).replace("/",":")) + } + return projects +} |