diff --git a/.gitignore b/.gitignore index b28d3d6e79..37913175b5 100644 --- a/.gitignore +++ b/.gitignore @@ -40,7 +40,3 @@ ObjectStore # Profiler and heap dumps *.jps *.hprof - -# Maven Enhance Plugin -tooling/hibernate-enhance-maven-plugin/src/main/resources/pom.xml -tooling/hibernate-enhance-maven-plugin/src/main/resources/META-INF/maven/plugin.xml diff --git a/documentation/src/main/docbook/manual/en-US/content/performance.xml b/documentation/src/main/docbook/manual/en-US/content/performance.xml index 1f00be0cb8..a4f770225a 100644 --- a/documentation/src/main/docbook/manual/en-US/content/performance.xml +++ b/documentation/src/main/docbook/manual/en-US/content/performance.xml @@ -1415,7 +1415,7 @@ hibernate.cache.use_structured_entries true the compile task as the source location of entity class files to enhance. apply plugin: 'java' apply plugin: 'maven' -apply plugin: 'enhance' +apply plugin: 'hibernate' buildscript { repositories { mavenCentral() @@ -1426,7 +1426,6 @@ buildscript { } dependencies { compile group: 'org.hibernate.javax.persistence', name: 'hibernate-jpa-[SPEC-VERSION]-api', version: '[IMPL-VERSION]' - compile group: 'org.hibernate', name: 'hibernate-gradle-plugin', version: 'VERSION' } diff --git a/settings.gradle b/settings.gradle index 876b33bf22..d9ec0ac0fc 100644 --- a/settings.gradle +++ b/settings.gradle @@ -26,9 +26,8 @@ project(':metamodel-generator').name = 'hibernate-jpamodelgen' include 'hibernate-gradle-plugin' project(':hibernate-gradle-plugin').projectDir = new File(rootProject.projectDir, "tooling/hibernate-gradle-plugin") -// Temporarily disabled : HHH-9679 -//include 'hibernate-enhance-maven-plugin' -//project(':hibernate-enhance-maven-plugin').projectDir = new File(rootProject.projectDir, "tooling/hibernate-enhance-maven-plugin") +include 'hibernate-enhance-maven-plugin' +project(':hibernate-enhance-maven-plugin').projectDir = new File(rootProject.projectDir, "tooling/hibernate-enhance-maven-plugin") rootProject.children.each { project -> project.buildFileName = "${project.name}.gradle" diff --git a/tooling/hibernate-enhance-maven-plugin/hibernate-enhance-maven-plugin.gradle b/tooling/hibernate-enhance-maven-plugin/hibernate-enhance-maven-plugin.gradle index 6c8b0568d7..8b6c8f88ce 100644 --- a/tooling/hibernate-enhance-maven-plugin/hibernate-enhance-maven-plugin.gradle +++ b/tooling/hibernate-enhance-maven-plugin/hibernate-enhance-maven-plugin.gradle @@ -9,13 +9,10 @@ repositories { mavenCentral() } -processResources.doLast { - project.build.outputDirectory = '${project.build.outputDirectory}' - copy { - from 'src/main/resources' - into processResources.destinationDir - expand ([ version: version, project: project, dir: '${dir}' ]) - } +processResources { + include "**/plugin-help.xml" + into processResources.destinationDir + filter(ReplaceTokens, tokens: ['version' : project.version]) } dependencies { @@ -39,11 +36,10 @@ dependencies { task processPluginXml(type: Copy) { // force out-of-date if version changes inputs.property("version", project.version) - - from "src/main/resources/META-INF/maven/plugin.xml.original" - into "src/main/resources/META-INF/maven" - rename ("plugin.xml.original", "plugin.xml") - filter(ReplaceTokens, tokens: ['generated-dependencies' :\ + + from "src/main/resources/META-INF/maven/plugin.xml" + into "$processResources.destinationDir/META-INF/maven" + filter(ReplaceTokens, tokens: ['version' : project.version, 'generated-dependencies' :\ generateMavenDependency(libraries.jpa)\ + generateMavenDependency(libraries.antlr)\ + generateMavenDependency(libraries.dom4j)\ @@ -58,16 +54,16 @@ task processPluginXml(type: Copy) { // and I'd rather not rely on it yet. def generateMavenDependency(String gradleDependency) { String[] split = gradleDependency.split(":") - return \ - ""\ - + "" + split[0] + ""\ - + "" + split[1] + ""\ - + "jar"\ - + "" + split[2] + ""\ - + "\n" + return "\n"\ + + "\n " + split[0] + ""\ + + "\n " + split[1] + ""\ + + "\n " + split[2] + ""\ + + "\n jar"\ + + "\n" } -task writeNewPom(type:Task, description: 'Writes pom.xml using merged Gradle dependency and MavenPom configuration.') { +// Writes pom.xml using merged Gradle dependency and MavenPom configuration. +processResources.doLast { ext.pomDefinition = pom { configurations { // avoiding test dependencies in generated pom @@ -79,34 +75,27 @@ task writeNewPom(type:Task, description: 'Writes pom.xml using merged Gradle dep groupId project.group packaging 'maven-plugin' name 'Enhance Plugin of the Hibernate project for use with Maven build system.' - build { - plugins { - plugin { - groupId 'org.apache.maven.plugins' - artifactId 'maven-plugin-plugin' - version '3.2' - configuration { - skipErrorNoDescriptorsFound 'true' - } - executions { - execution { - id 'mojo-descriptor' - goals { - goal 'descriptor' - } - } - } - } - } - } properties { 'project.build.sourceEncoding' 'UTF-8' } } } - ext.pomDefinition.writeTo("$projectDir/src/main/resources/pom.xml") + + // HHH-9679 --- build in pom{} conflicts with FactoryBuilderSupport#build so we write that portion of XML by hand + ext.pomDefinition.withXml { + asNode().appendNode('build').appendNode('plugins').appendNode('plugin').with { + appendNode('groupId', 'org.apache.maven.plugins') + appendNode('artifactId', 'maven-plugin-plugin') + appendNode('version', '3.2') + appendNode('configuration').appendNode('skipErrorNoDescriptorsFound', 'true') + appendNode('executions').appendNode('execution').with { + appendNode('id', 'mojo-descriptor') + appendNode('goals').appendNode('goal', 'descriptor') + } + } + } + + ext.pomDefinition.writeTo("$processResources.destinationDir/pom.xml") } -writeNewPom.dependsOn processPluginXml -processResources.dependsOn writeNewPom - +processResources.dependsOn processPluginXml diff --git a/tooling/hibernate-enhance-maven-plugin/src/main/resources/META-INF/maven/org.hibernate.orm.tooling/hibernate-enhance-maven-plugin/plugin-help.xml b/tooling/hibernate-enhance-maven-plugin/src/main/resources/META-INF/maven/org.hibernate.orm.tooling/hibernate-enhance-maven-plugin/plugin-help.xml index d9e84b3cea..e1e88aa90c 100644 --- a/tooling/hibernate-enhance-maven-plugin/src/main/resources/META-INF/maven/org.hibernate.orm.tooling/hibernate-enhance-maven-plugin/plugin-help.xml +++ b/tooling/hibernate-enhance-maven-plugin/src/main/resources/META-INF/maven/org.hibernate.orm.tooling/hibernate-enhance-maven-plugin/plugin-help.xml @@ -7,7 +7,7 @@ org.hibernate.orm.tooling hibernate-enhance-maven-plugin - ${version} + @version@ hibernate-enhance diff --git a/tooling/hibernate-enhance-maven-plugin/src/main/resources/META-INF/maven/org.hibernate.orm.tooling/plugin-help.xml b/tooling/hibernate-enhance-maven-plugin/src/main/resources/META-INF/maven/org.hibernate.orm.tooling/plugin-help.xml index 00fc267a80..3fb9f5f293 100644 --- a/tooling/hibernate-enhance-maven-plugin/src/main/resources/META-INF/maven/org.hibernate.orm.tooling/plugin-help.xml +++ b/tooling/hibernate-enhance-maven-plugin/src/main/resources/META-INF/maven/org.hibernate.orm.tooling/plugin-help.xml @@ -7,7 +7,7 @@ org.hibernate.orm.tooling hibernate-enhance-maven-plugin - ${version} + @version@ hibernate-enhance \ No newline at end of file diff --git a/tooling/hibernate-enhance-maven-plugin/src/main/resources/META-INF/maven/plugin.xml.original b/tooling/hibernate-enhance-maven-plugin/src/main/resources/META-INF/maven/plugin.xml similarity index 99% rename from tooling/hibernate-enhance-maven-plugin/src/main/resources/META-INF/maven/plugin.xml.original rename to tooling/hibernate-enhance-maven-plugin/src/main/resources/META-INF/maven/plugin.xml index 08aea62758..5bbe2fcddf 100644 --- a/tooling/hibernate-enhance-maven-plugin/src/main/resources/META-INF/maven/plugin.xml.original +++ b/tooling/hibernate-enhance-maven-plugin/src/main/resources/META-INF/maven/plugin.xml @@ -7,7 +7,7 @@ org.hibernate.orm.tooling hibernate-enhance-maven-plugin - ${version} + @version@ hibernate-enhance false true