/* * 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 from: rootProject.file( 'gradle/releasable.gradle' ) apply from: rootProject.file( 'gradle/java-module.gradle' ) apply from: rootProject.file( 'gradle/publishing-pom.gradle' ) apply plugin: 'signing' tasks.getByPath( ':release:publishReleaseArtifacts' ).dependsOn tasks.release 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 } tasks.release.dependsOn tasks.test, tasks.publishToSonatype tasks.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}" } } } }