mirror of
https://github.com/HighCapable/YukiReflection.git
synced 2025-09-07 11:09:52 +08:00
108 lines
3.0 KiB
Groovy
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 } |