android-calculatorpp/app/build.gradle

216 lines
7.8 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'
2016-01-13 11:41:05 -05:00
apply plugin: 'com.neenbedankt.android-apt'
2015-01-20 17:50:46 -05:00
android {
compileSdkVersion versions.sdk.compile
buildToolsVersion versions.sdk.buildTools
2015-01-20 17:50:46 -05:00
defaultConfig {
applicationId "org.solovyev.android.calculator"
minSdkVersion versions.sdk.min
targetSdkVersion versions.sdk.target
2017-07-06 03:16:01 -04:00
versionCode 155
versionName '2.2.5'
2016-03-07 09:59:38 -05:00
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
2015-01-20 17:50:46 -05:00
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard.cfg'
zipAlignEnabled true
}
debug {
2016-01-25 13:32:26 -05:00
minifyEnabled false
2016-02-07 07:36:17 -05:00
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-debug.cfg'
// multidex is enabled only in debug builds as in release builds proguard should
// strip all unused methods
multiDexEnabled true
}
2015-01-20 17:50:46 -05:00
}
2015-01-21 08:44:05 -05:00
lintOptions {
abortOnError false
warning 'MissingTranslation'
2016-03-23 16:32:51 -04:00
disable 'ContentDescription'
// floating icon is semi-transparent
disable 'IconLauncherShape'
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
}
dependencies {
2016-01-05 11:34:03 -05:00
compile fileTree(include: ['*.jar'], dir: 'libs')
compile "com.android.support:support-v4:${versions.supportLib}"
compile "com.android.support:appcompat-v7:${versions.supportLib}"
compile "com.android.support:design:${versions.supportLib}"
2016-01-07 11:15:54 -05:00
compile('ch.acra:acra:4.7.0') {
2015-01-20 17:50:46 -05:00
exclude group: 'org.json'
}
2016-02-10 11:41:32 -05:00
compile ':measure:'
2016-01-26 16:36:14 -05:00
compile ':square-otto:1.3.9-SNAPSHOT'
apt ':square-otto-compiler:1.3.9-SNAPSHOT'
apt 'com.squareup:javapoet:1.5.1'
compile project(':dragbutton')
2016-01-24 15:03:04 -05:00
compile(project(':jscl')) {
exclude(module: 'xercesImpl')
}
2017-07-05 04:56:18 -04:00
compile 'org.solovyev.android:checkout:1.0.1'
2016-02-24 09:29:42 -05:00
compile 'org.solovyev.android:material:0.1.4@aar'
compile "com.google.android.gms:play-services-ads:${versions.gpsLib}"
compile "com.google.android.gms:play-services-base:${versions.gpsLib}"
compile "com.google.android.gms:play-services-analytics:${versions.gpsLib}"
2016-01-04 06:39:25 -05:00
compile(name: 'plotter', ext: 'aar')
compile 'com.google.guava:guava:20.0'
2016-01-05 11:34:03 -05:00
compile('org.simpleframework:simple-xml:2.6.1') {
2016-03-02 04:26:21 -05:00
exclude(module: 'stax')
2016-01-05 03:42:17 -05:00
exclude(module: 'stax-api')
exclude(module: 'xpp3')
}
2016-01-14 11:34:19 -05:00
compile 'com.jakewharton:butterknife:7.0.1'
2016-01-13 11:41:05 -05:00
compile 'com.google.dagger:dagger:2.0.2'
apt "com.google.dagger:dagger-compiler:2.0.2"
compile 'javax.annotation:jsr250-api:1.0'
2016-01-06 06:38:39 -05:00
testCompile 'junit:junit:4.12'
2016-01-05 11:34:03 -05:00
testCompile 'net.sf.opencsv:opencsv:2.0'
testCompile 'org.mockito:mockito-core:1.9.0'
testCompile 'org.robolectric:robolectric:3.0'
testCompile 'org.mockito:mockito-all:1.9.5'
testCompile 'org.skyscreamer:jsonassert:1.2.3'
2016-01-05 11:34:03 -05:00
testCompile(name: 'org.apache.http.legacy', ext: 'jar')
2016-02-22 15:04:03 -05:00
androidTestCompile "com.android.support:support-annotations:${versions.supportLib}"
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test:rules:0.5'
2016-02-22 15:04:03 -05:00
androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
2017-07-05 04:56:18 -04:00
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
// use version of jsr305 provided by Checkout
exclude group: 'com.google.code.findbugs', module: 'jsr305'
})}
apt {
arguments {
'otto.generate' 'anonymous'
}
}
tasks.withType(Test) {
scanForTestClasses = false
include "**/*Test.class"
exclude "**/*AndroidCalculatorEditorViewTest*"
exclude "**/*CalculatorWizardActivityTest*"
exclude "**/*OnScreenCalculatorWizardStepTest*"
exclude "**/*CalculatorWizardTest*"
exclude "**/*WizardStepTest*"
exclude "**/*AngleUnitsButtonTest*"
exclude "**/*NumeralBasesButtonTest*"
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
2016-03-27 15:24:17 -04:00
archives file: file('build/outputs/apk/app-release.apk'), name: 'calculatorpp-app', classifier: 'signed', type: 'apk'
2015-02-10 18:37:19 -05:00
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
}
group = "org.solovyev.android"
2016-01-06 06:38:39 -05:00
version = android.defaultConfig.versionName
2015-01-20 17:50:46 -05:00
uploadArchives {
repositories {
mavenDeployer {
2017-07-04 11:06:25 -04:00
beforeDeployment { MavenDeployment deployment ->
signing.signPom(deployment)
// for some reason Gradle :uploadArchives tries to upload null.txt.asc and null.map artifacts.
// As we don't want those let's filter them now (note that these files are not included in the
// list of project artifacts, so their origin is not clear)
def removeCond = { artifact -> return !artifact.classifier && (artifact.type == "map" || artifact.type == "txt.asc") }
deployment.artifacts.removeAll(removeCond)
deployment.attachedArtifacts.removeAll(removeCond)
}
2015-01-20 17:50:46 -05:00
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'
}
}
}
}
}
}