2021-08-02 19:04:41 -04:00
|
|
|
import org.asciidoctor.gradle.jvm.AsciidoctorTask
|
|
|
|
|
|
|
|
plugins {
|
2021-10-19 10:23:42 -04:00
|
|
|
id 'org.asciidoctor.jvm.convert' version '3.3.2'
|
2021-08-02 19:04:41 -04:00
|
|
|
}
|
2017-12-13 10:15:22 -05:00
|
|
|
|
2015-05-19 00:23:35 -04:00
|
|
|
/*
|
|
|
|
* Hibernate, Relational Persistence for Idiomatic Java
|
|
|
|
*
|
|
|
|
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
|
|
|
|
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
|
|
|
|
*/
|
2018-01-10 16:06:58 -05:00
|
|
|
|
|
|
|
|
2023-01-30 11:34:42 -05:00
|
|
|
apply from: rootProject.file( 'gradle/module.gradle' )
|
2022-03-15 13:15:56 -04:00
|
|
|
apply from: rootProject.file( 'gradle/releasable.gradle' )
|
|
|
|
|
2022-03-09 13:28:13 -05:00
|
|
|
apply plugin: 'org.hibernate.orm.build.reports'
|
2016-02-18 04:16:46 -05:00
|
|
|
|
2021-06-28 16:59:35 -04:00
|
|
|
tasks.build.dependsOn 'buildDocs'
|
2013-11-22 15:51:56 -05:00
|
|
|
defaultTasks 'buildDocs'
|
|
|
|
|
2011-03-22 11:39:53 -04:00
|
|
|
dependencies {
|
2016-02-08 10:33:09 -05:00
|
|
|
ext.pressgangVersion = '3.0.0'
|
2013-11-22 15:51:56 -05:00
|
|
|
|
2022-03-09 13:28:13 -05:00
|
|
|
reportAggregation project( ':hibernate-agroal' )
|
|
|
|
reportAggregation project( ':hibernate-c3p0' )
|
|
|
|
reportAggregation project( ':hibernate-core' )
|
|
|
|
reportAggregation project(':hibernate-envers')
|
|
|
|
reportAggregation project(':hibernate-graalvm')
|
|
|
|
reportAggregation project(':hibernate-hikaricp')
|
|
|
|
reportAggregation project(':hibernate-jcache')
|
|
|
|
reportAggregation project(':hibernate-micrometer')
|
|
|
|
reportAggregation project(':hibernate-proxool')
|
|
|
|
reportAggregation project(':hibernate-spatial')
|
|
|
|
reportAggregation project(':hibernate-vibur')
|
|
|
|
reportAggregation project(':hibernate-ant')
|
|
|
|
reportAggregation project(':hibernate-enhance-maven-plugin')
|
|
|
|
reportAggregation project(':hibernate-jpamodelgen')
|
2016-01-13 01:28:20 -05:00
|
|
|
}
|
2013-11-22 15:51:56 -05:00
|
|
|
|
2016-03-22 09:16:21 -04:00
|
|
|
|
2018-04-30 11:38:09 -04:00
|
|
|
if ( project.ormVersion.isSnapshot ) {
|
2018-01-22 12:28:24 -05:00
|
|
|
// only run the ci build tasks for SNAPSHOT versions
|
2023-04-01 10:33:34 -04:00
|
|
|
tasks.register('ciBuild') { dependsOn clean }
|
2022-03-15 13:15:56 -04:00
|
|
|
tasks.release.enabled false
|
2018-01-22 12:28:24 -05:00
|
|
|
}
|
|
|
|
else {
|
2023-01-30 11:34:42 -05:00
|
|
|
tasks.release.dependsOn clean
|
2018-01-22 12:28:24 -05:00
|
|
|
}
|
|
|
|
|
2016-02-11 16:59:13 -05:00
|
|
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
// grouping tasks - declaration, see below for task dependency definitions
|
|
|
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2023-04-01 10:33:34 -04:00
|
|
|
tasks.register('buildDocs') {
|
2016-02-11 16:59:13 -05:00
|
|
|
group 'Documentation'
|
|
|
|
description 'Grouping task for performing all documentation building tasks'
|
|
|
|
}
|
|
|
|
|
2023-04-01 10:33:34 -04:00
|
|
|
tasks.register('buildDocsForPublishing') {
|
2016-02-11 16:59:13 -05:00
|
|
|
group 'Documentation'
|
|
|
|
description 'Grouping task for building all documentation for publishing (release)'
|
2013-11-22 15:51:56 -05:00
|
|
|
}
|
|
|
|
|
2016-02-11 16:59:13 -05:00
|
|
|
|
2021-08-02 19:04:41 -04:00
|
|
|
asciidoctorj {
|
|
|
|
attributes icons: 'font',
|
|
|
|
experimental: true,
|
|
|
|
'source-highlighter': 'prettify',
|
|
|
|
majorMinorVersion: rootProject.ormVersion.family,
|
|
|
|
fullVersion: rootProject.ormVersion.fullName
|
|
|
|
|
|
|
|
options logDocuments: true
|
2011-03-29 16:14:09 -04:00
|
|
|
}
|
|
|
|
|
2015-07-14 15:46:02 -04:00
|
|
|
// Topical Guides ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2011-03-29 16:14:09 -04:00
|
|
|
|
2023-04-01 10:33:34 -04:00
|
|
|
tasks.register('renderTopicalGuides', AsciidoctorTask) { task ->
|
|
|
|
description = 'Renders the Topical Guides in HTML format using Asciidoctor.'
|
2021-09-27 08:09:29 -04:00
|
|
|
tasks.buildDocs.dependsOn task
|
|
|
|
tasks.buildDocsForPublishing.dependsOn task
|
2023-04-01 10:33:34 -04:00
|
|
|
inputs.property "hibernate-version", project.ormVersion
|
2021-08-02 19:04:41 -04:00
|
|
|
|
2023-04-01 10:33:34 -04:00
|
|
|
sourceDir = file('src/main/asciidoc/topical')
|
2021-08-02 19:04:41 -04:00
|
|
|
outputDir = new File("$buildDir/asciidoc/topical/html_single")
|
|
|
|
|
2018-04-16 16:28:08 -04:00
|
|
|
resources {
|
|
|
|
from('src/main/asciidoc/topical/') {
|
|
|
|
include '**/images/**'
|
|
|
|
}
|
|
|
|
}
|
2011-03-29 16:14:09 -04:00
|
|
|
}
|
|
|
|
|
2013-10-14 21:12:47 -04:00
|
|
|
|
2015-07-14 15:46:02 -04:00
|
|
|
// Getting Started Guides (quick starts) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2013-11-22 15:51:56 -05:00
|
|
|
|
2023-04-01 10:33:34 -04:00
|
|
|
tasks.register('renderGettingStartedGuides', AsciidoctorTask) { task ->
|
|
|
|
description = 'Renders the Getting Started Guides (quick starts) in HTML format using Asciidoctor.'
|
2021-09-27 08:09:29 -04:00
|
|
|
tasks.buildDocs.dependsOn task
|
|
|
|
tasks.buildDocsForPublishing.dependsOn task
|
2023-04-01 10:33:34 -04:00
|
|
|
inputs.property "hibernate-version", project.ormVersion
|
2021-08-02 19:04:41 -04:00
|
|
|
|
2023-04-01 10:33:34 -04:00
|
|
|
sourceDir = file('src/main/asciidoc/quickstart/guides')
|
|
|
|
sources {
|
|
|
|
include 'index.adoc'
|
|
|
|
}
|
|
|
|
outputDir = new File("$buildDir/asciidoc/quickstart/html_single")
|
2013-10-31 07:08:36 -04:00
|
|
|
}
|
|
|
|
|
2016-02-11 16:59:13 -05:00
|
|
|
|
2023-04-01 10:33:34 -04:00
|
|
|
tasks.register('buildTutorialZip', Zip) { task ->
|
2016-02-11 16:59:13 -05:00
|
|
|
from 'src/main/asciidoc/quickstart/tutorials'
|
2021-06-28 16:59:35 -04:00
|
|
|
destinationDirectory = tasks.renderGettingStartedGuides.outputDir
|
2022-07-13 05:53:14 -04:00
|
|
|
archiveFileName = 'hibernate-tutorials.zip'
|
2016-02-11 16:59:13 -05:00
|
|
|
expand(
|
|
|
|
version: project.version,
|
|
|
|
slf4j: "1.7.5",
|
2022-08-01 12:59:47 -04:00
|
|
|
junit: testLibs.versions.junit4.get(),
|
|
|
|
h2: dbLibs.versions.h2.get()
|
2016-02-11 16:59:13 -05:00
|
|
|
)
|
2021-09-27 08:09:29 -04:00
|
|
|
tasks.renderGettingStartedGuides.dependsOn task
|
2016-02-11 16:59:13 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2023-02-21 08:36:00 -05:00
|
|
|
// Introduction ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
task renderIntroduction(type: AsciidoctorTask, group: 'Documentation') {task->
|
|
|
|
description = 'Renders the Introduction in HTML format using Asciidoctor.'
|
|
|
|
tasks.buildDocs.dependsOn task
|
|
|
|
tasks.buildDocsForPublishing.dependsOn task
|
|
|
|
|
|
|
|
dependsOn tasks.collectConfigProperties
|
|
|
|
|
|
|
|
sourceDir = file( 'src/main/asciidoc/introduction' )
|
|
|
|
sources {
|
|
|
|
include 'Hibernate_Introduction.adoc'
|
|
|
|
}
|
|
|
|
outputDir = "$buildDir/asciidoc/introduction/html_single"
|
|
|
|
|
|
|
|
attributes linkcss: true,
|
|
|
|
stylesheet: "css/hibernate.css",
|
|
|
|
docinfo: 'private',
|
|
|
|
jpaJavadocUrlPrefix: "https://javaee.github.io/javaee-spec/javadocs/javax/persistence/"
|
|
|
|
|
|
|
|
resources {
|
|
|
|
from('src/main/asciidoc/introduction/') {
|
|
|
|
include 'images/**'
|
|
|
|
}
|
|
|
|
from('src/main/style/asciidoctor') {
|
|
|
|
include 'images/**'
|
|
|
|
}
|
|
|
|
from('src/main/style/asciidoctor') {
|
|
|
|
include 'css/**'
|
|
|
|
}
|
|
|
|
from('src/main/style/asciidoctor') {
|
|
|
|
include 'js/**'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-08-02 09:45:36 -04:00
|
|
|
// User Guide ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2023-04-01 10:33:34 -04:00
|
|
|
tasks.register('renderUserGuide', AsciidoctorTask) { task ->
|
|
|
|
description = 'Renders the User Guides in HTML format using Asciidoctor.'
|
2021-09-27 08:09:29 -04:00
|
|
|
tasks.buildDocs.dependsOn task
|
|
|
|
tasks.buildDocsForPublishing.dependsOn task
|
2023-04-01 10:33:34 -04:00
|
|
|
inputs.property "hibernate-version", project.ormVersion
|
2021-08-02 19:04:41 -04:00
|
|
|
|
2023-01-27 09:01:39 -05:00
|
|
|
dependsOn ':hibernate-core:collectConfigProperties'
|
|
|
|
dependsOn ':hibernate-envers:collectConfigProperties'
|
|
|
|
dependsOn ':hibernate-jcache:collectConfigProperties'
|
2023-01-23 13:54:31 -05:00
|
|
|
|
2016-01-11 10:25:13 -05:00
|
|
|
sourceDir = file( 'src/main/asciidoc/userguide' )
|
2018-06-26 04:49:57 -04:00
|
|
|
sources {
|
|
|
|
include 'Hibernate_User_Guide.adoc'
|
|
|
|
}
|
2022-03-31 12:01:06 -04:00
|
|
|
outputDir = "$buildDir/asciidoc/userguide/html_single"
|
2021-08-02 19:04:41 -04:00
|
|
|
|
|
|
|
attributes linkcss: true,
|
2023-04-01 10:33:34 -04:00
|
|
|
stylesheet: "css/hibernate.css",
|
|
|
|
docinfo: 'private',
|
|
|
|
jpaJavadocUrlPrefix: "https://javaee.github.io/javaee-spec/javadocs/javax/persistence/"
|
2017-09-12 08:40:34 -04:00
|
|
|
|
|
|
|
resources {
|
2023-04-01 10:33:34 -04:00
|
|
|
from('src/main/asciidoc/userguide/') {
|
|
|
|
include 'images/**'
|
|
|
|
}
|
2016-03-02 08:16:13 -05:00
|
|
|
from('src/main/style/asciidoctor') {
|
|
|
|
include 'images/**'
|
|
|
|
}
|
2016-02-29 08:06:03 -05:00
|
|
|
from('src/main/style/asciidoctor') {
|
|
|
|
include 'css/**'
|
|
|
|
}
|
2017-09-12 08:40:34 -04:00
|
|
|
from('src/main/style/asciidoctor') {
|
|
|
|
include 'js/**'
|
|
|
|
}
|
2023-04-01 10:33:34 -04:00
|
|
|
}
|
2016-01-11 10:25:13 -05:00
|
|
|
}
|
|
|
|
|
2016-08-02 09:45:36 -04:00
|
|
|
// Integration Guide ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2023-04-01 10:33:34 -04:00
|
|
|
tasks.register( "renderIntegrationGuide", AsciidoctorTask.class, task-> {
|
|
|
|
group = "Documentation"
|
2016-08-02 09:45:36 -04:00
|
|
|
description = 'Renders the User Guides in HTML format using Asciidoctor.'
|
2021-09-27 08:09:29 -04:00
|
|
|
tasks.buildDocs.dependsOn task
|
|
|
|
tasks.buildDocsForPublishing.dependsOn task
|
2023-04-01 10:33:34 -04:00
|
|
|
inputs.property "hibernate-version", project.ormVersion
|
2021-08-02 19:04:41 -04:00
|
|
|
|
2016-08-02 09:45:36 -04:00
|
|
|
sourceDir = file( 'src/main/asciidoc/integrationguide' )
|
2018-06-26 04:49:57 -04:00
|
|
|
sources {
|
|
|
|
include 'Hibernate_Integration_Guide.adoc'
|
|
|
|
}
|
2021-08-02 19:04:41 -04:00
|
|
|
|
2022-03-31 12:01:06 -04:00
|
|
|
outputDir = project.layout.buildDirectory.dir( 'asciidoc/integrationguide/html_single' )
|
2021-08-02 19:04:41 -04:00
|
|
|
|
|
|
|
attributes linkcss: true,
|
|
|
|
stylesheet: "css/hibernate.css"
|
|
|
|
|
2016-08-02 09:45:36 -04:00
|
|
|
resources {
|
|
|
|
from('src/main/asciidoc/integrationguide/') {
|
|
|
|
include 'images/**'
|
|
|
|
}
|
|
|
|
from('src/main/style/asciidoctor') {
|
|
|
|
include 'images/**'
|
|
|
|
}
|
|
|
|
from('src/main/style/asciidoctor') {
|
|
|
|
include 'css/**'
|
2022-03-08 12:26:55 -05:00
|
|
|
}
|
|
|
|
}
|
2023-04-01 10:33:34 -04:00
|
|
|
} )
|
2022-03-08 12:26:55 -05:00
|
|
|
|
|
|
|
|
|
|
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
// Migration Guide
|
|
|
|
|
2023-04-01 10:33:34 -04:00
|
|
|
tasks.register( "renderMigrationGuide", AsciidoctorTask.class, task-> {
|
|
|
|
group = "Documentation"
|
2022-03-08 12:26:55 -05:00
|
|
|
description = 'Renders the Migration Guide in HTML format using Asciidoctor.'
|
2022-03-31 12:01:06 -04:00
|
|
|
tasks.buildDocs.dependsOn task
|
2022-03-08 12:26:55 -05:00
|
|
|
tasks.buildDocsForPublishing.dependsOn task
|
2023-04-01 10:33:34 -04:00
|
|
|
inputs.property "hibernate-version", project.ormVersion
|
2022-03-08 12:26:55 -05:00
|
|
|
|
|
|
|
sourceDir = rootProject.layout.projectDirectory
|
|
|
|
sources {
|
|
|
|
include 'migration-guide.adoc'
|
|
|
|
}
|
|
|
|
|
|
|
|
outputDir = project.layout.buildDirectory.dir( 'asciidoc/migration-guide' )
|
|
|
|
|
|
|
|
attributes linkcss: true,
|
|
|
|
stylesheet: "css/hibernate.css"
|
|
|
|
|
|
|
|
resources {
|
|
|
|
from('src/main/style/asciidoctor') {
|
|
|
|
include 'images/**'
|
|
|
|
}
|
|
|
|
from('src/main/style/asciidoctor') {
|
|
|
|
include 'css/**'
|
2016-08-02 09:45:36 -04:00
|
|
|
}
|
|
|
|
}
|
2023-04-01 10:33:34 -04:00
|
|
|
} )
|
2016-01-11 10:25:13 -05:00
|
|
|
|
2022-03-31 12:01:06 -04:00
|
|
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
// ORM Reports
|
|
|
|
|
2023-04-01 10:33:34 -04:00
|
|
|
tasks.register('renderOrmReports') { task ->
|
2022-03-31 12:01:06 -04:00
|
|
|
group 'Documentation'
|
|
|
|
description 'Grouping task for rendering all ORM reports'
|
|
|
|
|
|
|
|
dependsOn tasks.generateIncubationReport
|
|
|
|
dependsOn tasks.generateInternalsReport
|
2022-12-22 17:55:02 -05:00
|
|
|
dependsOn tasks.generateDeprecationReport
|
2022-03-31 12:01:06 -04:00
|
|
|
|
|
|
|
tasks.buildDocs.dependsOn task
|
|
|
|
tasks.buildDocsForPublishing.dependsOn task
|
|
|
|
}
|
|
|
|
|
2023-04-01 10:33:34 -04:00
|
|
|
tasks.register('renderLoggingReport', AsciidoctorTask) { task ->
|
2022-03-31 12:01:06 -04:00
|
|
|
group 'Documentation'
|
|
|
|
description = 'Renders the ORM logging report in HTML format using Asciidoctor.'
|
|
|
|
dependsOn tasks.generateLoggingReport
|
|
|
|
tasks.renderOrmReports.dependsOn task
|
2023-04-01 10:33:34 -04:00
|
|
|
inputs.property "version", project.ormVersion
|
2022-03-31 12:01:06 -04:00
|
|
|
|
2023-04-01 10:33:34 -04:00
|
|
|
sourceDir = layout.buildDirectory.dir('orm/reports')
|
2022-03-31 12:01:06 -04:00
|
|
|
sources {
|
|
|
|
include 'logging.adoc'
|
|
|
|
}
|
|
|
|
|
2023-04-01 10:33:34 -04:00
|
|
|
outputDir = project.layout.buildDirectory.dir('asciidoc/logging')
|
2022-03-31 12:01:06 -04:00
|
|
|
|
|
|
|
attributes linkcss: true,
|
|
|
|
stylesheet: "css/hibernate.css"
|
|
|
|
|
|
|
|
resources {
|
|
|
|
from('src/main/style/asciidoctor') {
|
|
|
|
include 'images/**'
|
|
|
|
}
|
|
|
|
from('src/main/style/asciidoctor') {
|
|
|
|
include 'css/**'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-04-27 12:27:26 -04:00
|
|
|
tasks.register('renderDialectReport', AsciidoctorTask) { task ->
|
|
|
|
group 'Documentation'
|
|
|
|
description = 'Renders the ORM Dialect report in HTML format using Asciidoctor.'
|
|
|
|
dependsOn tasks.generateDialectReport
|
|
|
|
tasks.renderOrmReports.dependsOn task
|
|
|
|
inputs.property "version", project.ormVersion
|
|
|
|
|
|
|
|
sourceDir = layout.buildDirectory.dir('orm/reports')
|
|
|
|
sources {
|
|
|
|
include 'dialect.adoc'
|
|
|
|
}
|
|
|
|
|
|
|
|
outputDir = project.layout.buildDirectory.dir('asciidoc/dialect')
|
|
|
|
|
|
|
|
attributes linkcss: true,
|
|
|
|
stylesheet: "css/hibernate.css"
|
|
|
|
|
|
|
|
resources {
|
|
|
|
from('src/main/style/asciidoctor') {
|
|
|
|
include 'images/**'
|
|
|
|
}
|
|
|
|
from('src/main/style/asciidoctor') {
|
|
|
|
include 'css/**'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-03-31 12:01:06 -04:00
|
|
|
|
|
|
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2022-03-11 15:45:43 -05:00
|
|
|
|
2021-08-05 11:04:54 -04:00
|
|
|
tasks.withType(AsciidoctorTask).all {
|
|
|
|
baseDirFollowsSourceDir()
|
|
|
|
outputOptions {
|
|
|
|
separateOutputDirs = false
|
|
|
|
backends 'html5'
|
|
|
|
}
|
|
|
|
}
|