HHH-12474 - Make sure the JPA version is defined by a single property across build files
added HibernateVersion following pattern of JpaVersion
This commit is contained in:
parent
7938918518
commit
82f2aa0d5d
|
@ -68,7 +68,7 @@ dependencies {
|
|||
}
|
||||
|
||||
|
||||
if ( project.isSnapshot ) {
|
||||
if ( project.ormVersion.isSnapshot ) {
|
||||
// only run the ci build tasks for SNAPSHOT versions
|
||||
task ciBuild( dependsOn: [clean, test] )
|
||||
}
|
||||
|
@ -161,7 +161,11 @@ task renderTopicalGuides(type: AsciidoctorTask, group: 'Documentation') {
|
|||
backends "html5"
|
||||
separateOutputDirs false
|
||||
options logDocuments: true
|
||||
attributes icons: 'font', experimental: true, 'source-highlighter': 'prettify', majorMinorVersion: rootProject.hibernateMajorMinorVersion, fullVersion: rootProject.hibernateVersion
|
||||
attributes icons: 'font',
|
||||
experimental: true,
|
||||
'source-highlighter': 'prettify',
|
||||
majorMinorVersion: rootProject.ormVersion.family,
|
||||
fullVersion: rootProject.ormVersion.fullName
|
||||
resources {
|
||||
from('src/main/asciidoc/topical/') {
|
||||
include '**/images/**'
|
||||
|
@ -231,8 +235,8 @@ task renderUserGuide(type: AsciidoctorTask, group: 'Documentation') {
|
|||
'source-highlighter': 'prettify',
|
||||
linkcss: true,
|
||||
stylesheet: "css/hibernate.css",
|
||||
majorMinorVersion: rootProject.hibernateMajorMinorVersion,
|
||||
fullVersion: rootProject.hibernateVersion,
|
||||
majorMinorVersion: rootProject.ormVersion.family,
|
||||
fullVersion: rootProject.ormVersion.fullName,
|
||||
docinfo: true
|
||||
|
||||
resources {
|
||||
|
@ -260,7 +264,12 @@ task renderIntegrationGuide(type: AsciidoctorTask, group: 'Documentation') {
|
|||
backends "html5"
|
||||
separateOutputDirs false
|
||||
options logDocuments: true
|
||||
attributes icons: 'font', experimental: true, 'source-highlighter': 'prettify', linkcss: true, stylesheet: "css/hibernate.css", majorMinorVersion: rootProject.hibernateMajorMinorVersion
|
||||
attributes icons: 'font',
|
||||
experimental: true,
|
||||
'source-highlighter': 'prettify',
|
||||
linkcss: true,
|
||||
stylesheet: "css/hibernate.css",
|
||||
majorMinorVersion: rootProject.ormVersion.family
|
||||
resources {
|
||||
from('src/main/asciidoc/integrationguide/') {
|
||||
include 'images/**'
|
||||
|
|
|
@ -8,19 +8,13 @@
|
|||
apply plugin: 'base'
|
||||
|
||||
ext {
|
||||
hibernateVersion = '5.3.0-SNAPSHOT'
|
||||
ormVersion = new HibernateVersion( '5.3.0-SNAPSHOT', project )
|
||||
baselineJavaVersion = '1.8'
|
||||
jpaVersion = new JpaVersion('2.2')
|
||||
|
||||
final String[] hibernateVersionComponents = project.hibernateVersion.split( '\\.' )
|
||||
hibernateMajorMinorVersion = hibernateVersionComponents[0] + '.' + hibernateVersionComponents[1]
|
||||
hibernateMajorVersion = hibernateVersionComponents[0]
|
||||
|
||||
isSnapshot = project.hibernateVersion.endsWith( "-SNAPSHOT" )
|
||||
}
|
||||
|
||||
group = 'org.hibernate'
|
||||
version = project.hibernateVersion
|
||||
version = project.ormVersion.fullName
|
||||
|
||||
class JpaVersion {
|
||||
/** The *normal* name (1.0, 2.0, ..) */
|
||||
|
@ -38,3 +32,30 @@ class JpaVersion {
|
|||
return name
|
||||
}
|
||||
}
|
||||
|
||||
class HibernateVersion {
|
||||
final String fullName
|
||||
final String majorVersion
|
||||
final String family
|
||||
|
||||
final String osgiVersion
|
||||
|
||||
final boolean isSnapshot
|
||||
|
||||
HibernateVersion(String fullName, Project project) {
|
||||
this.fullName = fullName
|
||||
|
||||
final String[] hibernateVersionComponents = fullName.split( '\\.' )
|
||||
this.majorVersion = hibernateVersionComponents[0]
|
||||
this.family = hibernateVersionComponents[0] + '.' + hibernateVersionComponents[1]
|
||||
|
||||
this.isSnapshot = fullName.endsWith( '-SNAPSHOT' )
|
||||
|
||||
this.osgiVersion = isSnapshot ? family + '.' + hibernateVersionComponents[2] + '.SNAPSHOT' : fullName
|
||||
}
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
return this.fullName
|
||||
}
|
||||
}
|
|
@ -37,7 +37,7 @@ jar {
|
|||
symbolicName project.java9ModuleName
|
||||
vendor 'Hibernate.org'
|
||||
description project.description
|
||||
docURL "http://www.hibernate.org/orm/${project.hibernateMajorMinorVersion}"
|
||||
docURL "http://www.hibernate.org/orm/${project.ormVersion.family}"
|
||||
|
||||
instruction 'Import-Package',
|
||||
// Temporarily support JTA 1.1 -- Karaf and other frameworks still
|
||||
|
@ -58,7 +58,7 @@ jar {
|
|||
instruction 'Implementation-Vendor-Id', 'org.hibernate'
|
||||
instruction 'Implementation-Url', 'http://hibernate.org/orm'
|
||||
|
||||
instruction 'Hibernate-VersionFamily', project.hibernateMajorMinorVersion
|
||||
instruction 'Hibernate-VersionFamily', project.ormVersion.family
|
||||
instruction 'Hibernate-JpaVersion', project.jpaVersion.name
|
||||
}
|
||||
}
|
||||
|
|
|
@ -54,7 +54,7 @@ bintray {
|
|||
}
|
||||
attributes = [
|
||||
'jpa': project.jpaVersion,
|
||||
'family': project.hibernateMajorMinorVersion
|
||||
'family': project.ormVersion.family
|
||||
]
|
||||
mavenCentralSync {
|
||||
sync = true
|
||||
|
|
|
@ -216,7 +216,7 @@ processTestResources {
|
|||
include 'arquillian.xml'
|
||||
include 'org/hibernate/test/wf/ddl/manifest.mf'
|
||||
expand wildFlyInstallDir: project( ':hibernate-orm-modules' ).wildFlyInstallDir,
|
||||
hibernateMajorMinorVersion: "${project.hibernateMajorMinorVersion}",
|
||||
hibernateMajorMinorVersion: "${project.ormVersion.family}",
|
||||
arquillianDeploymentExportDir: "${rootProject.buildDir.absolutePath}/arquillian-deployments"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -68,11 +68,11 @@ featurepack {
|
|||
configurationName 'featurePack'
|
||||
// Variables to be replaced in the template. N.B. not all variables need to be replaced!
|
||||
// Exact ORM version, e.g. "5.3.0.Final"
|
||||
variables['slot'] = rootProject.hibernateVersion
|
||||
variables['slot'] = rootProject.ormVersion.fullName
|
||||
// Just the minor ORM version, e.g. "5.3"; Is used as an alias for the exact version
|
||||
variables['minorSlot'] = rootProject.hibernateMajorMinorVersion
|
||||
variables['minorSlot'] = rootProject.ormVersion.family
|
||||
variables['bytebuddySlot'] = bytebuddyVersion
|
||||
variables['infinispan2lcSlot'] = 'for-orm-' + rootProject.hibernateMajorMinorVersion
|
||||
variables['infinispan2lcSlot'] = 'for-orm-' + rootProject.ormVersion.family
|
||||
//Dependency on another Feature Pack:
|
||||
dependency "org.wildfly:wildfly-feature-pack:${project.wildflyVersion}" // It will assume it is "zip" by default
|
||||
//Ensure we declare all source repositories explicitly
|
||||
|
@ -102,7 +102,7 @@ provision {
|
|||
version = '5.0.2.Final'
|
||||
}*/
|
||||
variables['wildfly.version'] = project.wildflyVersion
|
||||
variables['hibernate-orm.version'] = rootProject.hibernateVersion
|
||||
variables['hibernate-orm.version'] = rootProject.ormVersion.fullName
|
||||
//Ensure we declare all source repositories explicitly
|
||||
autoAddRepositories = false
|
||||
}
|
||||
|
|
|
@ -65,13 +65,13 @@ task assembleDocumentation(type: Task, dependsOn: [rootProject.project( 'documen
|
|||
task uploadDocumentation(type:Exec, dependsOn: assembleDocumentation) {
|
||||
description = "Uploads documentation to the JBoss doc server"
|
||||
|
||||
final String url = "filemgmt.jboss.org:/docs_htdocs/hibernate/orm/${rootProject.hibernateMajorMinorVersion}";
|
||||
final String url = "filemgmt.jboss.org:/docs_htdocs/hibernate/orm/${rootProject.ormVersion.family}";
|
||||
|
||||
executable 'rsync'
|
||||
args '-avz', '--links', '--protocol=28', "${documentationDir.absolutePath}/", url
|
||||
|
||||
doFirst {
|
||||
if ( version.endsWith( "SNAPSHOT" ) ) {
|
||||
if ( rootProject.ormVersion.isSnapshot ) {
|
||||
logger.error( "Cannot perform upload of SNAPSHOT documentation" );
|
||||
throw new RuntimeException( "Cannot perform upload of SNAPSHOT documentation" );
|
||||
}
|
||||
|
@ -214,7 +214,7 @@ task uploadBundlesSourceForge(type: Exec, dependsOn: buildBundles) {
|
|||
args '-vr', '-e ssh', "${project.buildDir}/distributions/", url
|
||||
|
||||
doFirst {
|
||||
if ( version.endsWith( "SNAPSHOT" ) ) {
|
||||
if ( rootProject.ormVersion.isSnapshot ) {
|
||||
logger.error( "Cannot perform upload of SNAPSHOT bundles to SourceForge" );
|
||||
throw new RuntimeException( "Cannot perform upload of SNAPSHOT bundles to SourceForge" )
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue