55 * See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html 
66 */  
77
8- apply from : rootProject. file( ' gradle/releasable.gradle'   )
98apply from : rootProject. file( ' gradle/java-module.gradle'   )
10- apply from : rootProject. file( ' gradle/publishing-pom .gradle'   )
9+ apply from : rootProject. file( ' gradle/publishing.gradle'   )
1110
12- apply  plugin :  ' signing ' 
13- 
14- //  Make sure that the publishReleaseArtifacts task of the  release module runs the release task of this sub module 
15- tasks . getByPath(  ' :release:publishReleaseArtifacts '  ) . dependsOn tasks . release 
11+ tasks . register( " publishReleaseArtifacts " ) { 
12+ 	 //  mirror for `:release:publishReleaseArtifacts` 
13+ 	dependsOn tasks . release
14+ } 
1615
1716configurations  {
1817	javadocSources {
19- 		description ' Used to aggregate javadocs for the whole project' 
18+ 		description =  " All Java sources for the project's Javadoc" 
19+ 		canBeConsumed =  true 
20+ 		canBeResolved =  false 
21+ 		visible =  false 
2022	}
2123}
2224
@@ -35,152 +37,16 @@ java {
3537	withSourcesJar()
3638}
3739
38- publishing  {
39- 	publications {
40- 		//  main publication
41- 		publishedArtifacts {
42- 			from components. java
43- 		}
44- 
45- 		//  relocation for the published artifacts based on the old groupId
46- 		relocationPom( MavenPublication  ) {
47- 			pom {
48- 				name =  project. name +  '  - relocation' 
49- 				groupId =  ' org.hibernate' 
50- 				artifactId =  project. name
51- 				version =  project. version
52- 
53- 				description =  project. description
54- 				url =  ' https://hibernate.org/orm' 
55- 
56- 				organization {
57- 					name =  ' Hibernate.org' 
58- 					url =  ' https://hibernate.org' 
59- 				}
60- 
61- 				licenses {
62- 					license {
63- 						name =  ' GNU Library General Public License v2.1 or later' 
64- 						url =  ' https://www.opensource.org/licenses/LGPL-2.1' 
65- 						comments =  ' See discussion at https://hibernate.org/community/license/ for more details.' 
66- 						distribution =  ' repo' 
67- 					}
68- 				}
69- 
70- 				scm {
71- 					url =  ' https://github.com/hibernate/hibernate-orm' 
72- 					connection =  ' scm:git:https://github.com/hibernate/hibernate-orm.git' 
73- 					developerConnection 
=  ' scm:git:[email protected] :hibernate/hibernate-orm.git' 74- 				}
75- 
76- 				developers {
77- 					developer {
78- 						id =  ' hibernate-team' 
79- 						name =  ' The Hibernate Development Team' 
80- 						organization =  ' Hibernate.org' 
81- 						organizationUrl =  ' https://hibernate.org' 
82- 					}
83- 				}
84- 
85- 				issueManagement {
86- 					system =  ' jira' 
87- 					url =  ' https://hibernate.atlassian.net/browse/HHH' 
88- 				}
89- 
90- 				distributionManagement {
91- 					relocation {
92- 						groupId =  ' org.hibernate.orm' 
93- 						artifactId =  project. name
94- 						version =  project. version
95- 					}
96- 				}
97- 			}
98- 		}
99- 	}
100- }
101- 
10240
10341//  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104- //  Signing
105- 
106- def  signPublicationsTask =  tasks. register(' signPublications'  ) {
107- 	description " Grouping task which executes all Sign tasks" 
108- 
109- 	dependsOn tasks. withType( Sign  )
110- }
111- 
112- tasks. named( " publishPublishedArtifactsPublicationToSonatypeRepository"   ) {
113- 	//  publishing depends on signing
114- 	dependsOn signPublicationsTask
115- }
116- 
117- tasks. register(' sign'  ) {
118- 	description " Pseudonym for :signPublications" 
119- 	dependsOn signPublicationsTask
120- }
121- 
122- var signingExtension =  project. getExtensions(). getByType(SigningExtension ) as  SigningExtension 
123- signingExtension. sign publishing. publications. publishedArtifacts
124- 
125- gradle. taskGraph. whenReady  { TaskExecutionGraph  graph -> 
126- 	boolean  wasSigningRequested =  false 
127- 	boolean  wasPublishingRequested =  false 
128- 
129- 	graph. allTasks. each {task  -> 
130- 		if  ( task instanceof  Sign  ) {
131- 			wasSigningRequested =  true 
132- 		}
133- 		else  if  ( task instanceof  PublishToMavenRepository  ) {
134- 			wasPublishingRequested =  true 
135- 		}
136- 	}
137- 
138- 	if  ( wasPublishingRequested ) {
139- 		def  ossrhUser =  System . getenv(). get( " ORG_GRADLE_PROJECT_sonatypeUsername"   )
140- 		def  ossrhPass =  System . getenv(). get( " ORG_GRADLE_PROJECT_sonatypePassword"   )
141- 		if  ( ossrhUser ==  null  ||  ossrhPass ==  null  ) {
142- 			throw  new  RuntimeException ( " Cannot perform publishing to OSSRH without credentials."   )
143- 		}
144- 		logger. lifecycle " Publishing {} : {} : {}"  , project. group, project. name, project. version
145- 	}
146- 
147- 	if  ( wasSigningRequested ||  wasPublishingRequested ) {
148- 		//  signing was explicitly requested and/or we are publishing to Sonatype OSSRH
149- 		//  		- we need the signing to happen
150- 		signingExtension. required =  true 
151- 
152- 		var signingKey =  resolveSigningKey()
153- 		var signingPassword =  resolveSigningPassphrase()
154- 		signingExtension. useInMemoryPgpKeys( signingKey, signingPassword )
155- 	}
156- 	else  {
157- 		//  signing was not explicitly requested and we are not publishing to OSSRH,
158- 		//  		- disable all Sign tasks
159- 		tasks. withType( Sign  ). each { t ->  t. enabled =  false  }
160- 	}
161- }
162- 
163- static  String  resolveSigningKey () {
164- 	var key =  System . getenv(). get( " SIGNING_GPG_PRIVATE_KEY"   )
165- 	if  ( key !=  null  ) {
166- 		return  key
167- 	}
168- 
169- 	var keyFile =  System . getenv(). get( " SIGNING_GPG_PRIVATE_KEY_PATH"   )
170- 	if  ( keyFile !=  null  ) {
171- 		return  new  File ( keyFile ). text
172- 	}
42+ //  Publishing
17343
174- 	throw  new  RuntimeException ( " Cannot perform signing without GPG details."   )
44+ var publishingExtension =  project. getExtensions(). getByType(PublishingExtension ) as  PublishingExtension 
45+ publishingExtension. publications. named(" publishedArtifacts"  , MavenPublication ) {
46+ 	//  Add the Java component to the main publication
47+ 	from components. java
17548}
17649
177- static  String  resolveSigningPassphrase () {
178- 	var passphrase =  System . getenv(). get( " SIGNING_GPG_PASSPHRASE"   )
179- 	if  ( passphrase ==  null  ) {
180- 		throw  new  RuntimeException ( " Cannot perform signing without GPG details."   )
181- 	}
182- 	return  passphrase
183- }
18450
18551
18652//  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -195,21 +61,6 @@ tasks.release.dependsOn tasks.test, tasks.publishToSonatype
19561tasks. preVerifyRelease. dependsOn build
19662tasks. preVerifyRelease. dependsOn generateMetadataFileForPublishedArtifactsPublication
19763tasks. preVerifyRelease. dependsOn generatePomFileForPublishedArtifactsPublication
198- tasks. preVerifyRelease. dependsOn generatePomFileForRelocationPomPublication
19964
20065tasks. publishToSonatype. mustRunAfter test
20166
202- 
203- //  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
204- //  Ancillary tasks
205- 
206- task showPublications  {
207- 	doFirst {
208- 		project. publishing. publications. each { publication  -> 
209- 			println  " Publication (${ publication.name}  ): ${ publication.groupId}  :${ publication.artifactId}  :${ publication.version} " 
210- 			publication. artifacts. each { artifact  -> 
211- 				println  "     > ${ artifact} " 
212- 			}
213- 		}
214- 	}
215- }
0 commit comments