plugins { id 'java-library' id 'org.jetbrains.kotlin.jvm' id 'com.google.devtools.ksp' id 'maven-publish' id 'signing' } java { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 withJavadocJar() withSourcesJar() } javadoc { options.addStringOption("charset", "UTF-8") if (JavaVersion.current().isJava9Compatible()) options.addBooleanOption('html5', true) } kotlin { sourceSets.main { kotlin.srcDir("src/api/kotlin") } } tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { kotlinOptions { jvmTarget = 11 } } dependencies { implementation 'com.google.auto.service:auto-service-annotations:1.0.1' compileOnly 'com.google.devtools.ksp:symbol-processing-api:1.8.20-1.0.10' ksp 'dev.zacsweers.autoservice:auto-service-ksp:1.0.0' } group = rootProject.ext.maven.repository.groupId version = rootProject.ext.maven.repository.apiVersion.name publishing { publications { mavenJava(MavenPublication) { artifactId = 'ksp-xposed' from components.java pom { name = rootProject.ext.maven.repository.name description = rootProject.ext.maven.repository.description url = rootProject.ext.maven.repository.website licenses { license { name = rootProject.ext.maven.repository.licence.name url = rootProject.ext.maven.repository.licence.url } } developers { developer { id = rootProject.ext.maven.developer.id name = rootProject.ext.maven.developer.user email = rootProject.ext.maven.developer.email } } scm { connection = rootProject.ext.maven.configurations.githubConnection developerConnection = rootProject.ext.maven.configurations.githubDeveloperConnection url = rootProject.ext.maven.configurations.githubUrl } } } } repositories { maven { name = rootProject.ext.maven.configurations.ossName url = rootProject.ext.maven.configurations.ossUrl credentials { def configs = getMavenCredentials(projectDir) username = configs.username password = configs.password } } } } signing { sign(publishing.publications.mavenJava) }