@@ -21,6 +21,313 @@ sourceSets.main.java.srcDirs += "src/main/java-generated"
21
21
sourceSets. main. java. srcDirs + = " src/main/java-predicates-generated"
22
22
sourceSets. test. java. srcDirs + = " src/test/java-generated"
23
23
24
+
25
+ projectDir. toPath(). resolve(" src/main/java-generated/com/commercetools/api/models/" ). eachDir { dir ->
26
+ def dirname = dir. toFile(). name
27
+ def modelTask = tasks. register(" models_${ dirname} Jar" , Jar ) {
28
+ from sourceSets. main. output
29
+
30
+ include " **/models/$dirname /**"
31
+ archiveBaseName = project. name + " -models-$dirname "
32
+ }
33
+ def modelSourcesTask = tasks. register(" sources_${ dirname} Jar" , Jar ) {
34
+ archiveClassifier = ' sources'
35
+ from sourceSets. main. allJava
36
+ include " **/models/$dirname /**"
37
+ archiveBaseName = project. name + " -models-$dirname "
38
+ }
39
+ def javadocsTask = tasks. register(" javadoc_${ dirname} Jar" , Jar ) {
40
+ dependsOn " javadoc"
41
+ archiveClassifier = ' javadoc'
42
+ from javadoc. destinationDir
43
+ include " com/**/models/$dirname /**" , " index-files/**" , " legal/**" , " resources/**" , " script-dir/**" , " *"
44
+ archiveBaseName = project. name + " -models-$dirname "
45
+ }
46
+ def publication
47
+ publishing {
48
+ publications {
49
+ publication = it. create(" Maven$dirname " , org.gradle.api.publish.maven.MavenPublication , {
50
+ artifact modelTask
51
+ artifact javadocsTask
52
+ artifact modelSourcesTask
53
+ groupId group
54
+ artifactId project. name + " -models_$dirname "
55
+ version version
56
+
57
+ pom {
58
+ name = project. name + " -models_$dirname "
59
+ description = project. description
60
+ developers {
61
+ developer {
62
+ id = " jenschude"
63
+ name = " Jens Schulze"
64
+ email = " jens.schulze@commercetools.com"
65
+ }
66
+ }
67
+ url = scmHttpsUrl
68
+ licenses {
69
+ license {
70
+ name = " The Apache Software License, Version 2.0"
71
+ url = " http://www.apache.org/licenses/LICENSE-2.0.txt"
72
+ distribution = " repo"
73
+ }
74
+ }
75
+ scm {
76
+ connection = " scm:git:$scmHttpsUrl "
77
+ developerConnection = " scm:git:$scmSshUrl "
78
+ url = " $scmProjectUrl "
79
+ }
80
+ }
81
+ pom. withXml {
82
+ def dependenciesNode = asNode(). appendNode(' dependencies' )
83
+ def base = dependenciesNode. appendNode(' dependency' )
84
+ base. appendNode(' groupId' , group)
85
+ base. appendNode(' artifactId' , ' commercetools-sdk-java-api-base' )
86
+ base. appendNode(' version' , version)
87
+ base. appendNode(' scope' , ' compile' )
88
+ def modelsBase = dependenciesNode. appendNode(' dependency' )
89
+ modelsBase. appendNode(' groupId' , group)
90
+ modelsBase. appendNode(' artifactId' , ' commercetools-sdk-java-api-models-base' )
91
+ modelsBase. appendNode(' version' , version)
92
+ modelsBase. appendNode(' scope' , ' compile' )
93
+ }
94
+ })
95
+ }
96
+ }
97
+ signing {
98
+ sign publication
99
+ }
100
+ assemble. dependsOn(" models_${ dirname} Jar" )
101
+ }
102
+
103
+ tasks. register(" predicatesJar" , Jar ) {
104
+ from sourceSets. main. output
105
+
106
+ include " **/predicates/**"
107
+ archiveBaseName = project. name + " -predicates"
108
+ }
109
+ assemble. dependsOn(" predicatesJar" )
110
+ tasks. register(" javadocPredicatesJar" , Jar ) {
111
+ dependsOn " javadoc"
112
+ archiveClassifier = ' javadoc'
113
+ from javadoc. destinationDir
114
+ include " com/**/predicates/**" , " index-files/**" , " legal/**" , " resources/**" , " script-dir/**" , " *"
115
+ archiveBaseName = project. name + " -predicates"
116
+ }
117
+ tasks. register(" sourcesPredicatesJar" , Jar ) {
118
+ archiveClassifier = ' sources'
119
+ from sourceSets. main. allJava
120
+ include " **/predicates/**"
121
+ archiveBaseName = project. name + " -predicates"
122
+ }
123
+ tasks. register(" baseJar" , Jar ) {
124
+ from sourceSets. main. output
125
+
126
+ exclude " **/predicates/**" , " **/models/**"
127
+ archiveBaseName = project. name + " -base"
128
+ }
129
+ assemble. dependsOn(" baseJar" )
130
+ tasks. register(" javadocBaseJar" , Jar ) {
131
+ dependsOn " javadoc"
132
+ archiveClassifier = ' javadoc'
133
+ from javadoc. destinationDir
134
+ exclude " com/**/predicates/**" , " com/**/models/**"
135
+ archiveBaseName = project. name + " -base"
136
+ }
137
+ tasks. register(" sourcesBaseJar" , Jar ) {
138
+ archiveClassifier = ' sources'
139
+ from sourceSets. main. allJava
140
+ exclude " **/predicates/**" , " **/models/**"
141
+ archiveBaseName = project. name + " -base"
142
+ }
143
+
144
+ tasks. register(" modelsBaseJar" , Jar ) {
145
+ from sourceSets. main. output
146
+
147
+ include " **/models/*"
148
+ archiveBaseName = project. name + " -models-base"
149
+ }
150
+ assemble. dependsOn(" modelsBaseJar" )
151
+ tasks. register(" javadocModelsBaseJar" , Jar ) {
152
+ dependsOn " javadoc"
153
+ archiveClassifier = ' javadoc'
154
+ from javadoc. destinationDir
155
+ include " com/**/models/*" , " index-files/**" , " legal/**" , " resources/**" , " script-dir/**" , " *"
156
+ archiveBaseName = project. name + " -models-base"
157
+ }
158
+ tasks. register(" sourcesModelsBaseJar" , Jar ) {
159
+ archiveClassifier = ' sources'
160
+ from sourceSets. main. allJava
161
+ include " **/models/*"
162
+ archiveBaseName = project. name + " -models-base"
163
+ }
164
+
165
+ publishing {
166
+ publications {
167
+ MavenModelsBase (MavenPublication ) {
168
+ artifact modelsBaseJar
169
+ artifact javadocModelsBaseJar
170
+ artifact sourcesModelsBaseJar
171
+ groupId group
172
+ artifactId project. name + " -models-base"
173
+ version version
174
+
175
+ pom {
176
+ name = project. name + " -models_base"
177
+ description = project. description
178
+ developers {
179
+ developer {
180
+ id = " jenschude"
181
+ name = " Jens Schulze"
182
+ email = " jens.schulze@commercetools.com"
183
+ }
184
+ }
185
+ url = scmHttpsUrl
186
+ licenses {
187
+ license {
188
+ name = " The Apache Software License, Version 2.0"
189
+ url = " http://www.apache.org/licenses/LICENSE-2.0.txt"
190
+ distribution = " repo"
191
+ }
192
+ }
193
+ scm {
194
+ connection = " scm:git:$scmHttpsUrl "
195
+ developerConnection = " scm:git:$scmSshUrl "
196
+ url = " $scmProjectUrl "
197
+ }
198
+ }
199
+ pom. withXml {
200
+ def dependenciesNode = asNode(). appendNode(' dependencies' )
201
+ def base = dependenciesNode. appendNode(' dependency' )
202
+ base. appendNode(' groupId' , group)
203
+ base. appendNode(' artifactId' , ' commercetools-sdk-java-api-base' )
204
+ base. appendNode(' version' , version)
205
+ base. appendNode(' scope' , ' compile' )
206
+ }
207
+ }
208
+ MavenBase (MavenPublication ) {
209
+ artifact baseJar
210
+ artifact javadocBaseJar
211
+ artifact sourcesBaseJar
212
+ groupId group
213
+ artifactId project. name + " -base"
214
+ version version
215
+
216
+ pom {
217
+ name = project. name + " -base"
218
+ description = project. description
219
+ developers {
220
+ developer {
221
+ id = " jenschude"
222
+ name = " Jens Schulze"
223
+ email = " jens.schulze@commercetools.com"
224
+ }
225
+ }
226
+ url = scmHttpsUrl
227
+ licenses {
228
+ license {
229
+ name = " The Apache Software License, Version 2.0"
230
+ url = " http://www.apache.org/licenses/LICENSE-2.0.txt"
231
+ distribution = " repo"
232
+ }
233
+ }
234
+ scm {
235
+ connection = " scm:git:$scmHttpsUrl "
236
+ developerConnection = " scm:git:$scmSshUrl "
237
+ url = " $scmProjectUrl "
238
+ }
239
+ }
240
+ pom. withXml {
241
+ def dependenciesNode = asNode(). appendNode(' dependencies' )
242
+ def base = dependenciesNode. appendNode(' dependency' )
243
+ base. appendNode(' groupId' , group)
244
+ base. appendNode(' artifactId' , ' rmf-java-base' )
245
+ base. appendNode(' version' , version)
246
+ base. appendNode(' scope' , ' compile' )
247
+ def money = dependenciesNode. appendNode(' dependency' )
248
+ money. appendNode(' groupId' , group)
249
+ money. appendNode(' artifactId' , ' commercetools-money' )
250
+ money. appendNode(' version' , version)
251
+ money. appendNode(' scope' , ' compile' )
252
+ def jacksonAnno = dependenciesNode. appendNode(' dependency' )
253
+ jacksonAnno. appendNode(' groupId' , ' com.fasterxml.jackson.core' )
254
+ jacksonAnno. appendNode(' artifactId' , ' jackson-annotations' )
255
+ jacksonAnno. appendNode(' version' , jackson_core. version)
256
+ jacksonAnno. appendNode(' scope' , ' compile' )
257
+ def jacksonDB = dependenciesNode. appendNode(' dependency' )
258
+ jacksonDB. appendNode(' groupId' , ' com.fasterxml.jackson.core' )
259
+ jacksonDB. appendNode(' artifactId' , ' jackson-databind' )
260
+ jacksonDB. appendNode(' version' , jackson_core. version)
261
+ jacksonDB. appendNode(' scope' , ' compile' )
262
+ def slf4jDep = dependenciesNode. appendNode(' dependency' )
263
+ slf4jDep. appendNode(' groupId' , ' org.slf4j' )
264
+ slf4jDep. appendNode(' artifactId' , ' slf4j-api' )
265
+ slf4jDep. appendNode(' version' , slf4j. version)
266
+ slf4jDep. appendNode(' scope' , ' compile' )
267
+ def commonsDep = dependenciesNode. appendNode(' dependency' )
268
+ commonsDep. appendNode(' groupId' , ' org.apache.commons' )
269
+ commonsDep. appendNode(' artifactId' , ' commons-lang3' )
270
+ commonsDep. appendNode(' version' , commons. lang3version)
271
+ commonsDep. appendNode(' scope' , ' compile' )
272
+ def findBugs = dependenciesNode. appendNode(' dependency' )
273
+ findBugs. appendNode(' groupId' , ' com.google.code.findbugs' )
274
+ findBugs. appendNode(' artifactId' , ' jsr305' )
275
+ findBugs. appendNode(' version' , google. findbugsversion)
276
+ findBugs. appendNode(' scope' , ' runtime' )
277
+ def validation = dependenciesNode. appendNode(' dependency' )
278
+ validation. appendNode(' groupId' , ' jakarta.validation' )
279
+ validation. appendNode(' artifactId' , ' jakarta.validation-api' )
280
+ validation. appendNode(' version' , javax. validationVersion)
281
+ validation. appendNode(' scope' , ' runtime' )
282
+ }
283
+ }
284
+ MavenPredicates (MavenPublication ) {
285
+ artifact predicatesJar
286
+ artifact javadocPredicatesJar
287
+ artifact sourcesPredicatesJar
288
+ groupId group
289
+ artifactId project. name + " -predicates"
290
+ version version
291
+
292
+ pom {
293
+ name = project. name + " -predicates"
294
+ description = project. description
295
+ developers {
296
+ developer {
297
+ id = " jenschude"
298
+ name = " Jens Schulze"
299
+ email = " jens.schulze@commercetools.com"
300
+ }
301
+ }
302
+ url = scmHttpsUrl
303
+ licenses {
304
+ license {
305
+ name = " The Apache Software License, Version 2.0"
306
+ url = " http://www.apache.org/licenses/LICENSE-2.0.txt"
307
+ distribution = " repo"
308
+ }
309
+ }
310
+ scm {
311
+ connection = " scm:git:$scmHttpsUrl "
312
+ developerConnection = " scm:git:$scmSshUrl "
313
+ url = " $scmProjectUrl "
314
+ }
315
+ }
316
+ pom. withXml {
317
+ def dependenciesNode = asNode(). appendNode(' dependencies' )
318
+ def base = dependenciesNode. appendNode(' dependency' )
319
+ base. appendNode(' groupId' , group)
320
+ base. appendNode(' artifactId' , ' commercetools-sdk-java-api-base' )
321
+ base. appendNode(' version' , version)
322
+ base. appendNode(' scope' , ' compile' )
323
+ }
324
+ }
325
+ }
326
+ }
327
+ signing {
328
+ sign publishing.publications.MavenModelsBase , publishing.publications.MavenBase , publishing.publications.MavenPredicates
329
+ }
330
+
24
331
tasks. register(' runMainMethodThreadLeakTest' , JavaExec ) {
25
332
group = " Execution"
26
333
description = " Run the main method thread leak test class"
0 commit comments