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
|
|
|
|
*/
|
|
|
|
|
2022-03-15 13:15:56 -04:00
|
|
|
apply from: rootProject.file( 'gradle/releasable.gradle' )
|
2018-01-10 16:06:58 -05:00
|
|
|
apply from: rootProject.file( 'gradle/java-module.gradle' )
|
2018-06-13 05:45:41 -04:00
|
|
|
apply from: rootProject.file( 'gradle/publishing-pom.gradle' )
|
2018-01-22 12:28:24 -05:00
|
|
|
|
2022-03-15 13:15:56 -04:00
|
|
|
apply plugin: 'signing'
|
|
|
|
|
|
|
|
tasks.getByPath( ':release:publishReleaseArtifacts' ).dependsOn tasks.release
|
|
|
|
|
2021-06-28 16:59:35 -04:00
|
|
|
configurations {
|
|
|
|
javadocSources {
|
|
|
|
description 'Used to aggregate javadocs for the whole project'
|
|
|
|
}
|
|
|
|
}
|
2018-01-22 12:28:24 -05:00
|
|
|
|
2021-06-28 16:59:35 -04:00
|
|
|
dependencies {
|
|
|
|
javadocSources sourceSets.main.allJava
|
|
|
|
}
|
2018-01-10 17:52:28 -05:00
|
|
|
|
2022-02-07 09:02:13 -05:00
|
|
|
|
2018-01-10 17:52:28 -05:00
|
|
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
// Publishing
|
|
|
|
|
2021-05-14 15:59:59 -04:00
|
|
|
java {
|
|
|
|
withJavadocJar()
|
|
|
|
withSourcesJar()
|
|
|
|
}
|
|
|
|
|
2018-01-10 16:06:58 -05:00
|
|
|
publishing {
|
|
|
|
publications {
|
2022-02-07 09:02:13 -05:00
|
|
|
// main publication
|
2018-02-01 15:00:37 -05:00
|
|
|
publishedArtifacts {
|
2018-01-10 16:06:58 -05:00
|
|
|
from components.java
|
|
|
|
}
|
2019-05-21 17:29:57 -04:00
|
|
|
|
2022-02-07 09:02:13 -05:00
|
|
|
// relocation for the published artifacts based on the old groupId
|
2021-10-13 04:24:56 -04:00
|
|
|
relocationPom( MavenPublication ) {
|
2019-05-21 17:29:57 -04:00
|
|
|
pom {
|
|
|
|
name = project.name + ' - relocation'
|
|
|
|
groupId = 'org.hibernate'
|
|
|
|
artifactId = project.name
|
|
|
|
version = project.version
|
|
|
|
|
|
|
|
description = project.description
|
2021-06-07 06:47:53 -04:00
|
|
|
url = 'https://hibernate.org/orm'
|
2019-05-21 17:29:57 -04:00
|
|
|
|
|
|
|
organization {
|
|
|
|
name = 'Hibernate.org'
|
2021-06-07 06:47:53 -04:00
|
|
|
url = 'https://hibernate.org'
|
2019-05-21 17:29:57 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
licenses {
|
|
|
|
license {
|
|
|
|
name = 'GNU Library General Public License v2.1 or later'
|
2021-06-07 06:47:53 -04:00
|
|
|
url = 'https://www.opensource.org/licenses/LGPL-2.1'
|
|
|
|
comments = 'See discussion at https://hibernate.org/community/license/ for more details.'
|
2019-05-21 17:29:57 -04:00
|
|
|
distribution = 'repo'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
scm {
|
2021-06-07 06:47:53 -04:00
|
|
|
url = 'https://github.com/hibernate/hibernate-orm'
|
|
|
|
connection = 'scm:git:https://github.com/hibernate/hibernate-orm.git'
|
2019-05-21 17:29:57 -04:00
|
|
|
developerConnection = 'scm:git:git@github.com:hibernate/hibernate-orm.git'
|
|
|
|
}
|
|
|
|
|
|
|
|
developers {
|
|
|
|
developer {
|
|
|
|
id = 'hibernate-team'
|
|
|
|
name = 'The Hibernate Development Team'
|
|
|
|
organization = 'Hibernate.org'
|
2021-06-07 06:47:53 -04:00
|
|
|
organizationUrl = 'https://hibernate.org'
|
2019-05-21 17:29:57 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
issueManagement {
|
|
|
|
system = 'jira'
|
|
|
|
url = 'https://hibernate.atlassian.net/browse/HHH'
|
|
|
|
}
|
|
|
|
|
|
|
|
distributionManagement {
|
|
|
|
relocation {
|
|
|
|
groupId = 'org.hibernate.orm'
|
|
|
|
artifactId = project.name
|
|
|
|
version = project.version
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-02-07 09:02:13 -05:00
|
|
|
signing {
|
|
|
|
required { !rootProject.ormVersion.isSnapshot && gradle.taskGraph.hasTask("publish") }
|
2021-05-14 15:59:59 -04:00
|
|
|
|
2022-02-07 09:02:13 -05:00
|
|
|
def signingKey = findProperty('signingKey')
|
|
|
|
def signingPassword = findProperty('signingPassword')
|
2021-05-18 17:03:34 -04:00
|
|
|
|
2022-02-07 09:02:13 -05:00
|
|
|
useInMemoryPgpKeys(signingKey, signingPassword)
|
|
|
|
|
|
|
|
sign publishing.publications.publishedArtifacts
|
2021-05-18 17:03:34 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2021-05-14 15:59:59 -04:00
|
|
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
// Release / publishing tasks
|
|
|
|
|
2022-03-15 13:15:56 -04:00
|
|
|
task ciBuild {
|
|
|
|
dependsOn test, publish
|
|
|
|
}
|
2018-02-01 14:19:08 -05:00
|
|
|
|
2022-03-15 13:15:56 -04:00
|
|
|
tasks.release.dependsOn tasks.test, tasks.publishToSonatype
|
|
|
|
tasks.publishToSonatype.mustRunAfter test
|
2018-02-01 14:19:08 -05:00
|
|
|
|
2021-10-11 15:53:10 -04:00
|
|
|
|
|
|
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
// Ancillary tasks
|
|
|
|
|
|
|
|
task showPublications {
|
|
|
|
doFirst {
|
|
|
|
project.publishing.publications.each { publication ->
|
|
|
|
println "Publication (${publication.name}): ${publication.groupId}:${publication.artifactId}:${publication.version}"
|
|
|
|
publication.artifacts.each { artifact ->
|
|
|
|
println " > ${artifact}"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|