2016-01-25 11:08:54 -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>.
|
|
|
|
*/
|
|
|
|
|
2015-04-09 12:36:04 -04:00
|
|
|
buildscript {
|
|
|
|
repositories {
|
|
|
|
jcenter()
|
2018-05-24 06:55:51 -04:00
|
|
|
mavenCentral()
|
2015-04-09 12:36:04 -04:00
|
|
|
}
|
2020-10-15 18:20:30 -04:00
|
|
|
|
2015-04-09 12:36:04 -04:00
|
|
|
dependencies {
|
|
|
|
classpath 'org.hibernate.build.gradle:version-injection-plugin:1.0.0'
|
2019-10-25 10:59:15 -04:00
|
|
|
classpath 'gradle.plugin.com.github.lburgazzoli:gradle-karaf-plugin:0.5.1'
|
2018-06-25 11:48:18 -04:00
|
|
|
classpath 'org.asciidoctor:asciidoctor-gradle-plugin:1.5.7'
|
2019-11-08 12:05:09 -05:00
|
|
|
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
|
2020-07-17 07:07:29 -04:00
|
|
|
classpath 'de.thetaphi:forbiddenapis:3.0.1'
|
2019-05-21 17:29:57 -04:00
|
|
|
classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.1'
|
2015-04-09 12:36:04 -04:00
|
|
|
}
|
2010-10-08 21:20:10 -04:00
|
|
|
}
|
|
|
|
|
2021-05-14 15:59:59 -04:00
|
|
|
|
2016-09-26 18:33:20 -04:00
|
|
|
plugins {
|
2021-05-14 15:59:59 -04:00
|
|
|
id 'io.github.gradle-nexus.publish-plugin' version '1.1.0'
|
|
|
|
id 'nu.studer.credentials' version '2.1'
|
2021-06-26 09:46:09 -04:00
|
|
|
id 'org.hibernate.orm.database-service' version '1.0.0-SNAPSHOT' apply false
|
2021-05-14 15:59:59 -04:00
|
|
|
|
|
|
|
id 'idea'
|
2021-06-26 09:46:09 -04:00
|
|
|
id 'org.jetbrains.gradle.plugin.idea-ext' version '1.0'
|
2021-05-14 15:59:59 -04:00
|
|
|
id 'eclipse'
|
|
|
|
|
2021-07-19 17:45:50 -04:00
|
|
|
id 'org.hibernate.build.xjc' version '2.2.0' apply false
|
2021-07-19 17:46:50 -04:00
|
|
|
id 'org.hibernate.matrix-test' version '3.1.1' apply false
|
2020-07-17 06:57:35 -04:00
|
|
|
id 'biz.aQute.bnd' version '5.1.1' apply false
|
2016-09-26 18:33:20 -04:00
|
|
|
}
|
|
|
|
|
2015-04-09 12:36:04 -04:00
|
|
|
allprojects {
|
2018-01-10 16:06:58 -05:00
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
2018-08-10 11:00:15 -04:00
|
|
|
//Allow loading additional dependencies from a local path;
|
2018-08-09 07:33:41 -04:00
|
|
|
//useful to load JDBC drivers which can not be distributed in public.
|
|
|
|
if (System.env['ADDITIONAL_REPO'] != null) {
|
|
|
|
flatDir {
|
|
|
|
dirs "${System.env.ADDITIONAL_REPO}"
|
|
|
|
}
|
|
|
|
}
|
2018-01-10 16:06:58 -05:00
|
|
|
}
|
2021-05-14 15:59:59 -04:00
|
|
|
|
|
|
|
apply from: rootProject.file( 'gradle/base-information.gradle' )
|
2021-06-26 09:46:09 -04:00
|
|
|
apply plugin: 'org.hibernate.orm.database-service'
|
2021-05-14 15:59:59 -04:00
|
|
|
|
2018-06-21 11:26:52 -04:00
|
|
|
apply plugin: 'idea'
|
2019-05-21 17:29:57 -04:00
|
|
|
apply plugin: 'eclipse'
|
2018-01-02 14:47:29 -05:00
|
|
|
|
|
|
|
// minimize changes, at least for now (gradle uses 'build' by default)..
|
|
|
|
buildDir = "target"
|
2013-11-21 14:46:03 -05:00
|
|
|
}
|
2012-07-19 09:56:31 -04:00
|
|
|
|
2013-12-02 21:53:19 -05:00
|
|
|
|
2018-01-10 16:06:58 -05:00
|
|
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2018-01-22 12:28:24 -05:00
|
|
|
// Release Task
|
2010-10-08 21:20:10 -04:00
|
|
|
|
2018-01-10 16:06:58 -05:00
|
|
|
task release {
|
2018-01-22 12:28:24 -05:00
|
|
|
description = "The task performed when we are performing a release build. Relies on " +
|
|
|
|
"the fact that subprojects will appropriately define a release task " +
|
|
|
|
"themselves if they have any release-related activities to perform"
|
2018-07-15 09:03:40 -04:00
|
|
|
|
|
|
|
doFirst {
|
2020-11-09 04:13:34 -05:00
|
|
|
def javaVersionsInUse = [gradle.ext.javaVersions.main.compiler, gradle.ext.javaVersions.main.release,
|
|
|
|
gradle.ext.javaVersions.test.compiler, gradle.ext.javaVersions.test.release,
|
|
|
|
gradle.ext.javaVersions.test.launcher].toSet()
|
|
|
|
// Force to release with JDK 8. It used to not work on JDK11 because of the hibernate-orm-modules module,
|
|
|
|
// but this limitation might be resolved now that this module has been deleted?
|
|
|
|
if ( javaVersionsInUse != [JavaLanguageVersion.of( 8 )].toSet() ) {
|
|
|
|
throw new IllegalStateException( "Please use JDK 8 to perform the release. Currently using: ${javaVersionsInUse}" )
|
2018-07-15 09:03:40 -04:00
|
|
|
}
|
|
|
|
}
|
2018-01-10 16:06:58 -05:00
|
|
|
}
|
2017-08-17 07:04:39 -04:00
|
|
|
|
2018-02-01 14:19:08 -05:00
|
|
|
task publish {
|
|
|
|
description = "The task performed when we want to just publish maven artifacts. Relies on " +
|
2020-01-29 07:17:57 -05:00
|
|
|
"the fact that subprojects will appropriately define a release task " +
|
2018-02-01 14:19:08 -05:00
|
|
|
"themselves if they have any release-related activities to perform"
|
|
|
|
}
|
|
|
|
|
2021-05-14 15:59:59 -04:00
|
|
|
ext {
|
|
|
|
// look for command-line overrides of the username/password pairs for publishing
|
|
|
|
if ( project.hasProperty( 'hibernatePublishUsername' ) ) {
|
2021-05-24 16:44:21 -04:00
|
|
|
if ( ! project.hasProperty( 'hibernatePublishPassword' ) ) {
|
|
|
|
throw new GradleException( "Should specify both `hibernatePublishUsername` and `hibernatePublishPassword` as project properties" );
|
|
|
|
}
|
2021-05-14 15:59:59 -04:00
|
|
|
credentials.hibernatePublishUsername = project.property( 'hibernatePublishUsername' )
|
|
|
|
credentials.hibernatePublishPassword = project.property( 'hibernatePublishPassword' )
|
|
|
|
}
|
2021-05-24 16:44:21 -04:00
|
|
|
else if ( System.properties.hibernatePublishUsername != null ) {
|
|
|
|
if ( System.properties.hibernatePublishPassword == null ) {
|
|
|
|
throw new GradleException( "Should specify both `hibernatePublishUsername` and `hibernatePublishPassword` as system properties" );
|
|
|
|
}
|
|
|
|
credentials.hibernatePublishUsername = System.properties.hibernatePublishUsername
|
|
|
|
credentials.hibernatePublishPassword = System.properties.hibernatePublishPassword
|
|
|
|
}
|
2021-05-14 17:47:30 -04:00
|
|
|
}
|
2021-05-14 15:59:59 -04:00
|
|
|
|
2021-05-14 17:47:30 -04:00
|
|
|
nexusPublishing {
|
|
|
|
repositories {
|
|
|
|
sonatype {
|
2021-05-24 16:44:21 -04:00
|
|
|
username = credentials.hibernatePublishUsername
|
|
|
|
password = credentials.hibernatePublishPassword
|
2021-05-14 17:47:30 -04:00
|
|
|
}
|
2021-05-14 15:59:59 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
gradle.taskGraph.addTaskExecutionGraphListener(
|
|
|
|
new TaskExecutionGraphListener() {
|
|
|
|
@Override
|
|
|
|
void graphPopulated(TaskExecutionGraph graph) {
|
2021-05-14 17:47:30 -04:00
|
|
|
String[] tasksToLookFor = [
|
|
|
|
'publish',
|
|
|
|
'publishToSonatype',
|
|
|
|
'publishAllPublicationsToSonatype',
|
|
|
|
'publishPublishedArtifactsPublicationToSonatypeRepository',
|
|
|
|
'publishRelocationArtifactsPublicationToSonatypeRepository',
|
|
|
|
]
|
|
|
|
|
|
|
|
for ( String taskToLookFor : tasksToLookFor ) {
|
|
|
|
if ( graph.hasTask( taskToLookFor ) ) {
|
2021-05-24 16:44:21 -04:00
|
|
|
// trying to publish - make sure the needed credentials are available
|
2021-05-14 17:47:30 -04:00
|
|
|
|
2021-05-24 16:44:21 -04:00
|
|
|
if ( credentials.hibernatePublishUsername == null ) {
|
2021-05-14 17:47:30 -04:00
|
|
|
throw new GradleException( "Publishing credentials not specified" );
|
|
|
|
}
|
2021-05-24 16:44:21 -04:00
|
|
|
if ( credentials.hibernatePublishPassword == null ) {
|
2021-05-14 17:47:30 -04:00
|
|
|
throw new GradleException( "Publishing credentials not specified" );
|
|
|
|
}
|
|
|
|
|
|
|
|
break;
|
2021-05-14 15:59:59 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
)
|
|
|
|
|
2016-03-31 13:04:10 -04:00
|
|
|
|
2018-01-22 12:28:24 -05:00
|
|
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
// CI Build Task
|
|
|
|
|
|
|
|
task ciBuild {
|
|
|
|
description = "The task performed when one of the 'main' jobs are triggered on the " +
|
|
|
|
"CI server. Just as above, relies on the fact that subprojects will " +
|
|
|
|
"appropriately define a release task themselves if they have any tasks " +
|
|
|
|
"which should be performed from these CI jobs"
|
2018-01-19 10:56:35 -05:00
|
|
|
}
|
2017-10-23 06:40:23 -04:00
|
|
|
|
2018-01-22 12:28:24 -05:00
|
|
|
|
2021-05-14 15:59:59 -04:00
|
|
|
|
|
|
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
// Misc...
|
|
|
|
|
2018-06-11 11:40:09 -04:00
|
|
|
wrapper {
|
2019-10-21 12:48:17 -04:00
|
|
|
// To upgrade the version of gradle used in the wrapper, run:
|
|
|
|
// ./gradlew wrapper --gradle-version NEW_VERSION
|
2018-06-11 11:40:09 -04:00
|
|
|
distributionType = Wrapper.DistributionType.ALL
|
2018-01-10 16:06:58 -05:00
|
|
|
}
|
2013-12-02 21:53:19 -05:00
|
|
|
|
|
|
|
|
2019-05-21 17:29:57 -04:00
|
|
|
idea {
|
2018-01-10 16:06:58 -05:00
|
|
|
// project {
|
2020-11-09 04:13:34 -05:00
|
|
|
// jdkName = gradle.ext.baselineJavaVersion
|
|
|
|
// languageLevel = gradle.ext.baselineJavaVersion
|
2018-01-10 16:06:58 -05:00
|
|
|
//
|
|
|
|
// vcs = 'Git'
|
2020-04-01 12:32:00 -04:00
|
|
|
//
|
2019-05-21 17:29:57 -04:00
|
|
|
// settings {
|
|
|
|
// taskTriggers {
|
|
|
|
// afterSync tasks.getByName("projects"), tasks.getByName("tasks")
|
|
|
|
// }
|
|
|
|
// }
|
2018-01-10 16:06:58 -05:00
|
|
|
// }
|
2019-05-21 17:29:57 -04:00
|
|
|
module {
|
|
|
|
name = "hibernate-orm"
|
|
|
|
}
|
|
|
|
}
|
2013-05-16 19:51:53 -04:00
|
|
|
|
2013-11-21 14:46:03 -05:00
|
|
|
|
2015-05-18 11:48:10 -04:00
|
|
|
|