10
10
package org .elasticsearch .gradle .internal .conventions ;
11
11
12
12
import groovy .util .Node ;
13
+ import nmcp .NmcpPlugin ;
13
14
14
15
import com .github .jengelman .gradle .plugins .shadow .ShadowExtension ;
15
16
import com .github .jengelman .gradle .plugins .shadow .ShadowPlugin ;
16
17
17
- import nmcp .NmcpPlugin ;
18
-
19
18
import org .elasticsearch .gradle .internal .conventions .info .GitInfo ;
20
19
import org .elasticsearch .gradle .internal .conventions .precommit .PomValidationPrecommitPlugin ;
21
20
import org .elasticsearch .gradle .internal .conventions .util .Util ;
41
40
import org .gradle .api .tasks .bundling .Jar ;
42
41
import org .gradle .initialization .layout .BuildLayout ;
43
42
import org .gradle .language .base .plugins .LifecycleBasePlugin ;
43
+ import org .gradle .plugins .signing .SigningExtension ;
44
+ import org .gradle .plugins .signing .SigningPlugin ;
44
45
import org .w3c .dom .Element ;
45
46
46
47
import java .io .File ;
@@ -69,6 +70,7 @@ public void apply(Project project) {
69
70
project .getPluginManager ().apply (PomValidationPrecommitPlugin .class );
70
71
project .getPluginManager ().apply (LicensingPlugin .class );
71
72
project .getPluginManager ().apply (NmcpPlugin .class );
73
+ project .getPluginManager ().apply (SigningPlugin .class );
72
74
configureJavadocJar (project );
73
75
configureSourcesJar (project );
74
76
configurePomGeneration (project );
@@ -79,6 +81,13 @@ public void apply(Project project) {
79
81
private void configurePublications (Project project ) {
80
82
var publishingExtension = project .getExtensions ().getByType (PublishingExtension .class );
81
83
var publication = publishingExtension .getPublications ().create ("elastic" , MavenPublication .class );
84
+ Provider <String > signingKey = project .getProviders ().gradleProperty ("signingKey" );
85
+ if (signingKey .isPresent ()) {
86
+ SigningExtension signing = project .getExtensions ().getByType (SigningExtension .class );
87
+ signing .useInMemoryPgpKeys (signingKey .get (), project .getProviders ().gradleProperty ("signingPassword" ).get ());
88
+ signing .sign (publication );
89
+ }
90
+
82
91
project .afterEvaluate (project1 -> {
83
92
if (project1 .getPlugins ().hasPlugin (ShadowPlugin .class )) {
84
93
configureWithShadowPlugin (project1 , publication );
0 commit comments