Files
uitron/navi-uitron/build.gradle
2024-05-05 10:01:54 -07:00

107 lines
3.2 KiB
Groovy

plugins {
alias libs.plugins.android.library
alias libs.plugins.kotlin.android
alias libs.plugins.kotlin.parcelize
id 'maven-publish'
}
def VERSION = "1.3.6"
android {
namespace 'com.navi.uitron'
compileSdk 34
defaultConfig {
minSdk 21
targetSdk 33
consumerProguardFiles "consumer-rules.pro"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildFeatures {
buildConfig true
compose true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
composeOptions {
kotlinCompilerExtensionVersion libs.versions.compose.lib.get()
}
kotlinOptions {
freeCompilerArgs += ["-Xstring-concat=inline"]
jvmTarget = '17'
}
}
publishing {
repositories {
if (project.hasProperty('NEXUS_URL')
&& project.hasProperty('NEXUS_USERNAME')
&& project.hasProperty('NEXUS_PASSWORD')) {
maven {
url = "$NEXUS_URL"
credentials {
username = "$NEXUS_USERNAME"
password = "$NEXUS_PASSWORD"
}
}
}
}
publications {
if (project.hasProperty('NEXUS_URL')) {
maven(MavenPublication) {
if ("$NEXUS_URL".contains("maven-releases")) {
version = "$VERSION"
} else {
version = "$VERSION-SNAPSHOT"
}
artifactId = "uitron"
groupId = "com.navi.android"
artifact("build/outputs/aar/navi-uitron-${BUILD_TYPE}.aar")
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')
configurations.implementation.allDependencies.each {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
}
}
}
}
}
}
dependencies {
api libs.coil.compose
implementation platform(libs.androidx.compose.bom)
implementation libs.accompanist.pager
implementation libs.accompanist.pagerIndicators
implementation libs.android.material
implementation libs.androidx.activity.compose
implementation libs.androidx.appcompat
implementation libs.androidx.compose.material
implementation libs.androidx.compose.material3
implementation libs.androidx.compose.ui.toolingPreview
implementation libs.androidx.compose.ui.ui
implementation libs.androidx.constraintlayoutCompose
implementation libs.androidx.core.ktx
implementation libs.androidx.hilt.navigation.compose
implementation libs.androidx.lifecycle.runtime.ktx
implementation libs.gson
implementation libs.lottieCompose
implementation libs.mvel2
}