You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.2 KiB
77 lines
2.2 KiB
3 years ago
|
plugins {
|
||
|
kotlin("jvm") version "1.5.30" apply false
|
||
|
id("com.github.johnrengelman.shadow") version "7.1.0" apply false
|
||
|
}
|
||
|
|
||
|
subprojects {
|
||
|
group = "org.jetbrains.compose.internal.build-helpers"
|
||
|
version = project.property("deploy.version") as String
|
||
|
|
||
|
repositories {
|
||
|
mavenCentral()
|
||
|
}
|
||
|
|
||
|
plugins.withType(JavaBasePlugin::class.java) {
|
||
|
afterEvaluate {
|
||
|
configureIfExists<JavaPluginExtension> {
|
||
|
if (sourceSets.names.contains(SourceSet.MAIN_SOURCE_SET_NAME)) {
|
||
|
withJavadocJar()
|
||
|
withSourcesJar()
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
plugins.withId("maven-publish") {
|
||
|
configureIfExists<PublishingExtension> {
|
||
|
configurePublishing(project)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
fun PublishingExtension.configurePublishing(project: Project) {
|
||
|
repositories {
|
||
|
configureEach {
|
||
|
val repoName = name
|
||
|
project.tasks.register("publishTo${repoName}") {
|
||
|
group = "publishing"
|
||
|
dependsOn(project.tasks.named("publishAllPublicationsTo${repoName}Repository"))
|
||
|
}
|
||
|
}
|
||
|
maven {
|
||
|
name = "BuildRepo"
|
||
|
url = uri("${rootProject.buildDir}/repo")
|
||
|
}
|
||
|
maven {
|
||
|
name = "ComposeInternalRepo"
|
||
|
url = uri(
|
||
|
System.getenv("COMPOSE_INTERNAL_REPO_URL")
|
||
|
?: "https://maven.pkg.jetbrains.space/public/p/compose/internal"
|
||
|
)
|
||
|
credentials {
|
||
|
username =
|
||
|
System.getenv("COMPOSE_INTERNAL_REPO_USERNAME")
|
||
|
?: System.getenv("COMPOSE_REPO_KEY")
|
||
|
?: ""
|
||
|
password =
|
||
|
System.getenv("COMPOSE_INTERNAL_REPO_KEY")
|
||
|
?: System.getenv("COMPOSE_REPO_KEY")
|
||
|
?: ""
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
publications {
|
||
|
create<MavenPublication>("main") {
|
||
|
groupId = project.group.toString()
|
||
|
artifactId = project.name
|
||
|
version = project.version.toString()
|
||
|
|
||
|
from(project.components["java"])
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
inline fun <reified T> Project.configureIfExists(fn: T.() -> Unit) {
|
||
|
extensions.findByType(T::class.java)?.fn()
|
||
|
}
|