build: generate bom and catalog
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/push/jfmod Pipeline was successful Details

This commit is contained in:
Johannes Frohnmeyer 2024-03-08 18:13:37 +01:00
parent c09f5dda62
commit 45cbc38d68
Signed by: Johannes
GPG Key ID: E76429612C2929F4
4 changed files with 81 additions and 3 deletions

View File

@ -0,0 +1,31 @@
plugins {
`java-platform`
id("jf.maven-publish")
}
publishing {
publications {
register("mavenJava", MavenPublication::class) {
from(components["javaPlatform"])
}
}
}
tasks.withType(GenerateModuleMetadata::class) {
enabled = true
}
dependencies {
constraints {
for (proj in rootProject.allprojects) {
if (proj == project) {
continue
}
if (proj.name == "libjf-catalog") {
continue
}
api(project(proj.path))
}
}
}

View File

@ -0,0 +1,47 @@
plugins {
`version-catalog`
id("jf.maven-publish")
}
publishing {
publications {
register("mavenJava", MavenPublication::class) {
from(components["versionCatalog"])
}
}
}
tasks.withType(GenerateModuleMetadata::class) {
enabled = true
}
tasks.register("configureCatalog") {
doFirst {
doConfigureCatalog()
}
}
tasks.named("generateCatalogAsToml") {
dependsOn("configureCatalog")
}
fun doConfigureCatalog() {
for (proj in rootProject.allprojects) {
if (proj == project) {
continue
}
var catalogName = proj.name
catalogName = when (catalogName) {
"libjf-base" -> "base"
"libjf-bom" -> "bom"
"libjf" -> "libjf"
else -> catalogName.substring("libjf-".length)
}
catalog {
versionCatalog {
library(catalogName, "$group:${proj.name}:${proj.version}")
}
}
}
}

View File

@ -7,9 +7,6 @@ plugins {
id("jf.codegen")
}
group = rootProject.group
version = rootProject.version
repositories {
mavenCentral()
maven("https://maven.frohnmeyer-wds.de/artifacts")

View File

@ -31,3 +31,6 @@ include("libjf-unsafe-v0")
include("libjf-mainhttp-v0")
include("libjf-web-v1")
include("libjf-bom")
include("libjf-catalog")