Skip to content

Commit 3e36bc4

Browse files
committed
HHH-19003 - Various build script work
1 parent 88c2312 commit 3e36bc4

File tree

57 files changed

+1752
-1750
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+1752
-1750
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1-
apply from: rootProject.file( 'gradle/java-module.gradle' )
2-
apply plugin: 'org.hibernate.build.version-injection'
3-
1+
plugins {
2+
id "local.java-module"
3+
id "org.hibernate.build.version-injection"
4+
}

build.gradle

+19-16
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ buildscript {
1919

2020

2121
plugins {
22-
id 'org.hibernate.build.xjc-jakarta' version '2.0.3' apply false
22+
id "local.module"
23+
2324
id "org.hibernate.build.version-injection" version "2.0.0" apply false
2425
id 'org.hibernate.matrix-test' version '3.1.1' apply false
2526
id 'org.hibernate.orm.database-service' apply false
@@ -37,25 +38,27 @@ plugins {
3738
id "com.dorongold.task-tree" version "2.1.1"
3839
}
3940

40-
apply from: file( 'gradle/module.gradle' )
41-
4241

4342
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
44-
// Release Task
45-
46-
tasks.register('release') {
47-
description = "The task performed when we are performing a release build. Relies on " +
48-
"the fact that subprojects will appropriately define a release task " +
49-
"themselves if they have any release-related activities to perform"
50-
51-
doFirst {
52-
def javaVersionsInUse = jdkVersions.allVersions
53-
if (javaVersionsInUse != [JavaLanguageVersion.of(17)].toSet()) {
54-
throw new IllegalStateException("Please use JDK 17 to perform the release. Currently using: ${javaVersionsInUse}")
55-
}
56-
}
43+
// Releasing
44+
45+
tasks.register( 'releasePrepare' ) {
46+
group "release-prepare"
47+
description "Scripted release 'Release Prepare' stage. " +
48+
"Includes various checks as to the publish-ability of the project: testing, generation, etc. " +
49+
"Sub-projects register their own `releasePrepare` to hook into this stage."
50+
// See `:release:releasePrepare` which does a lot of heavy lifting here
5751
}
5852

53+
tasks.register( 'releasePerform' ) {
54+
group "release-perform"
55+
description "Scripted release 'Release Perform' stage. " +
56+
"Generally this entails publishing artifacts to various servers. " +
57+
"Sub-projects register their own `releasePerform` to hook into this stage."
58+
// See `:release:releasePerform` which does a lot of heavy lifting here
59+
}
60+
61+
5962
nexusPublishing {
6063
repositories {
6164
sonatype()

documentation/documentation.gradle

+33-40
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
1+
/*
2+
* Hibernate, Relational Persistence for Idiomatic Java
3+
*
4+
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
5+
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
6+
*/
17
import java.util.function.Function
28

39
import org.asciidoctor.gradle.jvm.AsciidoctorTask
410
import org.asciidoctor.gradle.jvm.pdf.AsciidoctorPdfTask
511

612
buildscript {
7-
configurations.all {
13+
configurations.configureEach {
814
resolutionStrategy.dependencySubstitution {
915
substitute module( 'com.burgstaller:okhttp-digest:1.10' ) using module(
1016
'io.github.rburgst:okhttp-digest:1.21'
@@ -14,6 +20,11 @@ buildscript {
1420
}
1521

1622
plugins {
23+
id "local.module"
24+
id "local.javadoc"
25+
26+
id "org.hibernate.orm.build.reports"
27+
1728
id 'org.asciidoctor.jvm.convert' version '4.0.2'
1829
id 'org.asciidoctor.jvm.pdf' version '4.0.2'
1930
id "org.asciidoctor.jvm.gems" version "4.0.2"
@@ -25,19 +36,8 @@ repositories {
2536
ruby.gems()
2637
}
2738

28-
/*
29-
* Hibernate, Relational Persistence for Idiomatic Java
30-
*
31-
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
32-
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
33-
*/
34-
35-
36-
apply from: rootProject.file( 'gradle/module.gradle' )
37-
apply from: rootProject.file( 'gradle/releasable.gradle' )
38-
39-
apply plugin: 'org.hibernate.orm.build.reports'
40-
39+
def hibernateVersion = ormBuildDetails.hibernateVersion
40+
def jpaVersion = ormBuildDetails.jpaVersion
4141

4242
defaultTasks 'buildDocs'
4343

@@ -174,13 +174,9 @@ dependencies {
174174
}
175175

176176

177-
if ( project.ormVersion.isSnapshot ) {
177+
if ( hibernateVersion.isSnapshot ) {
178178
// only run the ci build tasks for SNAPSHOT versions
179179
tasks.register('ciBuild') { dependsOn clean }
180-
tasks.release.enabled false
181-
}
182-
else {
183-
tasks.release.dependsOn clean
184180
}
185181

186182

@@ -229,9 +225,6 @@ def aggregateJavadocsTask = tasks.register( "javadoc", Javadoc ) {
229225
}
230226
}
231227

232-
apply from: rootProject.file( 'gradle/javadoc.gradle' )
233-
234-
235228
asciidoctorj {
236229
requires 'rouge'
237230
modules {
@@ -242,10 +235,10 @@ asciidoctorj {
242235
attributes icons: 'font',
243236
experimental: true,
244237
'source-highlighter': 'rouge',
245-
majorMinorVersion: rootProject.ormVersion.family,
246-
fullVersion: rootProject.ormVersion.fullName,
238+
majorMinorVersion: hibernateVersion.family,
239+
fullVersion: hibernateVersion.fullName,
247240
javaCompatibleVersions: jdks.versions.compatible.get(),
248-
jakartaJpaVersion: rootProject.jakartaJpaVersion,
241+
jakartaJpaVersion: jpaVersion.name,
249242
jdbcVersion: jdks.versions.jdbc.get()
250243

251244
options logDocuments: true
@@ -257,7 +250,7 @@ asciidoctorj {
257250
def renderTopicalGuideHtmlTask = tasks.register( 'renderTopicalGuideHtml', AsciidoctorTask ) { task ->
258251
group = "Documentation"
259252
description = 'Renders the Topical Guides in HTML format using Asciidoctor.'
260-
inputs.property "hibernate-version", project.ormVersion
253+
inputs.property "hibernate-version", hibernateVersion
261254

262255
sourceDir = file( 'src/main/asciidoc/topical' )
263256
outputDir = new File( "$buildDir/asciidoc/topical/html_single" )
@@ -295,7 +288,7 @@ def buildTutorialZipTask = tasks.register( 'buildTutorialZip', Zip ) { task ->
295288
def renderGettingStartedGuideHtmlTask = tasks.register( 'renderGettingStartedGuideHtmlTask', AsciidoctorTask ) { task ->
296289
group = "Documentation"
297290
description = 'Renders the Getting Started Guides (quickstarts) in HTML format using Asciidoctor.'
298-
inputs.property "hibernate-version", project.ormVersion
291+
inputs.property "hibernate-version", hibernateVersion
299292
finalizedBy buildTutorialZipTask
300293

301294
sourceDir = file( 'src/main/asciidoc/quickstart/guides' )
@@ -324,7 +317,7 @@ def renderGettingStartedGuideHtmlTask = tasks.register( 'renderGettingStartedGui
324317
def renderGettingStartedGuidePdfTask = tasks.register( 'renderGettingStartedGuidePdf', AsciidoctorPdfTask ) { task ->
325318
group = "Documentation"
326319
description = 'Renders the Getting Started Guides in PDF format using Asciidoctor.'
327-
inputs.property "hibernate-version", project.ormVersion
320+
inputs.property "hibernate-version", hibernateVersion
328321

329322
baseDir = file( 'src/main/asciidoc/quickstart/guides' )
330323

@@ -348,7 +341,7 @@ def renderGettingStartedGuidesTask = tasks.register( 'renderGettingStartedGuides
348341
def renderIntroductionHtmlTask = tasks.register( 'renderIntroductionHtml', AsciidoctorTask ) { task ->
349342
group = "Documentation"
350343
description = 'Renders the Introduction in HTML format using Asciidoctor.'
351-
inputs.property "hibernate-version", project.ormVersion
344+
inputs.property "hibernate-version", hibernateVersion
352345

353346
sourceDir = file( 'src/main/asciidoc/introduction' )
354347
sources 'Hibernate_Introduction.adoc'
@@ -379,7 +372,7 @@ def renderIntroductionHtmlTask = tasks.register( 'renderIntroductionHtml', Ascii
379372
def renderIntroductionPdfTask = tasks.register( 'renderIntroductionPdf', AsciidoctorPdfTask ) { task ->
380373
group = "Documentation"
381374
description = 'Renders the Introduction in PDF format using Asciidoctor.'
382-
inputs.property "hibernate-version", project.ormVersion
375+
inputs.property "hibernate-version", hibernateVersion
383376

384377
baseDir = file( 'src/main/asciidoc/introduction' )
385378

@@ -407,7 +400,7 @@ def renderQueryLanguageGuideHtmlTask = tasks.register( 'renderQueryLanguageGuide
407400
task.group = "Documentation"
408401
task.description = 'Renders the Query Language document in HTML format using Asciidoctor.'
409402

410-
task.inputs.property "hibernate-version", project.ormVersion
403+
task.inputs.property "hibernate-version", hibernateVersion
411404

412405
task.sourceDir = file( 'src/main/asciidoc/querylanguage' )
413406
task.sources 'Hibernate_Query_Language.adoc'
@@ -439,7 +432,7 @@ def renderQueryLanguageGuidePdfTask = tasks.register( 'renderQueryLanguageGuideP
439432
group = "Documentation"
440433
description = 'Renders the Query Language document in PDF format using Asciidoctor.'
441434

442-
inputs.property "hibernate-version", project.ormVersion
435+
inputs.property "hibernate-version", hibernateVersion
443436

444437
sourceDir = file( 'src/main/asciidoc/querylanguage' )
445438
baseDir = file( 'src/main/asciidoc/querylanguage' )
@@ -455,7 +448,7 @@ def renderRepositoriesHtmlTask = tasks.register( 'renderRepositoriesHtml', Ascii
455448
task.group = "Documentation"
456449
task.description = 'Renders the Hibernate Data Repositories document in HTML format using Asciidoctor.'
457450

458-
task.inputs.property "hibernate-version", project.ormVersion
451+
task.inputs.property "hibernate-version", hibernateVersion
459452

460453
task.sourceDir = file( 'src/main/asciidoc/repositories' )
461454
task.sources 'Hibernate_Data_Repositories.adoc'
@@ -487,7 +480,7 @@ def renderRepositoriesPdfTask = tasks.register( 'renderRepositoriesPdf', Asciido
487480
group = "Documentation"
488481
description = 'Renders the Hibernate Data Repositories document in PDF format using Asciidoctor.'
489482

490-
inputs.property "hibernate-version", project.ormVersion
483+
inputs.property "hibernate-version", hibernateVersion
491484

492485
sourceDir = file( 'src/main/asciidoc/repositories' )
493486
baseDir = file( 'src/main/asciidoc/repositories' )
@@ -667,7 +660,7 @@ def generateSettingsDocTask = tasks.named( "generateSettingsDoc" ) {
667660
def renderUserGuideHtmlTask = tasks.register( 'renderUserGuideHtml', AsciidoctorTask ) { task ->
668661
group = "Documentation"
669662
description = 'Renders the User Guides in HTML format using Asciidoctor.'
670-
inputs.property "hibernate-version", project.ormVersion
663+
inputs.property "hibernate-version", hibernateVersion
671664
inputs.file( generateSettingsDocTask.get().outputFile )
672665

673666
dependsOn generateSettingsDocTask, generateDialectTableReport
@@ -712,7 +705,7 @@ def renderUserGuidesTask = tasks.register( 'renderUserGuides' ) { task ->
712705
def renderIntegrationGuideHtmlTask = tasks.register( "renderIntegrationGuideHtml", AsciidoctorTask ) { task->
713706
group = "Documentation"
714707
description = 'Renders the User Guides in HTML format using Asciidoctor.'
715-
inputs.property "hibernate-version", project.ormVersion
708+
inputs.property "hibernate-version", hibernateVersion
716709

717710
sourceDir = file( 'src/main/asciidoc/integrationguide' )
718711
sources {
@@ -755,7 +748,7 @@ def copyMigrationGuideTask = tasks.register( "copyMigrationGuide", Copy ) {task
755748
group = "Documentation"
756749
description = "Copies migration-guide.adoc in preparation for rendering."
757750

758-
inputs.property "hibernate-version", project.ormVersion
751+
inputs.property "hibernate-version", hibernateVersion
759752

760753
from rootProject.layout.projectDirectory.file( "migration-guide.adoc" )
761754
into migrationGuideSourceStagingDir
@@ -766,7 +759,7 @@ def renderMigrationGuideTask = tasks.register( "renderMigrationGuide", Asciidoct
766759
description = "Renders the Migration Guide in HTML format using Asciidoctor."
767760

768761
dependsOn copyMigrationGuideTask
769-
inputs.property "hibernate-version", project.ormVersion
762+
inputs.property "hibernate-version", hibernateVersion
770763

771764
sourceDir = migrationGuideSourceStagingDir
772765

@@ -794,7 +787,7 @@ def renderLoggingReportTask = tasks.register( 'renderLoggingReport', Asciidoctor
794787
task.description = 'Renders the logging report (generated LoggingReportTask) by in HTML format using Asciidoctor.'
795788
task.dependsOn "generateLoggingReport"
796789

797-
task.inputs.property "version", project.ormVersion
790+
task.inputs.property "version", hibernateVersion
798791

799792
task.sourceDir = layout.buildDirectory.dir( 'orm/generated/logging' )
800793
task.sources 'logging.adoc'
@@ -820,7 +813,7 @@ def renderDialectReportTask = tasks.register( 'renderDialectReport', Asciidoctor
820813
task.dependsOn "generateDialectReport"
821814
task.dependsOn "generateDialectTableReport"
822815

823-
task.inputs.property "version", project.ormVersion
816+
task.inputs.property "version", hibernateVersion
824817

825818
task.sourceDir = layout.buildDirectory.dir( 'orm/generated/dialect' )
826819
task.sources 'dialect.adoc'

gradle.properties

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
db=h2
2+
13
# Keep all these properties in sync unless you know what you are doing!
24
# We set '-Dlog4j2.disableJmx=true' to prevent classloader leaks triggered by the logger.
35
# (Some of these settings need to be repeated in the test.jvmArgs blocks of each module)

gradle/base-information.gradle

-26
This file was deleted.

0 commit comments

Comments
 (0)