mirror of
https://github.com/syncthing/syncthing-android.git
synced 2024-11-23 04:41:16 +00:00
115 lines
2.3 KiB
Groovy
115 lines
2.3 KiB
Groovy
buildscript {
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
classpath 'com.android.tools.build:gradle:0.12.+'
|
|
classpath 'com.alexvasilkov:android_sign:0.2+'
|
|
}
|
|
}
|
|
|
|
import java.util.regex.Pattern
|
|
|
|
apply plugin: 'com.android.application'
|
|
apply plugin: 'android_sign'
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
compile 'com.android.support:appcompat-v7:19.1.+'
|
|
}
|
|
|
|
android {
|
|
compileSdkVersion 19
|
|
buildToolsVersion "19.1.0"
|
|
|
|
defaultConfig {
|
|
versionCode getVersionCodeFromManifest()
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
jniLibs.srcDir file("libs/")
|
|
}
|
|
}
|
|
|
|
signingConfigs {
|
|
release {
|
|
// Android Studio does not pass environment variables.
|
|
// This means you have to use the command line for release builds.
|
|
def ks = System.getenv("KEYSTORE")
|
|
def ka = System.getenv("KEY_ALIAS")
|
|
if (ks != null && ka != null) {
|
|
storeFile file(ks)
|
|
keyAlias ka
|
|
}
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
applicationIdSuffix ".debug"
|
|
debuggable true
|
|
}
|
|
release {
|
|
signingConfig signingConfigs.release
|
|
}
|
|
}
|
|
|
|
productFlavors {
|
|
x86 {
|
|
versionCode Integer.parseInt("4" + defaultConfig.versionCode)
|
|
ndk {
|
|
abiFilter "x86"
|
|
}
|
|
}
|
|
armeabi_v7a {
|
|
versionCode Integer.parseInt("3" + defaultConfig.versionCode)
|
|
ndk {
|
|
abiFilter "armeabi-v7a"
|
|
}
|
|
}
|
|
armeabi {
|
|
versionCode Integer.parseInt("2" + defaultConfig.versionCode)
|
|
ndk {
|
|
abiFilter "armeabi"
|
|
}
|
|
}
|
|
mips {
|
|
versionCode Integer.parseInt("1" + defaultConfig.versionCode)
|
|
ndk {
|
|
abiFilter "mips"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
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))
|
|
}
|
|
|
|
task buildNative(type: Exec) {
|
|
outputs.upToDateWhen { false }
|
|
executable = './build-native.sh'
|
|
}
|
|
|
|
task copyNative(type: Copy) {
|
|
def st_dir = System.getenv("GOPATH") + "/src/github.com/syncthing/syncthing/bin/";
|
|
from st_dir + 'syncthing-x86', st_dir + 'syncthing-armeabi-v7a', st_dir + 'syncthing-armeabi';
|
|
into 'libs/'
|
|
rename('syncthing-x86', 'x86/libsyncthing.so')
|
|
rename('syncthing-armeabi-v7a', 'armeabi-v7a/libsyncthing.so')
|
|
rename('syncthing-armeabi', 'armeabi/libsyncthing.so')
|
|
}
|
|
buildNative.finalizedBy copyNative
|
|
|
|
task cleanNative(type: Delete) {
|
|
delete 'libs/'
|
|
}
|