]
Ryan Emerson commented on WFCORE-1199:
--------------------------------------
My proposed solution requires that lists containing > 1 value must be contained within
[] brackets. This prevents the list from being perceived as multiple commands and allows
the list to be passed to the appropriate handler where the [] brackets can be removed and
the list processed as expected.
So for example the valid command to add a module would become:
./bin/jboss-cli.sh -c --controller=localhost --commands="module add --name=test
--resources=test.jar --dependencies=[dep1,dep2]
and the resulting module.xml dependencies would be:
<dependencies>
<module name="dep1"/>
<module name="dep2"/>
</dependencies>
CLI Lists in non-interactive mode are erroneously split into multiple
commands
------------------------------------------------------------------------------
Key: WFCORE-1199
URL:
https://issues.jboss.org/browse/WFCORE-1199
Project: WildFly Core
Issue Type: Bug
Components: CLI, Modules, Patching
Reporter: Ryan Emerson
Assignee: Ryan Emerson
The problem arises because commands entered in non-interactive mode are split by the
"," character. Therefore, in the case of:
"./bin/jboss-cli.sh -c --controller=localhost --commands="module add
--name=test --resources=test.jar --dependencies=dep1,dep2"
the cli is incorrectly splitting the request into two distinct commands:
1. module add --name=test --resources=test.jar --dependencies=dep1
2. dep2
The reason this behaviour is not observed in interactive mode is because multiple
commands can not be specified. However, in non-interactive mode --commands=ls,pwd is
valid and should result in the execution of ls followed by pwd.
This problem is not restricted to the module command, as it affects all commands entered
in non-interactive mode that require a comma-separated list as an argument. So far this
appears to be PatchHanlder.java, ASModuleHandler.java and DeploymentOverlayHandler.java.