1*af87fb4bSXin Li import com.google.devtools.ksp.configureKtlint 2*af87fb4bSXin Li import com.google.devtools.ksp.configureKtlintApplyToIdea 3*af87fb4bSXin Li 4*af87fb4bSXin Li val sonatypeUserName: String? by project 5*af87fb4bSXin Li val sonatypePassword: String? by project 6*af87fb4bSXin Li 7*af87fb4bSXin Li val kotlinBaseVersion: String? by project 8*af87fb4bSXin Li if (extra.has("kspOnlyVersion") && kotlinBaseVersion != null) { 9*af87fb4bSXin Li val kspOnlyVersion = extra.get("kspOnlyVersion") as String 10*af87fb4bSXin Li extra.set("kspVersion", "$kotlinBaseVersion-$kspOnlyVersion") 11*af87fb4bSXin Li } 12*af87fb4bSXin Li 13*af87fb4bSXin Li if (!extra.has("kspVersion")) { 14*af87fb4bSXin Li extra.set("kspVersion", "2.0.255-SNAPSHOT") 15*af87fb4bSXin Li } 16*af87fb4bSXin Li <lambda>null17*af87fb4bSXin Lirepositories { 18*af87fb4bSXin Li mavenCentral() 19*af87fb4bSXin Li maven("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap/") 20*af87fb4bSXin Li } 21*af87fb4bSXin Li <lambda>null22*af87fb4bSXin Liplugins { 23*af87fb4bSXin Li kotlin("jvm") version "1.8.0" 24*af87fb4bSXin Li id("io.github.gradle-nexus.publish-plugin") version "1.1.0" 25*af87fb4bSXin Li } 26*af87fb4bSXin Li <lambda>null27*af87fb4bSXin LinexusPublishing { 28*af87fb4bSXin Li packageGroup.set("com.google.devtools.ksp") 29*af87fb4bSXin Li repositories { 30*af87fb4bSXin Li sonatype { 31*af87fb4bSXin Li username.set(sonatypeUserName) 32*af87fb4bSXin Li password.set(sonatypePassword) 33*af87fb4bSXin Li } 34*af87fb4bSXin Li } 35*af87fb4bSXin Li } 36*af87fb4bSXin Li 37*af87fb4bSXin Li version = rootProject.extra.get("kspVersion") as String 38*af87fb4bSXin Li 39*af87fb4bSXin Li project.configureKtlintApplyToIdea() <lambda>null40*af87fb4bSXin Lisubprojects { 41*af87fb4bSXin Li group = "com.google.devtools.ksp" 42*af87fb4bSXin Li version = rootProject.extra.get("kspVersion") as String 43*af87fb4bSXin Li this.configureKtlint() 44*af87fb4bSXin Li repositories { 45*af87fb4bSXin Li mavenCentral() 46*af87fb4bSXin Li google() 47*af87fb4bSXin Li maven("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap/") 48*af87fb4bSXin Li maven("https://www.jetbrains.com/intellij-repository/snapshots") 49*af87fb4bSXin Li } 50*af87fb4bSXin Li pluginManager.withPlugin("maven-publish") { 51*af87fb4bSXin Li val publishExtension = extensions.getByType<PublishingExtension>() 52*af87fb4bSXin Li publishExtension.repositories { 53*af87fb4bSXin Li if (extra.has("outRepo")) { 54*af87fb4bSXin Li val outRepo = extra.get("outRepo") as String 55*af87fb4bSXin Li maven { 56*af87fb4bSXin Li url = File(outRepo).toURI() 57*af87fb4bSXin Li } 58*af87fb4bSXin Li } else { 59*af87fb4bSXin Li mavenLocal() 60*af87fb4bSXin Li } 61*af87fb4bSXin Li maven { 62*af87fb4bSXin Li name = "test" 63*af87fb4bSXin Li url = uri("${rootProject.buildDir}/repos/test") 64*af87fb4bSXin Li } 65*af87fb4bSXin Li } 66*af87fb4bSXin Li publishExtension.publications.whenObjectAdded { 67*af87fb4bSXin Li check(this is MavenPublication) { 68*af87fb4bSXin Li "unexpected publication $this" 69*af87fb4bSXin Li } 70*af87fb4bSXin Li val publication = this 71*af87fb4bSXin Li publication.pom { 72*af87fb4bSXin Li url.set("https://goo.gle/ksp") 73*af87fb4bSXin Li licenses { 74*af87fb4bSXin Li license { 75*af87fb4bSXin Li name.set("The Apache License, Version 2.0") 76*af87fb4bSXin Li url.set("http://www.apache.org/licenses/LICENSE-2.0.txt") 77*af87fb4bSXin Li } 78*af87fb4bSXin Li } 79*af87fb4bSXin Li developers { 80*af87fb4bSXin Li developer { 81*af87fb4bSXin Li name.set("KSP Team") 82*af87fb4bSXin Li } 83*af87fb4bSXin Li } 84*af87fb4bSXin Li scm { 85*af87fb4bSXin Li connection.set("scm:git:https://github.com/google/ksp.git") 86*af87fb4bSXin Li developerConnection.set("scm:git:https://github.com/google/ksp.git") 87*af87fb4bSXin Li url.set("https://github.com/google/ksp") 88*af87fb4bSXin Li } 89*af87fb4bSXin Li } 90*af87fb4bSXin Li } 91*af87fb4bSXin Li } 92*af87fb4bSXin Li 93*af87fb4bSXin Li tasks.withType<JavaCompile>().configureEach { 94*af87fb4bSXin Li sourceCompatibility = JavaVersion.VERSION_1_8.toString() 95*af87fb4bSXin Li targetCompatibility = JavaVersion.VERSION_1_8.toString() 96*af87fb4bSXin Li } 97*af87fb4bSXin Li } 98