2018-01-10 16:06:58 -05: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
|
|
|
|
*/
|
|
|
|
|
|
|
|
apply plugin: 'base'
|
|
|
|
|
2020-04-15 08:20:29 -04:00
|
|
|
File versionFile = file( "${rootProject.projectDir}/gradle/version.properties" )
|
|
|
|
|
|
|
|
if ( project.hasProperty( 'releaseVersion' ) ) {
|
|
|
|
if ( !project.hasProperty( 'developmentVersion' ) ) {
|
|
|
|
throw new GradleException(
|
|
|
|
"When the releaseVersion parameter is specified, the parameter developmentVersion is required as well."
|
|
|
|
)
|
|
|
|
}
|
|
|
|
versionFile.text = "hibernateVersion=${project.property( 'releaseVersion' )}"
|
|
|
|
}
|
|
|
|
|
2018-01-10 16:06:58 -05:00
|
|
|
ext {
|
2020-04-15 08:20:29 -04:00
|
|
|
ormVersionFile = versionFile
|
|
|
|
ormVersion = HibernateVersion.fromFile( versionFile, project )
|
2018-01-10 16:06:58 -05:00
|
|
|
baselineJavaVersion = '1.8'
|
2018-04-11 14:18:19 -04:00
|
|
|
jpaVersion = new JpaVersion('2.2')
|
2018-01-10 16:06:58 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
group = 'org.hibernate'
|
2018-04-30 11:38:09 -04:00
|
|
|
version = project.ormVersion.fullName
|
2018-04-11 14:18:19 -04:00
|
|
|
|
|
|
|
class JpaVersion {
|
|
|
|
/** The *normal* name (1.0, 2.0, ..) */
|
|
|
|
final String name;
|
|
|
|
|
|
|
|
final String osgiName
|
|
|
|
|
|
|
|
JpaVersion(String version){
|
|
|
|
this.name = version
|
|
|
|
this.osgiName = version + ".0"
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
String toString() {
|
|
|
|
return name
|
|
|
|
}
|
|
|
|
}
|
2018-04-30 11:38:09 -04:00
|
|
|
|
|
|
|
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
|
|
|
|
}
|
|
|
|
|
2020-04-15 08:20:29 -04:00
|
|
|
static HibernateVersion fromFile(File file, Project project){
|
|
|
|
def fullName = readVersionProperties(file)
|
|
|
|
return new HibernateVersion(fullName, project)
|
|
|
|
}
|
|
|
|
|
|
|
|
private static String readVersionProperties(File file) {
|
|
|
|
if ( !file.exists() ) {
|
|
|
|
throw new GradleException( "Version file $file.canonicalPath does not exists" )
|
|
|
|
}
|
|
|
|
Properties versionProperties = new Properties()
|
|
|
|
file.withInputStream {
|
|
|
|
stream -> versionProperties.load( stream )
|
|
|
|
}
|
|
|
|
return versionProperties.hibernateVersion
|
|
|
|
}
|
|
|
|
|
2018-04-30 11:38:09 -04:00
|
|
|
@Override
|
|
|
|
String toString() {
|
|
|
|
return this.fullName
|
|
|
|
}
|
2018-07-05 08:28:19 -04:00
|
|
|
}
|