HHH-14872 - Re-enable hibernate-gradle-plugin
plus additional improvements to Gradle scripts
This commit is contained in:
parent
58d4d8a6e1
commit
5403e95958
|
@ -56,11 +56,6 @@ if ( !project.description ) {
|
|||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Configurations and Dependencies
|
||||
|
||||
|
||||
configurations.all {
|
||||
exclude group: 'xml-apis', module: 'xml-apis'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation libraries.logging
|
||||
|
||||
|
@ -122,6 +117,20 @@ dependencies {
|
|||
}
|
||||
}
|
||||
|
||||
configurations {
|
||||
javadocSources {
|
||||
canBeConsumed = true
|
||||
canBeResolved = false
|
||||
visible = false
|
||||
description = 'Configuration for accessing the sources that should be included in the javadoc for the project'
|
||||
}
|
||||
}
|
||||
|
||||
artifacts {
|
||||
sourceSets.main.allJava.srcDirs.each { srcDir ->
|
||||
javadocSources srcDir
|
||||
}
|
||||
}
|
||||
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Compilation
|
||||
|
@ -462,21 +471,25 @@ task copyResourcesToIntelliJOutFolder(type: Task, dependsOn: project.tasks.proce
|
|||
Afterward, you can run any test from the IDE against that particular DB.
|
||||
*/
|
||||
task setDataBase dependsOn( processTestResources, copyResourcesToIntelliJOutFolder ) {
|
||||
println( 'Setting current database to ' + db )
|
||||
println( "Setting current database to ${db}" )
|
||||
}
|
||||
|
||||
copyResourcesToIntelliJOutFolder.mustRunAfter processTestResources
|
||||
tasks.copyResourcesToIntelliJOutFolder.mustRunAfter processTestResources
|
||||
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Report configs
|
||||
|
||||
checkstyle {
|
||||
sourceSets = [ project.sourceSets.main ]
|
||||
it.sourceSets = [ project.sourceSets.main ]
|
||||
configFile = rootProject.file( 'shared/config/checkstyle/checkstyle.xml' )
|
||||
showViolations = false
|
||||
}
|
||||
|
||||
// exclude generated java sources - by explicitly setting the base source dir
|
||||
checkstyleMain.source = 'src/main/java'
|
||||
tasks.checkstyleMain.source = 'src/main/java'
|
||||
// because cfg package is a mess mainly from annotation stuff
|
||||
tasks.checkstyleMain.exclude '**/org/hibernate/cfg/**'
|
||||
tasks.checkstyleMain.exclude '**/org/hibernate/cfg/*'
|
||||
|
||||
// define a second checkstyle task for checking non-fatal violations
|
||||
task nonFatalCheckstyle(type:Checkstyle) {
|
||||
|
@ -486,10 +499,6 @@ task nonFatalCheckstyle(type:Checkstyle) {
|
|||
configFile = rootProject.file( 'shared/config/checkstyle/checkstyle-non-fatal.xml' )
|
||||
}
|
||||
|
||||
// because cfg package is a mess mainly from annotation stuff
|
||||
checkstyleMain.exclude '**/org/hibernate/cfg/**'
|
||||
checkstyleMain.exclude '**/org/hibernate/cfg/*'
|
||||
|
||||
|
||||
task forbiddenApisSystemOut(type: CheckForbiddenApis, dependsOn: compileJava) {
|
||||
bundledSignatures += 'jdk-system-out'
|
||||
|
@ -510,26 +519,22 @@ task forbiddenApisNonPortable(type: CheckForbiddenApis, dependsOn: compileJava)
|
|||
bundledSignatures += 'jdk-non-portable'
|
||||
}
|
||||
|
||||
task forbiddenApis
|
||||
project.tasks.withType( CheckForbiddenApis ).each { task ->
|
||||
def outputFile = project.file( "${buildDir}/forbidden-apis/${task.name}-output.txt" )
|
||||
|
||||
task.classesDirs = project.sourceSets.main.output.classesDirs
|
||||
task.classpath = project.sourceSets.main.compileClasspath + project.sourceSets.main.runtimeClasspath
|
||||
task.targetCompatibility = project.forbiddenAPITargetJDKCompatibility
|
||||
|
||||
task.outputs.file outputFile
|
||||
|
||||
// This slows down the checks a little, but is necessary to avoid the gradle deamon holding on
|
||||
// to class definitions loaded previously - even possibly in a previous build.
|
||||
task.disableClassloadingCache = true
|
||||
|
||||
tasks.forbiddenApis.finalizedBy task
|
||||
|
||||
task.doLast {
|
||||
outputFile.parentFile.mkdirs()
|
||||
outputFile.createNewFile()
|
||||
task forbiddenApis {
|
||||
description 'Grouping task for all defined forbidden-apis tasks'
|
||||
}
|
||||
|
||||
project.tasks.withType( CheckForbiddenApis ) {
|
||||
outputs.upToDateWhen { true }
|
||||
|
||||
classesDirs = project.sourceSets.main.output
|
||||
classpath = configurations.runtimeClasspath + configurations.compileClasspath
|
||||
targetCompatibility = project.forbiddenAPITargetJDKCompatibility
|
||||
|
||||
// This slows down the checks a little, but is necessary to avoid the gradle daemon holding on
|
||||
// to class definitions loaded previously - even possibly in a previous build.
|
||||
disableClassloadingCache = true
|
||||
|
||||
tasks.forbiddenApis.finalizedBy it
|
||||
}
|
||||
|
||||
project.tasks.check.finalizedBy tasks.forbiddenApis
|
||||
|
|
|
@ -10,20 +10,6 @@ apply plugin : 'java'
|
|||
|
||||
apply from: rootProject.file( 'gradle/base-information.gradle' )
|
||||
|
||||
configurations {
|
||||
javadocSources {
|
||||
canBeConsumed = true
|
||||
canBeResolved = false
|
||||
description = 'Configuration for accessing the sources that should be included in the javadoc for the project'
|
||||
}
|
||||
}
|
||||
|
||||
artifacts {
|
||||
sourceSets.main.allJava.srcDirs.each { srcDir ->
|
||||
javadocSources srcDir
|
||||
}
|
||||
}
|
||||
|
||||
javadoc {
|
||||
exclude( "**/internal/*" )
|
||||
exclude( "**/generated-src/**" )
|
||||
|
|
|
@ -7,3 +7,7 @@ apply plugin: 'eclipse'
|
|||
|
||||
// minimize changes, at least for now (gradle uses 'build' by default)..
|
||||
buildDir = "target"
|
||||
|
||||
configurations.all {
|
||||
exclude group: 'xml-apis', module: 'xml-apis'
|
||||
}
|
|
@ -9,7 +9,7 @@ import groovy.json.JsonSlurper
|
|||
* 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>.
|
||||
*/
|
||||
apply from: rootProject.file( 'gradle/base-information.gradle' )
|
||||
apply from: rootProject.file( 'gradle/module.gradle' )
|
||||
apply from: rootProject.file( 'gradle/libraries.gradle' )
|
||||
|
||||
apply plugin: 'idea'
|
||||
|
|
|
@ -156,11 +156,8 @@ include 'metamodel-generator'
|
|||
project(':metamodel-generator').projectDir = new File(rootProject.projectDir, "tooling/metamodel-generator")
|
||||
project(':metamodel-generator').name = 'hibernate-jpamodelgen'
|
||||
|
||||
//include 'hibernate-gradle-plugin'
|
||||
//project(':hibernate-gradle-plugin').projectDir = new File(rootProject.projectDir, "tooling/hibernate-gradle-plugin")
|
||||
|
||||
//include 'project-template'
|
||||
//project(':project-template').projectDir = new File(rootProject.projectDir, "tooling/project-template")
|
||||
include 'hibernate-gradle-plugin'
|
||||
project(':hibernate-gradle-plugin').projectDir = new File(rootProject.projectDir, "tooling/hibernate-gradle-plugin")
|
||||
|
||||
include 'hibernate-enhance-maven-plugin'
|
||||
project(':hibernate-enhance-maven-plugin').projectDir = new File(rootProject.projectDir, "tooling/hibernate-enhance-maven-plugin")
|
||||
|
|
|
@ -9,12 +9,15 @@ import org.apache.tools.ant.filters.ReplaceTokens
|
|||
|
||||
plugins {
|
||||
id 'java-gradle-plugin'
|
||||
id 'com.gradle.plugin-publish' version '0.16.0'
|
||||
id 'com.gradle.plugin-publish' version '0.20.0'
|
||||
|
||||
id 'com.github.sebersole.testkit-junit5' version '1.2.0'
|
||||
id 'checkstyle'
|
||||
}
|
||||
|
||||
apply from: rootProject.file( 'gradle/java-module.gradle' )
|
||||
apply from: rootProject.file( 'gradle/module.gradle' )
|
||||
apply from: rootProject.file( 'gradle/javadoc.gradle' )
|
||||
apply from: rootProject.file( 'gradle/libraries.gradle' )
|
||||
apply from: rootProject.file( 'gradle/releasable.gradle' )
|
||||
|
||||
description = "Gradle plugin for integrating Hibernate aspects into your build"
|
||||
|
@ -63,6 +66,9 @@ pluginBundle {
|
|||
}
|
||||
}
|
||||
|
||||
tasks.release {
|
||||
dependsOn tasks.publishPlugins
|
||||
}
|
||||
task publish {
|
||||
dependsOn tasks.publishPlugins
|
||||
}
|
||||
|
@ -87,14 +93,12 @@ else {
|
|||
" Using the JDK that runs Gradle for Groovy compilation." )
|
||||
}
|
||||
|
||||
tasks.test {
|
||||
// Needs add-opens because Gradle uses illegal accesses to inject... mocks? Something like that.
|
||||
jvmArgs( ['--add-opens', 'java.base/java.lang=ALL-UNNAMED'] )
|
||||
checkstyle {
|
||||
sourceSets = [ project.sourceSets.main ]
|
||||
configFile = rootProject.file( 'shared/config/checkstyle/checkstyle.xml' )
|
||||
showViolations = false
|
||||
}
|
||||
|
||||
tasks.release {
|
||||
dependsOn tasks.publishPlugins
|
||||
}
|
||||
|
||||
afterEvaluate {
|
||||
if ( project.ormVersion.isSnapshot ) {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
package org.hibernate.orm.tooling.gradle;
|
||||
|
||||
import jakarta.inject.Inject;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import org.gradle.api.Action;
|
||||
import org.gradle.api.Project;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
package org.hibernate.orm.tooling.gradle.enhance;
|
||||
|
||||
import jakarta.inject.Inject;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import org.gradle.api.Project;
|
||||
import org.gradle.api.provider.Property;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
package org.hibernate.orm.tooling.gradle.enhance;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import jakarta.inject.Inject;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import org.gradle.api.DefaultTask;
|
||||
import org.gradle.api.Project;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
package org.hibernate.orm.tooling.gradle.metamodel;
|
||||
|
||||
import java.util.Arrays;
|
||||
import jakarta.inject.Inject;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import org.gradle.api.JavaVersion;
|
||||
import org.gradle.api.Project;
|
||||
|
|
|
@ -14,7 +14,7 @@ import java.net.URLClassLoader;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
import jakarta.inject.Inject;
|
||||
import javax.inject.Inject;
|
||||
import jakarta.persistence.SharedCacheMode;
|
||||
import jakarta.persistence.ValidationMode;
|
||||
import jakarta.persistence.spi.ClassTransformer;
|
||||
|
|
|
@ -102,7 +102,7 @@ public class ObjectFactory {
|
|||
Consumer<Component> componentConsumer) {
|
||||
if ( propertyValueMapping instanceof BasicValue ) {
|
||||
final BasicValue basicValue = (BasicValue) propertyValueMapping;
|
||||
return basicValue.resolve().getDomainJavaDescriptor().getJavaTypeClass();
|
||||
return basicValue.resolve().getDomainJavaType().getJavaTypeClass();
|
||||
}
|
||||
|
||||
if ( propertyValueMapping instanceof Component ) {
|
||||
|
@ -191,7 +191,7 @@ public class ObjectFactory {
|
|||
|
||||
if ( partJavaType instanceof BasicValue ) {
|
||||
final BasicValue basicValue = (BasicValue) partJavaType;
|
||||
return basicValue.resolve().getDomainJavaDescriptor().getJavaTypeClass();
|
||||
return basicValue.resolve().getDomainJavaType().getJavaTypeClass();
|
||||
}
|
||||
|
||||
if ( partJavaType instanceof Component ) {
|
||||
|
|
|
@ -19,6 +19,10 @@ repositories {
|
|||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'jakarta.persistence:jakarta.persistence-api:3.0.0'
|
||||
}
|
||||
|
||||
hibernate {
|
||||
enhancement {
|
||||
lazyInitialization( true )
|
||||
|
|
Loading…
Reference in New Issue