@@ -21,6 +21,313 @@ sourceSets.main.java.srcDirs += "src/main/java-generated"
2121sourceSets. main. java. srcDirs + = " src/main/java-predicates-generated"
2222sourceSets. test. java. srcDirs + = " src/test/java-generated"
2323
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+
24331tasks. register(' runMainMethodThreadLeakTest' , JavaExec ) {
25332 group = " Execution"
26333 description = " Run the main method thread leak test class"
0 commit comments