186 lines
6.4 KiB
Groovy
186 lines
6.4 KiB
Groovy
/*
|
|
* 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'
|
|
}
|
|
}
|
|
lintOptions {
|
|
abortOnError false
|
|
warning 'MissingTranslation'
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
flatDir{
|
|
dirs 'misc/libs'
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
compile fileTree(dir: 'libs', include: ['*.jar'])
|
|
compile project(':core')
|
|
compile 'org.solovyev:common-core:1.0.7'
|
|
compile 'org.solovyev:common-text:1.0.7'
|
|
compile 'org.solovyev:common-security:1.0.7'
|
|
compile 'com.android.support:support-v4:23.1.0'
|
|
compile 'com.android.support:appcompat-v7:23.1.0'
|
|
compile('ch.acra:acra:4.5.0') {
|
|
exclude group: 'org.json'
|
|
}
|
|
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')
|
|
}
|
|
compile 'org.solovyev.android:checkout:0.7.2@aar'
|
|
compile 'org.solovyev.android:material:0.1.3@aar'
|
|
compile 'com.google.android.gms:play-services-ads:7.5.0@aar'
|
|
compile 'com.google.android.gms:play-services-base:7.5.0@aar'
|
|
compile 'com.google.android.gms:play-services-analytics:7.5.0@aar'
|
|
compile 'com.melnykov:floatingactionbutton:1.1.0'
|
|
compile(name:'plotter', ext:'aar')
|
|
|
|
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
|
|
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1'
|
|
}
|
|
|
|
task androidJavadocs(type: Javadoc) {
|
|
source = android.sourceSets.main.java.srcDirs
|
|
classpath += project.files(android.bootClasspath.join(File.pathSeparator))
|
|
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
|
|
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'
|
|
}
|
|
|
|
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') {
|
|
fileset(dir: file('./build/intermediates/res/' + buildType), includes: '**/common_signin*')
|
|
}
|
|
ant.delete(includeEmptyDirs: 'true') {
|
|
fileset(dir: file('./build/intermediates/res/' + buildType), includes: '**/ic_plusone*')
|
|
}
|
|
ant.delete(includeEmptyDirs: 'true') {
|
|
fileset(dir: file('./build/intermediates/res/' + buildType), includes: '**/powered_by_google*')
|
|
}
|
|
}
|
|
|
|
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 {
|
|
artifactId = 'calculatorpp-app'
|
|
name 'Calculator++ Application'
|
|
packaging 'apk'
|
|
description 'Calculator for Android'
|
|
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'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |