plugins { alias libs.plugins.android.library alias libs.plugins.kotlin.android alias libs.plugins.kotlin.parcelize alias libs.plugins.maven.publish } def VERSION = "1.22.0" android { namespace 'com.navi.uitron' compileSdk 34 defaultConfig { minSdk 23 targetSdk 34 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.androidx.media3.exoplayer) { exclude group: "com.google.guava", module: "guava" } api(libs.androidx.media3.ui) { exclude group: "com.google.guava", module: "guava" } 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 }