@@ -21,6 +21,250 @@ 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 ) {
28+ from sourceSets. main. output
29+
30+ include " **/models/$dirname /**"
31+ archiveBaseName = project. name + " -models-$dirname "
32+ }
33+ publishing {
34+ publications {
35+ it. create(" Maven$dirname " , org.gradle.api.publish.maven.MavenPublication , {
36+ artifact modelTask
37+ artifact javadocJar
38+ artifact sourcesJar
39+ groupId group
40+ artifactId project. name + " -models_$dirname "
41+ version version
42+
43+ pom {
44+ name = project. name + " -models_$dirname "
45+ description = project. description
46+ developers {
47+ developer {
48+ id = " jenschude"
49+ name = " Jens Schulze"
50+ 51+ }
52+ }
53+ url = scmHttpsUrl
54+ licenses {
55+ license {
56+ name = " The Apache Software License, Version 2.0"
57+ url = " http://www.apache.org/licenses/LICENSE-2.0.txt"
58+ distribution = " repo"
59+ }
60+ }
61+ scm {
62+ connection = " scm:git:$scmHttpsUrl "
63+ developerConnection = " scm:git:$scmSshUrl "
64+ url = " $scmProjectUrl "
65+ }
66+ }
67+ pom. withXml {
68+ def dependenciesNode = asNode(). appendNode(' dependencies' )
69+ def base = dependenciesNode. appendNode(' dependency' )
70+ base. appendNode(' groupId' , group)
71+ base. appendNode(' artifactId' , ' commercetools-sdk-java-api-base' )
72+ base. appendNode(' version' , version)
73+ base. appendNode(' scope' , ' compile' )
74+ def modelsBase = dependenciesNode. appendNode(' dependency' )
75+ modelsBase. appendNode(' groupId' , group)
76+ modelsBase. appendNode(' artifactId' , ' commercetools-sdk-java-api-models-base' )
77+ modelsBase. appendNode(' version' , version)
78+ modelsBase. appendNode(' scope' , ' compile' )
79+ }
80+ })
81+ }
82+ }
83+ assemble. dependsOn(" models_$dirname " )
84+ }
85+
86+ tasks. register(" predicatesJar" , Jar ) {
87+ from sourceSets. main. output
88+
89+ include " **/predicates/**"
90+ archiveBaseName = project. name + " -predicates"
91+ }
92+ assemble. dependsOn(" predicatesJar" )
93+ tasks. register(" baseJar" , Jar ) {
94+ from sourceSets. main. output
95+
96+ exclude " **/predicates/**" , " **/models/**"
97+ archiveBaseName = project. name + " -base"
98+ }
99+ assemble. dependsOn(" baseJar" )
100+ tasks. register(" modelsBaseJar" , Jar ) {
101+ from sourceSets. main. output
102+
103+ include " **/models/*"
104+ archiveBaseName = project. name + " -models-base"
105+ }
106+ assemble. dependsOn(" modelsBaseJar" )
107+
108+ publishing {
109+ publications {
110+ MavenModelsBase (MavenPublication ) {
111+ artifact modelsBaseJar
112+ artifact javadocJar
113+ groupId group
114+ artifactId project. name + " -models-base"
115+ version version
116+
117+ pom {
118+ name = project. name + " -models_base"
119+ description = project. description
120+ developers {
121+ developer {
122+ id = " jenschude"
123+ name = " Jens Schulze"
124+ 125+ }
126+ }
127+ url = scmHttpsUrl
128+ licenses {
129+ license {
130+ name = " The Apache Software License, Version 2.0"
131+ url = " http://www.apache.org/licenses/LICENSE-2.0.txt"
132+ distribution = " repo"
133+ }
134+ }
135+ scm {
136+ connection = " scm:git:$scmHttpsUrl "
137+ developerConnection = " scm:git:$scmSshUrl "
138+ url = " $scmProjectUrl "
139+ }
140+ }
141+ pom. withXml {
142+ def dependenciesNode = asNode(). appendNode(' dependencies' )
143+ def base = dependenciesNode. appendNode(' dependency' )
144+ base. appendNode(' groupId' , group)
145+ base. appendNode(' artifactId' , ' commercetools-sdk-java-api-base' )
146+ base. appendNode(' version' , version)
147+ base. appendNode(' scope' , ' compile' )
148+ }
149+ }
150+ MavenBase (MavenPublication ) {
151+ artifact baseJar
152+ artifact javadocJar
153+ groupId group
154+ artifactId project. name + " -base"
155+ version version
156+
157+ pom {
158+ name = project. name + " -base"
159+ description = project. description
160+ developers {
161+ developer {
162+ id = " jenschude"
163+ name = " Jens Schulze"
164+ 165+ }
166+ }
167+ url = scmHttpsUrl
168+ licenses {
169+ license {
170+ name = " The Apache Software License, Version 2.0"
171+ url = " http://www.apache.org/licenses/LICENSE-2.0.txt"
172+ distribution = " repo"
173+ }
174+ }
175+ scm {
176+ connection = " scm:git:$scmHttpsUrl "
177+ developerConnection = " scm:git:$scmSshUrl "
178+ url = " $scmProjectUrl "
179+ }
180+ }
181+ pom. withXml {
182+ def dependenciesNode = asNode(). appendNode(' dependencies' )
183+ def base = dependenciesNode. appendNode(' dependency' )
184+ base. appendNode(' groupId' , group)
185+ base. appendNode(' artifactId' , ' rmf-java-base' )
186+ base. appendNode(' version' , version)
187+ base. appendNode(' scope' , ' compile' )
188+ def money = dependenciesNode. appendNode(' dependency' )
189+ money. appendNode(' groupId' , group)
190+ money. appendNode(' artifactId' , ' commercetools-money' )
191+ money. appendNode(' version' , version)
192+ money. appendNode(' scope' , ' compile' )
193+ def jacksonAnno = dependenciesNode. appendNode(' dependency' )
194+ jacksonAnno. appendNode(' groupId' , ' com.fasterxml.jackson.core' )
195+ jacksonAnno. appendNode(' artifactId' , ' jackson-annotations' )
196+ jacksonAnno. appendNode(' version' , jackson_core. version)
197+ jacksonAnno. appendNode(' scope' , ' compile' )
198+ def jacksonDB = dependenciesNode. appendNode(' dependency' )
199+ jacksonDB. appendNode(' groupId' , ' com.fasterxml.jackson.core' )
200+ jacksonDB. appendNode(' artifactId' , ' jackson-databind' )
201+ jacksonDB. appendNode(' version' , jackson_core. version)
202+ jacksonDB. appendNode(' scope' , ' compile' )
203+ def slf4jDep = dependenciesNode. appendNode(' dependency' )
204+ slf4jDep. appendNode(' groupId' , ' org.slf4j' )
205+ slf4jDep. appendNode(' artifactId' , ' slf4j-api' )
206+ slf4jDep. appendNode(' version' , slf4j. version)
207+ slf4jDep. appendNode(' scope' , ' compile' )
208+ def commonsDep = dependenciesNode. appendNode(' dependency' )
209+ commonsDep. appendNode(' groupId' , ' org.apache.commons' )
210+ commonsDep. appendNode(' artifactId' , ' commons-lang3' )
211+ commonsDep. appendNode(' version' , commons. lang3version)
212+ commonsDep. appendNode(' scope' , ' compile' )
213+ def findBugs = dependenciesNode. appendNode(' dependency' )
214+ findBugs. appendNode(' groupId' , ' com.google.code.findbugs' )
215+ findBugs. appendNode(' artifactId' , ' jsr305' )
216+ findBugs. appendNode(' version' , google. findbugsversion)
217+ findBugs. appendNode(' scope' , ' runtime' )
218+ def validation = dependenciesNode. appendNode(' dependency' )
219+ validation. appendNode(' groupId' , ' jakarta.validation' )
220+ validation. appendNode(' artifactId' , ' jakarta.validation-api' )
221+ validation. appendNode(' version' , javax. validationVersion)
222+ validation. appendNode(' scope' , ' runtime' )
223+ }
224+ }
225+ MavenPredicates (MavenPublication ) {
226+ artifact predicatesJar
227+ artifact javadocJar
228+ groupId group
229+ artifactId project. name + " -predicates"
230+ version version
231+
232+ pom {
233+ name = project. name + " -predicates"
234+ description = project. description
235+ developers {
236+ developer {
237+ id = " jenschude"
238+ name = " Jens Schulze"
239+ 240+ }
241+ }
242+ url = scmHttpsUrl
243+ licenses {
244+ license {
245+ name = " The Apache Software License, Version 2.0"
246+ url = " http://www.apache.org/licenses/LICENSE-2.0.txt"
247+ distribution = " repo"
248+ }
249+ }
250+ scm {
251+ connection = " scm:git:$scmHttpsUrl "
252+ developerConnection = " scm:git:$scmSshUrl "
253+ url = " $scmProjectUrl "
254+ }
255+ }
256+ pom. withXml {
257+ def dependenciesNode = asNode(). appendNode(' dependencies' )
258+ def base = dependenciesNode. appendNode(' dependency' )
259+ base. appendNode(' groupId' , group)
260+ base. appendNode(' artifactId' , ' commercetools-sdk-java-api-base' )
261+ base. appendNode(' version' , version)
262+ base. appendNode(' scope' , ' compile' )
263+ }
264+ }
265+ }
266+ }
267+
24268tasks. register(' runMainMethodThreadLeakTest' , JavaExec ) {
25269 group = " Execution"
26270 description = " Run the main method thread leak test class"
0 commit comments