android-calculatorpp/android-app/build.gradle

206 lines
7.4 KiB
Groovy
Raw Normal View History

2015-01-20 17:50:46 -05:00
/*
* Copyright 2014 serso aka se.solovyev
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Contact details
*
* Email: se.solovyev@gmail.com
* Site: http://se.solovyev.org
*/
apply plugin: 'com.android.application'
apply plugin: 'maven'
apply plugin: 'signing'
android {
compileSdkVersion android_sdk_version()
buildToolsVersion android_build_tools_version()
defaultConfig {
minSdkVersion android_min_sdk_version()
targetSdkVersion android_sdk_version()
versionCode version_code()
versionName version_name()
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard.cfg'
zipAlignEnabled true
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-debug.cfg'
}
2015-01-20 17:50:46 -05:00
}
2015-01-21 08:44:05 -05:00
lintOptions {
abortOnError false
warning 'MissingTranslation'
2015-01-21 08:44:05 -05:00
}
2016-01-04 06:22:16 -05:00
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
2015-01-20 17:50:46 -05:00
}
2015-10-16 10:02:47 -04:00
repositories {
2016-01-04 06:39:25 -05:00
flatDir {
2015-10-16 10:02:47 -04:00
dirs 'misc/libs'
}
}
2015-01-20 17:50:46 -05:00
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'org.solovyev:common-core:1.0.7'
compile 'org.solovyev:common-text:1.0.7'
compile 'org.solovyev:common-security:1.0.7'
2016-01-04 06:07:43 -05:00
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:appcompat-v7:23.1.1'
2015-01-27 09:08:47 -05:00
compile('ch.acra:acra:4.5.0') {
2015-01-20 17:50:46 -05:00
exclude group: 'org.json'
}
2016-01-04 18:25:36 -05:00
compile 'org.solovyev.android.views.dragbutton:drag-button:1.0@aar'
2015-01-20 17:50:46 -05:00
compile 'org.solovyev.android:android-common-lists:1.1.18@aar'
compile 'org.solovyev.android:android-common-core:1.1.18@aar'
compile 'org.solovyev.android:android-common-other:1.1.18@aar'
compile 'org.solovyev.android:android-common-views:1.1.18@aar'
compile 'org.solovyev.android:android-common-menus:1.1.18@aar'
compile 'org.solovyev.android:android-common-preferences:1.1.18@aar'
compile('org.solovyev:jscl:1.0.8') {
exclude(module: 'xercesImpl')
}
2015-02-23 05:26:07 -05:00
compile 'org.solovyev.android:checkout:0.7.2@aar'
compile 'org.solovyev.android:material:0.1.3@aar'
2016-01-04 06:07:43 -05:00
compile 'com.google.android.gms:play-services-ads:8.4.0'
compile 'com.google.android.gms:play-services-base:8.4.0'
compile 'com.google.android.gms:play-services-analytics:8.4.0'
2015-01-26 16:39:01 -05:00
compile 'com.melnykov:floatingactionbutton:1.1.0'
2016-01-04 06:39:25 -05:00
compile(name: 'plotter', ext: 'aar')
2015-05-11 10:21:48 -04:00
2015-06-16 07:07:29 -04:00
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1'
2016-01-05 03:42:17 -05:00
compile group: 'org.solovyev', name: 'common-text', version: '1.0.7'
compile group: 'org.solovyev', name: 'common-listeners', version: '1.0.7'
compile(group: 'com.google.guava', name: 'guava', version: '11.0.2') {
exclude(module: 'jsr305')
}
compile(group: 'org.solovyev', name: 'jscl', version: '1.0.11') {
exclude(module: 'xercesImpl')
}
compile(group: 'org.simpleframework', name: 'simple-xml', version: '2.6.1') {
exclude(module: 'stax-api')
exclude(module: 'xpp3')
}
compile group: 'commons-cli', name: 'commons-cli', version: '1.2'
testCompile group: 'junit', name: 'junit', version: '4.11'
testCompile group: 'net.sf.opencsv', name: 'opencsv', version: '2.0'
testCompile group: 'org.mockito', name: 'mockito-core', version: '1.9.0'
2015-01-20 17:50:46 -05:00
}
task androidJavadocs(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
2015-05-11 10:16:01 -04:00
classpath += project.files(android.bootClasspath.join(File.pathSeparator))
2015-01-20 17:50:46 -05:00
configurations.compile.each { File file -> classpath += project.files(file.path) }
}
task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
classifier = 'javadoc'
from androidJavadocs.destinationDir
}
task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.srcDirs
}
artifacts {
archives androidSourcesJar
2015-02-10 18:37:19 -05:00
archives file: file('build/outputs/apk/calculatorpp-release.apk'), name: 'calculatorpp-app', classifier: 'signed', type: 'apk'
archives file: file('build/outputs/mapping/release/mapping.txt'), name: 'calculatorpp-app', classifier: 'proguard', type: 'txt'
2015-01-20 17:50:46 -05:00
}
signing {
sign configurations.archives
}
gradle.taskGraph.afterTask { Task task ->
if (task.project.name == 'android-app') {
if (task.name == 'mergeReleaseResources') {
cleanGoogleServicesResources('release')
} else if (task.name == 'mergeDebugResources') {
cleanGoogleServicesResources('debug')
}
}
}
private void cleanGoogleServicesResources(buildType) {
ant.delete(includeEmptyDirs: 'true') {
2016-01-04 06:22:16 -05:00
fileset(dir: file('./build/intermediates/res/merged/' + buildType), includes: '**/common_signin*')
}
ant.delete(includeEmptyDirs: 'true') {
2016-01-04 06:22:16 -05:00
fileset(dir: file('./build/intermediates/res/merged/' + buildType), includes: '**/ic_plusone*')
}
ant.delete(includeEmptyDirs: 'true') {
2016-01-04 06:22:16 -05:00
fileset(dir: file('./build/intermediates/res/merged/' + buildType), includes: '**/powered_by_google*')
}
}
2015-01-20 17:50:46 -05:00
group = "org.solovyev.android"
version = version_name()
uploadArchives {
repositories {
mavenDeployer {
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
authentication(userName: ossrhUsername, password: ossrhPassword)
}
snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") {
authentication(userName: ossrhUsername, password: ossrhPassword)
}
pom.project {
2015-02-12 16:43:02 -05:00
artifactId = 'calculatorpp-app'
2015-01-20 17:50:46 -05:00
name 'Calculator++ Application'
packaging 'apk'
description 'Calculator for Android'
2015-01-20 17:50:46 -05:00
url 'https://github.com/serso/android-calculatorpp'
scm {
url 'https://github.com/serso/android-calculatorpp'
connection 'scm:https://serso@github.com/serso/android-calculatorpp.git'
developerConnection 'scm:git://github.com/serso/android-calculatorpp.git'
}
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
}
}
developers {
developer {
id 'se.solovyev'
name 'Sergey Solovyev'
email 'se.solovyev@gmail.com'
}
}
}
}
}
}