129 lines
3.1 KiB
Groovy
129 lines
3.1 KiB
Groovy
/*
|
|
* 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: 'signing'
|
|
apply from: rootProject.file( 'gradle/java-module.gradle' )
|
|
apply from: rootProject.file( 'gradle/publishing-pom.gradle' )
|
|
apply plugin: 'org.hibernate.orm.build.post-collector'
|
|
|
|
configurations {
|
|
javadocSources {
|
|
description 'Used to aggregate javadocs for the whole project'
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
javadocSources sourceSets.main.allJava
|
|
}
|
|
|
|
|
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Publishing
|
|
|
|
java {
|
|
withJavadocJar()
|
|
withSourcesJar()
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
// main publication
|
|
publishedArtifacts {
|
|
from components.java
|
|
}
|
|
|
|
// relocation for the published artifacts based on the old groupId
|
|
relocationPom( MavenPublication ) {
|
|
pom {
|
|
name = project.name + ' - relocation'
|
|
groupId = 'org.hibernate'
|
|
artifactId = project.name
|
|
version = project.version
|
|
|
|
description = project.description
|
|
url = 'https://hibernate.org/orm'
|
|
|
|
organization {
|
|
name = 'Hibernate.org'
|
|
url = 'https://hibernate.org'
|
|
}
|
|
|
|
licenses {
|
|
license {
|
|
name = 'GNU Library General Public License v2.1 or later'
|
|
url = 'https://www.opensource.org/licenses/LGPL-2.1'
|
|
comments = 'See discussion at https://hibernate.org/community/license/ for more details.'
|
|
distribution = 'repo'
|
|
}
|
|
}
|
|
|
|
scm {
|
|
url = 'https://github.com/hibernate/hibernate-orm'
|
|
connection = 'scm:git:https://github.com/hibernate/hibernate-orm.git'
|
|
developerConnection = 'scm:git:git@github.com:hibernate/hibernate-orm.git'
|
|
}
|
|
|
|
developers {
|
|
developer {
|
|
id = 'hibernate-team'
|
|
name = 'The Hibernate Development Team'
|
|
organization = 'Hibernate.org'
|
|
organizationUrl = 'https://hibernate.org'
|
|
}
|
|
}
|
|
|
|
issueManagement {
|
|
system = 'jira'
|
|
url = 'https://hibernate.atlassian.net/browse/HHH'
|
|
}
|
|
|
|
distributionManagement {
|
|
relocation {
|
|
groupId = 'org.hibernate.orm'
|
|
artifactId = project.name
|
|
version = project.version
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
signing {
|
|
required { !rootProject.ormVersion.isSnapshot && gradle.taskGraph.hasTask("publish") }
|
|
|
|
def signingKey = findProperty('signingKey')
|
|
def signingPassword = findProperty('signingPassword')
|
|
|
|
useInMemoryPgpKeys(signingKey, signingPassword)
|
|
|
|
sign publishing.publications.publishedArtifacts
|
|
}
|
|
|
|
|
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Release / publishing tasks
|
|
|
|
task ciBuild( dependsOn: [test, publish] )
|
|
|
|
task release(dependsOn: [test, publishToSonatype])
|
|
publishToSonatype.mustRunAfter test
|
|
|
|
|
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// 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}"
|
|
}
|
|
}
|
|
}
|
|
} |