blob: d5c452726c7f1484fb35622105a542fb26e535c6 [file] [log] [blame]
apply plugin: 'com.android.application'
apply plugin: 'checkstyle'
/* gets the version name from the latest Git tag, stripping the leading v off */
def getVersionName = { ->
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'describe', '--tags', '--always'
standardOutput = stdout
}
return stdout.toString().trim()
}
gradle.allprojects {
ext.getVersionCode = { ->
def manifestFile = file("app/src/main/AndroidManifest.xml")
def pattern = Pattern.compile("versionCode=\"(\\d+)\"")
def manifestText = manifestFile.getText()
def matcher = pattern.matcher(manifestText)
matcher.find()
return Integer.parseInt(matcher.group(1))
}
}
repositories {
jcenter()
}
dependencies {
testCompile 'junit:junit:4.12'
androidTestCompile 'com.android.support:support-annotations:25.3.0'
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test:rules:0.5'
}
android {
compileSdkVersion 25
buildToolsVersion '24.0.0'
defaultConfig {
archivesBaseName = "F-DroidPrivilegedExtension"
versionName getVersionName()
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
compileOptions {
compileOptions.encoding = "UTF-8"
// Use Java 1.7, requires minSdk 8
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
aaptOptions {
cruncherEnabled = false
}
buildTypes {
all {
// Keep IPackageInstallObserver and IPackageDeleteObserver
minifyEnabled false
useProguard false
shrinkResources false
}
}
lintOptions {
checkReleaseBuilds false
abortOnError true
htmlReport true
xmlReport false
textReport false
lintConfig file("lint.xml")
}
File signFile = rootProject.file('signing.properties')
if (signFile.exists()) {
Properties properties = new Properties()
properties.load(new FileInputStream(signFile))
signingConfigs {
release {
storeFile rootProject.file(properties['key.store'])
storePassword properties['key.store.password']
keyAlias properties['key.alias']
keyPassword properties['key.alias.password']
}
}
buildTypes.release.signingConfig signingConfigs.release
}
}
checkstyle {
toolVersion = '7.2'
}
task checkstyle(type: Checkstyle) {
configFile file("${project.rootDir}/config/checkstyle/checkstyle.xml")
source 'src/main/java'
include '**/*.java'
classpath = files()
}