Skip to content

Commit 89bbd0a

Browse files
committed
automates creation and running of harmonization flows (performance sample)
also updates/corrects task dependencies
1 parent cf41b2e commit 89bbd0a

File tree

1 file changed

+114
-1
lines changed

1 file changed

+114
-1
lines changed

examples/performance-sample/build.gradle

Lines changed: 114 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ task createJsonEntity(type: com.marklogic.gradle.task.CreateEntityTask) {
3535
}
3636

3737
task createInputXmlFlow(type: com.marklogic.gradle.task.CreateInputFlowTask) {
38+
mustRunAfter createXmlEntity
39+
3840
doFirst {
3941
project.ext.entityName = "input-xml"
4042
project.ext.flowName = "raw-input-xml"
@@ -43,6 +45,8 @@ task createInputXmlFlow(type: com.marklogic.gradle.task.CreateInputFlowTask) {
4345
}
4446

4547
task createInputJsonFlow(type: com.marklogic.gradle.task.CreateInputFlowTask) {
48+
mustRunAfter createJsonEntity
49+
4650
doFirst {
4751
project.ext.entityName = "input-json"
4852
project.ext.flowName = "raw-input-json"
@@ -51,10 +55,13 @@ task createInputJsonFlow(type: com.marklogic.gradle.task.CreateInputFlowTask) {
5155
}
5256

5357
task createEntityInput() {
58+
mustRunAfter mlDeploy
59+
5460
dependsOn createXmlEntity
5561
dependsOn createJsonEntity
5662
dependsOn createInputXmlFlow
5763
dependsOn createInputJsonFlow
64+
5865
finalizedBy mlLoadModules
5966
doLast { println "created XML and JSON entities and input flows" }
6067
}
@@ -109,6 +116,10 @@ task prepareMlcpLog() {
109116
}
110117

111118
task loadJson(type: com.marklogic.gradle.task.MlcpTask) {
119+
mustRunAfter createInputXmlFlow
120+
mustRunAfter mlLoadModules
121+
mustRunAfter getInputData
122+
112123
classpath = configurations.mlcp
113124
command = "IMPORT"
114125
database = mlStagingDbName
@@ -126,6 +137,10 @@ task loadJson(type: com.marklogic.gradle.task.MlcpTask) {
126137
}
127138

128139
task loadXml(type: com.marklogic.gradle.task.MlcpTask) {
140+
mustRunAfter createInputJsonFlow
141+
mustRunAfter mlLoadModules
142+
mustRunAfter getInputData
143+
129144
classpath = configurations.mlcp
130145
command = "IMPORT"
131146
database = mlStagingDbName
@@ -143,8 +158,106 @@ task loadXml(type: com.marklogic.gradle.task.MlcpTask) {
143158
}
144159

145160
task loadInputData {
146-
mustRunAfter createEntityInput
147161
dependsOn getInputData
148162
dependsOn loadJson
149163
dependsOn loadXml
150164
}
165+
166+
task createHarmonizeXmlXqy(type: com.marklogic.gradle.task.CreateHarmonizeFlowTask) {
167+
mustRunAfter createEntityInput
168+
169+
doFirst {
170+
project.ext.entityName = "input-xml"
171+
project.ext.flowName = "harmonize-xml-xqy"
172+
project.ext.pluginFormat = "xqy"
173+
project.ext.dataFormat = "xml"
174+
}
175+
}
176+
177+
task createHarmonizeXmlSjs(type: com.marklogic.gradle.task.CreateHarmonizeFlowTask) {
178+
mustRunAfter createEntityInput
179+
180+
doFirst {
181+
project.ext.entityName = "input-xml"
182+
project.ext.flowName = "harmonize-xml-sjs"
183+
project.ext.pluginFormat = "sjs"
184+
project.ext.dataFormat = "xml"
185+
}
186+
}
187+
188+
task createHarmonizeJsonXqy(type: com.marklogic.gradle.task.CreateHarmonizeFlowTask) {
189+
mustRunAfter createEntityInput
190+
191+
doFirst {
192+
project.ext.entityName = "input-json"
193+
project.ext.flowName = "harmonize-json-xqy"
194+
project.ext.pluginFormat = "xqy"
195+
project.ext.dataFormat = "json"
196+
}
197+
}
198+
199+
task createHarmonizeJsonSjs(type: com.marklogic.gradle.task.CreateHarmonizeFlowTask) {
200+
mustRunAfter createEntityInput
201+
202+
doFirst {
203+
project.ext.entityName = "input-json"
204+
project.ext.flowName = "harmonize-json-sjs"
205+
project.ext.pluginFormat = "sjs"
206+
project.ext.dataFormat = "json"
207+
}
208+
}
209+
210+
task createHarmonizeFlows() {
211+
dependsOn createHarmonizeXmlXqy
212+
dependsOn createHarmonizeXmlSjs
213+
dependsOn createHarmonizeJsonXqy
214+
dependsOn createHarmonizeJsonSjs
215+
finalizedBy mlLoadModules
216+
}
217+
218+
task runHarmonizeXmlXqy(type: com.marklogic.gradle.task.RunFlowTask) {
219+
mustRunAfter loadInputData
220+
mustRunAfter createHarmonizeXmlXqy
221+
222+
entityName = "input-xml"
223+
flowName = "harmonize-xml-xqy"
224+
}
225+
226+
task runHarmonizeXmlSjs(type: com.marklogic.gradle.task.RunFlowTask) {
227+
mustRunAfter loadInputData
228+
mustRunAfter createHarmonizeXmlSjs
229+
230+
entityName = "input-xml"
231+
flowName = "harmonize-xml-sjs"
232+
}
233+
234+
task runHarmonizeJsonXqy(type: com.marklogic.gradle.task.RunFlowTask) {
235+
mustRunAfter loadInputData
236+
mustRunAfter createHarmonizeJsonXqy
237+
238+
entityName = "input-json"
239+
flowName = "harmonize-json-xqy"
240+
}
241+
242+
task runHarmonizeJsonSjs(type: com.marklogic.gradle.task.RunFlowTask) {
243+
mustRunAfter loadInputData
244+
mustRunAfter createHarmonizeJsonSjs
245+
246+
entityName = "input-json"
247+
flowName = "harmonize-json-sjs"
248+
}
249+
250+
task allHarmonizeFlows() {
251+
dependsOn createHarmonizeFlows
252+
dependsOn runHarmonizeXmlXqy
253+
dependsOn runHarmonizeXmlSjs
254+
dependsOn runHarmonizeJsonXqy
255+
dependsOn runHarmonizeJsonSjs
256+
}
257+
258+
task doAll() {
259+
dependsOn mlDeploy
260+
dependsOn createEntityInput
261+
dependsOn loadInputData
262+
dependsOn allHarmonizeFlows
263+
}

0 commit comments

Comments
 (0)