| 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) { |
| 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 |
| } |