@@ -20,71 +20,77 @@ import com.marklogic.appdeployer.AppConfig
2020 */
2121class MlcpTask extends JavaExec {
2222
23- @Delegate MlcpBean mlcpBean = new MlcpBean ();
24-
25- public Logger getLogger () {
26- return Logging . getLogger(MlcpTask . class)
27- }
28-
29- @TaskAction
30- @Override
31- public void exec () {
32- setMain(" com.marklogic.contentpump.ContentPump" )
33- AppConfig config = getProject(). property(" mlAppConfig" )
34-
35- List<String > newArgs = new ArrayList<> ()
36- newArgs. add(command)
37-
38- mlcpBean. properties. each { prop , val ->
39- def propVal
40- if (val) {
41- switch (prop) {
42- case " host" :
43- propVal = (val ? val : config. getHost())
44- break
45- case " port" :
46- propVal = (val ? val : 8000 )
47- break
48- case " username" :
49- propVal = (val ? val : config. getRestAdminUsername())
50- break
51- case [" class" , " logger" , " command" , " password" ]:
52- // skip for now
53- return
54- default :
55- propVal = val
56- break
57- }
58-
59- newArgs. add(" -" + prop);
60- newArgs. add(String . valueOf(propVal));
61- }
62- }
63-
64- // Ensure connection arguments are present
65- if (! newArgs. contains(" -host" )) {
66- newArgs. add(" -host" )
67- newArgs. add(config. getHost())
23+ @Delegate
24+ MlcpBean mlcpBean = new MlcpBean ();
25+
26+ public Logger getLogger () {
27+ return Logging . getLogger(MlcpTask . class)
28+ }
29+
30+ @TaskAction
31+ @Override
32+ public void exec () {
33+ setMain(" com.marklogic.contentpump.ContentPump" )
34+ AppConfig config = getProject(). property(" mlAppConfig" )
35+
36+ List<String > newArgs = new ArrayList<> ()
37+ newArgs. add(command)
38+
39+ mlcpBean. properties. each { prop , val ->
40+ def propVal
41+ if (val) {
42+ switch (prop) {
43+ case " host" :
44+ propVal = (val ? val : config. getHost())
45+ break
46+ case " port" :
47+ propVal = (val ? val : 8000 )
48+ break
49+ case " username" :
50+ propVal = (val ? val : config. getRestAdminUsername())
51+ break
52+ case [" class" , " logger" , " command" , " password" ]:
53+ // skip for now
54+ return
55+ default :
56+ propVal = val
57+ break
58+ }
59+
60+ newArgs. add(" -" + prop);
61+ newArgs. add(String . valueOf(propVal));
62+ }
6863 }
69- if (! newArgs. contains(" -port" )) {
70- newArgs. add(" -port" )
71- newArgs. add(" 8000" )
72- }
73- if (! newArgs. contains(" -username" )) {
74- newArgs. add(" -username" )
75- newArgs. add(config. getRestAdminUsername())
64+
65+ // Ensure connection arguments are present, but not if a COPY
66+ boolean isCopy = " COPY" . equals(command)
67+ if (! isCopy) {
68+ if (! newArgs. contains(" -host" )) {
69+ newArgs. add(" -host" )
70+ newArgs. add(config. getHost())
71+ }
72+ if (! newArgs. contains(" -port" )) {
73+ newArgs. add(" -port" )
74+ newArgs. add(" 8000" )
75+ }
76+ if (! newArgs. contains(" -username" )) {
77+ newArgs. add(" -username" )
78+ newArgs. add(config. getRestAdminUsername())
79+ }
7680 }
7781
7882 println " mlcp arguments, excluding password: " + newArgs
7983
80- newArgs. add(" -password" )
81- newArgs. add(password ? password : config. getRestAdminPassword())
84+ if (! isCopy) {
85+ newArgs. add(" -password" )
86+ newArgs. add(password ? password : config. getRestAdminPassword())
87+ }
8288
8389 // Include any args that a user has configured via the args parameter of the Gradle task
8490 newArgs. addAll(getArgs())
8591
86- setArgs(newArgs)
92+ setArgs(newArgs)
8793
88- super . exec()
89- }
94+ super . exec()
95+ }
9096}
0 commit comments