Skip to content

Commit 1154cea

Browse files
committed
add split config
1 parent 5f1ddc3 commit 1154cea

File tree

2 files changed

+249
-0
lines changed

2 files changed

+249
-0
lines changed

commercetools/commercetools-sdk-java-api/build.gradle

Lines changed: 244 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,250 @@ sourceSets.main.java.srcDirs += "src/main/java-generated"
2121
sourceSets.main.java.srcDirs += "src/main/java-predicates-generated"
2222
sourceSets.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+
24268
tasks.register('runMainMethodThreadLeakTest', JavaExec) {
25269
group = "Execution"
26270
description = "Run the main method thread leak test class"

gradle-scripts/extensions.gradle

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ ext {
1010
]
1111

1212
commons = [
13+
lang3version: '3.17.0',
1314
text: 'org.apache.commons:commons-text:1.13.1',
1415
lang3: 'org.apache.commons:commons-lang3:3.17.0',
1516
io: 'commons-io:commons-io:2.19.0',
@@ -20,6 +21,7 @@ ext {
2021
]
2122

2223
slf4j = [
24+
version: '2.0.17',
2325
api: 'org.slf4j:slf4j-api:2.0.17',
2426
]
2527

@@ -28,13 +30,15 @@ ext {
2830
]
2931

3032
jackson_core = [
33+
version: '2.19.0',
3134
annotations: 'com.fasterxml.jackson.core:jackson-annotations:2.19.0',
3235
databind: 'com.fasterxml.jackson.core:jackson-databind:2.19.0',
3336
core: 'com.fasterxml.jackson.core:jackson-core:2.19.0',
3437
datatype: 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.19.0',
3538
]
3639

3740
google = [
41+
findbugsversion: '3.0.2',
3842
findbugs: 'com.google.code.findbugs:jsr305:3.0.2',
3943
gson: 'com.google.code.gson:gson:2.13.1',
4044
]
@@ -47,6 +51,7 @@ ext {
4751
]
4852

4953
javax = [
54+
validationVersion: '3.1.1',
5055
validation: 'jakarta.validation:jakarta.validation-api:3.1.1',
5156
]
5257

0 commit comments

Comments
 (0)