Open stellirin opened 9 months ago
After further testing it seems that, at least in some cases, both properties are required to fully disable a feature. History is easy to test when run as a user without permission to write to spring-shell.log
:
Test 1
No properties set. history
command is enabled and app does seem to use spring-shell.log
help
command works but errors with java.nio.file.AccessDeniedException: /**/spring-shell.log
history
command visible in help
history
command is enabled, errors with java.nio.file.AccessDeniedException: /**/spring-shell.log
Test 2
spring.shell.history.enabled=false
history
command is enabled but app doesn't seem to use spring-shell.log
help
command works without issuehistory
command visible in help
history
command is enabled, returns []
Test 3
spring.shell.command.history.enabled=false
history
command is not enabled but app does seem to use spring-shell.log
help
command works but errors with java.nio.file.AccessDeniedException: /**/spring-shell.log
history
command not visible in help
history
command is not enabled, returns No command found for 'history'
Test 4
spring.shell.history.enabled=false
spring.shell.command.history.enabled=false
history
command is not enabled and app doesn't seem to use spring-shell.log
help
command works without issuehistory
command not visible in help
history
command is not enabled, returns No command found for 'history'
Looks like we should document these better. If looking history, spring.shell.history.enabled
and spring.shell.command.history.enabled
are two different things. Former disabling history functionality in an interactive(i.e arrows up/down) shell and latter disabling the history command itself. You don't need to have history command
to have history feature enabled in an interactive mode.
Tested with 3.2.0-RC1 and 3.1.0, older versions were not tested because I'm using functionality introduced in 3.1.0.
Documentation states that I can add properties to disable functionality, e.g.:
However, of these three only
interactive.enabled: false
actually disables the feature. Easy to see it with thehelp
commandI found that
history
andscript
require different properties:Either documentation has been wrong for some time and the correct properties are
spring.shell.command.*.enabled=false
or A bug was introduced sometime ago that made the propertiesspring.shell.*.enabled=false
to stop working.