Files
YukiReflection/yukireflection/build.gradle

108 lines
3.0 KiB
Groovy

plugins {
id 'com.android.library'
id 'org.jetbrains.kotlin.android'
id 'maven-publish'
id 'signing'
}
android {
namespace 'com.highcapable.yukireflection'
compileSdk 33
defaultConfig {
minSdk 21
targetSdk 33
consumerProguardFiles 'consumer-rules.pro'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = '11'
freeCompilerArgs = [
'-opt-in=com.highcapable.yukireflection.annotation.YukiPrivateApi',
'-Xno-param-assertions',
'-Xno-call-assertions',
'-Xno-receiver-assertions'
]
}
lintOptions {
checkReleaseBuilds false
}
publishing {
singleVariant('release') {
withSourcesJar()
withJavadocJar()
}
}
}
kotlin { sourceSets { all { languageSettings { optIn('com.highcapable.yukireflection.annotation.YukiPrivateApi') } } } }
dependencies {
implementation 'androidx.core:core-ktx:1.10.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
}
tasks.register('androidSourcesJar', Jar) {
archiveClassifier.set('sources')
from android.sourceSets.main.java.srcDirs
}
group = rootProject.ext.groupId
version = rootProject.ext.apiVersion
publishing {
publications {
release(MavenPublication) {
artifactId = 'api'
artifact "$buildDir/outputs/aar/${project.name}-release.aar"
artifact androidSourcesJar
pom {
name = rootProject.ext.repoName
description = rootProject.ext.repoDescription
url = rootProject.ext.website
licenses {
license {
name = rootProject.ext.licenceName
url = rootProject.ext.licenceUrl
}
}
developers {
developer {
id = rootProject.ext.devId
name = rootProject.ext.devUser
email = rootProject.ext.userEmail
}
}
scm {
connection = rootProject.ext.githubConnection
developerConnection = rootProject.ext.githubDeveloperConnection
url = rootProject.ext.githubUrl
}
}
}
}
repositories {
maven {
name = rootProject.ext.ossName
url = rootProject.ext.ossUrl
credentials {
def configs = getMavenCredentials(projectDir)
username = configs.username
password = configs.password
}
}
}
}
signing { sign publishing.publications }