Twidere-App-Android-Twitter.../twidere.component.common/build.gradle

165 lines
5.3 KiB
Groovy

/*
* Twidere - Twitter client for Android
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
*/
apply plugin: 'com.android.library'
apply plugin: 'com.jfrog.bintray'
apply plugin: 'com.github.dcendents.android-maven'
group = projectGroupId
version = projectVersionName
archivesBaseName = 'common-component'
ext {
projectDescription = 'Common commonent library for Twidere app'
projectUrl = 'https://github.com/TwidereProject/Twidere-Android'
projectVcsUrl = 'https://github.com/TwidereProject/Twidere-Android.git'
}
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.5'
}
}
repositories {
mavenLocal()
jcenter()
}
android {
compileSdkVersion globalCompileSdkVersion
buildToolsVersion globalBuildToolsVersion
defaultConfig {
minSdkVersion globalMinSdkVersion
targetSdkVersion globalTargetSdkVersion
versionCode projectVersionCode
versionName projectVersionName
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
encoding = 'UTF-8'
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
/** Android support **/
implementation 'androidx.annotation:annotation:1.1.0'
/** Third-party dependencies **/
implementation "com.bluelinelabs:logansquare:${sharedVersions['LoganSquare']}"
annotationProcessor "com.bluelinelabs:logansquare-compiler:${sharedVersions['LoganSquare']}"
implementation "com.fasterxml.jackson.core:jackson-core:${sharedVersions['Jackson']}"
implementation "com.hannesdorfmann.parcelableplease:annotation:${sharedVersions['ParcelablePlease']}"
annotationProcessor "com.hannesdorfmann.parcelableplease:processor:${sharedVersions['ParcelablePlease']}"
/** Custom dependencies **/
implementation "com.github.mariotaku.ExportablePreferences:core:${sharedVersions['ExportablePreferences']}"
annotationProcessor "com.github.mariotaku.ExportablePreferences:processor:${sharedVersions['ExportablePreferences']}"
implementation "com.github.mariotaku.CommonsLibrary:logansquare:${sharedVersions['MariotakuCommons']}"
implementation "com.github.mariotaku.CommonsLibrary:objectcursor:${sharedVersions['MariotakuCommons']}"
implementation "com.github.mariotaku.ObjectCursor:core:${sharedVersions['ObjectCursor']}"
annotationProcessor "com.github.mariotaku.ObjectCursor:processor:${sharedVersions['ObjectCursor']}"
implementation "com.github.mariotaku.RestFu:library:${sharedVersions['RestFu']}"
implementation "com.github.mariotaku.RestFu:oauth:${sharedVersions['RestFu']}"
implementation "com.github.mariotaku.RestFu:oauth2:${sharedVersions['RestFu']}"
}
install {
repositories.mavenInstaller {
pom.project {
name archivesBaseName
description projectDescription
url projectUrl
inceptionYear '2012'
packaging 'aar'
groupId projectGroupId
artifactId archivesBaseName
version projectVersionName
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
}
}
scm {
connection projectVcsUrl
url projectUrl
}
developers {
developer {
name 'Mariotaku Lee'
}
}
}
}
}
bintray {
def propsFile = rootProject.file('private/bintray.properties')
if (propsFile.exists()) {
def properties = new Properties()
properties.load(propsFile.newDataInputStream())
user = properties.getProperty('user')
key = properties.getProperty('key')
}
pkg {
name = archivesBaseName
description = projectDescription
repo = 'android'
userOrg = 'twidere'
vcsUrl = projectVcsUrl
licenses = ['Apache-2.0']
publish = true
version {
name = projectVersionName
vcsTag = projectVersionName
}
}
configurations = ['archives']
}
// https://github.com/JFrogDev/build-info/issues/92
afterEvaluate {
bintrayUpload.dependsOn 'install'
}