// Designed and developed by 2019 skydoves (Jaewoong Eum) // // Licensed 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. import com.skydoves.balloon.Configuration import org.jetbrains.dokka.gradle.DokkaTask import java.net.URL @Suppress("DSL_SCOPE_VIOLATION") plugins { id(libs.plugins.android.library.get().pluginId) id(libs.plugins.kotlin.android.get().pluginId) id(libs.plugins.nexus.plugin.get().pluginId) id(libs.plugins.baseline.profile.get().pluginId) id(libs.plugins.dokka.get().pluginId) } apply(from = "${rootDir}/scripts/publish-module.gradle.kts") mavenPublishing { val artifactId = "balloon" coordinates( Configuration.artifactGroup, artifactId, rootProject.extra.get("libVersion").toString() ) pom { name.set(artifactId) description.set("Modernized and sophisticated tooltips, fully customizable with an arrow and animations for Android.") } } android { compileSdk = Configuration.compileSdk namespace = "com.skydoves.balloon" defaultConfig { minSdk = Configuration.minSdk } resourcePrefix = "balloon" buildFeatures { viewBinding = true } compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = libs.versions.jvmTarget.get() } lint { abortOnError = false } } baselineProfile { baselineProfileOutputDir = "." filter { include("com.skydoves.balloon.**") } } kotlin { compilerOptions { freeCompilerArgs.addAll( "-Xexplicit-api=strict", "-opt-in=com.skydoves.balloon.annotations.InternalBalloonApi", ) } } tasks.withType().configureEach { dokkaSourceSets { named("main") { moduleName.set("balloon") includes.from("README.md") sourceLink { remoteUrl.set(URL("https://github.com/skydoves/balloon")) remoteLineSuffix.set("#L") } } } } tasks.withType(JavaCompile::class.java).configureEach { this.targetCompatibility = libs.versions.jvmTarget.get() this.sourceCompatibility = libs.versions.jvmTarget.get() } dependencies { implementation(libs.androidx.appcompat) implementation(libs.androidx.fragment) implementation(libs.androidx.lifecycle) implementation(libs.androidx.annotation) baselineProfile(project(":benchmark")) dokkaPlugin(libs.android.documentation.plugin) }