mirror of
https://github.com/hibernate/hibernate-orm
synced 2025-02-07 03:38:16 +00:00
117 lines
3.4 KiB
Groovy
117 lines
3.4 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 from: rootProject.file( 'gradle/java-module.gradle' )
|
|
apply plugin: 'maven-publish'
|
|
apply plugin: 'maven-publish-auth'
|
|
apply from: rootProject.file( 'gradle/publishing-repos.gradle' )
|
|
|
|
|
|
task sourcesJar(type: Jar) {
|
|
from project.sourceSets.main.allSource
|
|
manifest = project.tasks.jar.manifest
|
|
classifier = 'sources'
|
|
}
|
|
|
|
task javadocJar(type: Jar) {
|
|
from project.tasks.javadoc.outputs
|
|
manifest = project.tasks.jar.manifest
|
|
classifier = 'javadoc'
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
publishedArtifacts( MavenPublication ) {
|
|
from components.java
|
|
|
|
artifact( sourcesJar ) {
|
|
// todo : do these really need to be specified twice?
|
|
classifier 'sources'
|
|
}
|
|
|
|
artifact( javadocJar ) {
|
|
// todo : do these really need to be specified twice?
|
|
classifier "javadoc"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
model {
|
|
tasks.generatePomFileForPublishedArtifactsPublication {
|
|
destination = file( "${buildDir}/generated-pom.xml" )
|
|
}
|
|
}
|
|
|
|
task generatePomFile( dependsOn: 'generatePomFileForPublishedArtifactsPublication' )
|
|
|
|
task release( dependsOn: publish ) {
|
|
doFirst {
|
|
println "Starting release for $project.name:$project.version"
|
|
}
|
|
}
|
|
|
|
afterEvaluate {
|
|
|
|
// delay pom customization until project evaluation is complete
|
|
|
|
PublishingExtension gradlePublishingExtension = project.extensions.getByType( PublishingExtension )
|
|
|
|
Set<MavenPublication> mavenPublications = gradlePublishingExtension.publications.withType( MavenPublication )
|
|
if ( mavenPublications.size() <= 0 || mavenPublications.size() > 1 ) {
|
|
throw new GradleException( "Expecting just a single MavenPublication [$project.path], but found " + mavenPublications.size() + " : " + mavenPublications*.name )
|
|
}
|
|
|
|
project.configure( mavenPublications.first() ) {
|
|
pom.withXml {
|
|
asNode().appendNode( 'name', "Hibernate ORM - $project.name" )
|
|
asNode().appendNode( 'description', project.description )
|
|
|
|
Node lgplLicenseNode = asNode().appendNode( "licenses" ).appendNode( "license" )
|
|
lgplLicenseNode.appendNode( 'name', 'GNU Lesser General Public License' )
|
|
lgplLicenseNode.appendNode( 'url', 'http://www.gnu.org/licenses/lgpl-2.1.html' )
|
|
lgplLicenseNode.appendNode(
|
|
'comments',
|
|
'See discussion at http://hibernate.org/license for more details.'
|
|
)
|
|
lgplLicenseNode.appendNode( 'distribution', 'repo' )
|
|
|
|
asNode().children().last() + {
|
|
url 'http://hibernate.org'
|
|
organization {
|
|
name 'Hibernate.org'
|
|
url 'http://hibernate.org'
|
|
}
|
|
issueManagement {
|
|
system 'jira'
|
|
url 'https://hibernate.atlassian.net/browse/HHH'
|
|
}
|
|
scm {
|
|
url 'http://github.com/hibernate/hibernate-orm'
|
|
connection 'scm:git:http://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 'http://hibernate.org'
|
|
}
|
|
}
|
|
}
|
|
|
|
// TEMPORARY : currently Gradle Publishing feature is exporting dependencies as 'runtime' scope,
|
|
// rather than 'compile'; fix that.
|
|
if ( asNode().dependencies != null && asNode().dependencies.size() > 0 ) {
|
|
asNode().dependencies[0].dependency.each {
|
|
it.scope[0].value = 'compile'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |