plugins { id("com.android.library") id("maven-publish") id("signing") } android { namespace = "io.github.libxposed.service" compileSdk = 33 buildToolsVersion = "33.0.1" defaultConfig { minSdk = 21 targetSdk = 33 } buildFeatures { buildConfig = false resValues = false } buildTypes { release { isMinifyEnabled = true } } compileOptions { isCoreLibraryDesugaringEnabled = true sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } publishing { singleVariant("release") { withSourcesJar() withJavadocJar() } } } dependencies { implementation(project(":interface")) compileOnly("androidx.annotation:annotation:1.5.0") coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.0") } publishing { publications { register("service") { artifactId = "service" group = "io.github.libxposed" version = "100-1.0.0" pom { name.set("service") description.set("Modern Xposed Service Interface") url.set("https://github.com/libxposed/service") licenses { license { name.set("Apache License 2.0") url.set("https://github.com/libxposed/service/blob/master/LICENSE") } } developers { developer { name.set("libxposed") url.set("https://libxposed.github.io") } } scm { connection.set("scm:git:https://github.com/libxposed/service.git") url.set("https://github.com/libxposed/service") } } afterEvaluate { from(components.getByName("release")) } } } repositories { maven { name = "ossrh" url = uri("https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/") credentials(PasswordCredentials::class) } maven { name = "GitHubPackages" url = uri("https://maven.pkg.github.com/libxposed/service") credentials { username = System.getenv("GITHUB_ACTOR") password = System.getenv("GITHUB_TOKEN") } } } } signing { val signingKey = findProperty("signingKey") as String? val signingPassword = findProperty("signingPassword") as String? if (signingKey != null && signingPassword != null) { useInMemoryPgpKeys(signingKey, signingPassword) } sign(publishing.publications) }