-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle.kts
132 lines (112 loc) · 5.03 KB
/
build.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
import com.vanniktech.maven.publish.SonatypeHost
plugins {
java
`version-catalog`
// `maven-publish`
signing
id("com.vanniktech.maven.publish") version "0.30.0"
}
group = "io.github.alexritian"
version = "0.0.4-SNAPSHOT"
repositories {
// Use Maven Central for resolving dependencies.
mavenCentral()
}
catalog {
versionCatalog {
// Define plugin versions
version("publish", "0.30.0")
version("flyway", "10.12.0")
version("gradle-jooq-plugin", "9.0")
// Define library versions
version("junit-jupiter", "5.11.3")
version("junit-platform-launcher", "1.11.3")
version("jooq", "3.19.15")
version("testcontainers", "1.20.3")
version("spring-boot", "3.3.5")
version("postgresql", "42.7.4")
version("lombok", "1.18.34")
// Define plugins
plugin("publish", "com.vanniktech.maven.publish").versionRef("publish")
plugin("flyway", "org.flywaydb.flyway").versionRef("flyway")
plugin("gradle-jooq-plugin", "nu.studer.jooq").versionRef("gradle-jooq-plugin")
plugin("spring-boot", "org.springframework.boot").versionRef("spring-boot")
// Define libraries
library("junit-jupiter", "org.junit.jupiter", "junit-jupiter").versionRef("junit-jupiter")
library("junit-platform-launcher", "org.junit.platform", "junit-platform-launcher").versionRef("junit-platform-launcher")
library("lombok", "org.projectlombok", "lombok").versionRef("lombok")
// Spring Boot libraries
library("spring-boot-starter", "org.springframework.boot", "spring-boot-starter").versionRef("spring-boot")
library("spring-boot-starter-test", "org.springframework.boot", "spring-boot-starter-test").versionRef("spring-boot")
library("spring-boot-starter-web", "org.springframework.boot", "spring-boot-starter-web").versionRef("spring-boot")
library("spring-boot-starter-jooq", "org.springframework.boot", "spring-boot-starter-jooq").versionRef("spring-boot")
library("spring-boot-devtools", "org.springframework.boot", "spring-boot-devtools").versionRef("spring-boot")
library("spring-boot-testcontainers", "org.springframework.boot", "spring-boot-testcontainers").versionRef("spring-boot")
// Flyway libraries
library("flyway-core", "org.flywaydb", "flyway-core").versionRef("flyway")
library("flyway-database-postgresql", "org.flywaydb", "flyway-database-postgresql").versionRef("flyway")
// JOOQ libraries
library("jooq", "org.jooq", "jooq").versionRef("jooq")
library("jooq-codegen", "org.jooq", "jooq-codegen").versionRef("jooq")
// Database library
library("postgresql", "org.postgresql", "postgresql").versionRef("postgresql")
// Testcontainers libraries
library("testcontainers-postgresql", "org.testcontainers", "postgresql").versionRef("testcontainers")
library("testcontainers-junit-jupiter", "org.testcontainers", "junit-jupiter").versionRef("testcontainers")
// bundles
bundle(
"spring-boot-starter-web-pg-jooq", listOf(
"spring-boot-starter",
"spring-boot-starter-test",
"spring-boot-starter-web",
"spring-boot-starter-jooq",
"postgresql",
)
)
bundle("jooq-all", listOf("jooq", "jooq-codegen"))
bundle("testcontainers-pg", listOf("testcontainers-postgresql", "testcontainers-junit-jupiter"))
bundle("flyway-pg", listOf("flyway-core", "flyway-database-postgresql"))
}
}
publishing {
publications {
create<MavenPublication>("catalog") {
from(components["versionCatalog"])
}
}
repositories {
maven {
name = "githubPackages"
url = uri("https://maven.pkg.github.com/AlexRITIAN/catalog")
credentials(PasswordCredentials::class)
}
}
}
mavenPublishing {
publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL)
signAllPublications()
coordinates(project.group.toString(), project.name, project.version.toString())
pom {
name.set("${project.group}:${project.name}")
description.set("This project provides runtime support libraries required by Codegen-gradle-plugin")
url.set("https://github.com/AlexRITIAN/codegn-gradle-plugin-runtime")
licenses {
license {
name.set("The Apache License, Version 2.0")
url.set("http://www.apache.org/licenses/LICENSE-2.0.txt")
}
}
developers {
developer {
id.set("AlexRITIAN")
name.set("Too_Young")
email.set("[email protected]")
}
}
scm {
url.set("https://github.com/AlexRITIAN/codegn-gradle-plugin-runtime")
connection.set("scm:git:git://github.com/AlexRITIAN/codegn-gradle-plugin-runtime")
developerConnection.set("scm:git:ssh://[email protected]:AlexRITIAN/codegn-gradle-plugin-runtime.git")
}
}
}