When clearing VK test files - if some files didn't exist (because they weren't created) the bare rm command will report an error that the files didn't exist. We don't care, only that they are removed if they did exist.
* Shellcheck and update mycroft-config
* Shellcheck and update mycroft-pip
* Shellcheck and update mycroft-cli-client
* Shellcheck and update mycroft-help
* Shellcheck and update mycroft-listen
* Shellcheck and update mycroft-mic-test
* Shellcheck and update mycroft-msk
* Shellcheck and update mycroft-msm
* Shellcheck and update mycroft-say-to
* Shellcheck and update mycroft-skill-testrunner
* Shellcheck and update mycroft-speak
* Shellcheck and update mycroft-start
* Shellcheck and update mycroft-stop
* Add shellcheck step to github actions
This runs most of the shellcheck tests. The excludes are:
- SC1091: Avoids errors when shellcheck can't find sourced file
- SC2034: Unused variables, for example colors that aren't used yet
- SC2012: use of ls, from what I can see in our case this is fine (wc -l)
The version is locked to latest master as of November 2 2021
- Add TODO for 22.02 to remove the compatibility code
- Make Warning a single Log statement
- mycroft-config script now uses XDG-environment variable
- Remove redundant code
- Replace hard coded references to ~/.config
- Explicitly remove new path before move of "filesystem" (if needed)
Takes in arguments for both test_setup.py and behave test runner. Parses
any args for test_setup and passes any remaining arguments to behave.
This moves argparsing out of the test_setup main() allowing the helper commands
to pass in pre-parsed arguments rather than adding logic inside main to
differentiate between a list and a preparsed arument object
Add a cl tool to start mycroft to listen: mycroft-listen
Alternative triggers. #1357 - Added feature to activate via command line
This can be triggered in most desktop enviroments via short cuts
==== Documentation Notes ====
Activates the mycroft listening feature.
On branch feature/mycroft-listen_cli_tool
Changes to be committed:
new file: mycroft-listen
Many versions of Linux (most Debian-based versions) support a mechanimsm
based on a link called "sensible-editor", which is configured to invoke
the user's preferred editing tool.
To get colorization help, the temp file is now named with a ".json"
extension. Most editors can colorize appropriately based on that.
The new mycroft-config utility simplifies management of the the
various configuration files that control Mycroft. Commands include:
edit, show, get, set, reload.
* mycroft-config edit (default|remote|system|user)
Open the requested file in an editor (nano by default), performing
JSON validation warnings to minimize accidental edit errors.
* mycroft-config show (default|remote|system|user)
Dump the selected file with nice highlighting using jq
* mycroft-config get <var>
Load the mycroft.conf stack, outputting the effective value(s). The
<var> is specified using jq-style specifiers. For example:
mycroft-config get enclosure.platform
mycroft-config get location
mycroft-config get
* mycroft-config set <var> <value>
Set the given variable in the "user" configuration file. Examples:
mycroft-config set lang "es-es"
mycroft-config set tts.mimic.voice "ap"
* mycroft-config reload
Sends a signal on the messagebus to tell services to reload configs.
This automatically occurs after a 'set' or 'edit' command.
Several minor changes:
* Add mycroft-start and mycroft-stop, which can be used as commands anywhere
if the user has added this to the PATH. They are shortcuts to the
start-mycroft.sh and stop-mycroft.sh scripts.
* Add to the mycroft-help command reference
* Add "reset" parameter for start-mycroft.sh, which forces a service restart.
If a service is currently running, it will not restart by default anymore.
* Make the 'enclosure' service part of 'all' regardless of platform. This
makes sense not that it can handle a remote GUI connection.
* BUG: mycroft-stop would sometimes show odd messages if the skill process
had active child processes.
* Unify the command line experience across platforms
Interacting with Mycroft was slightly different on different platforms
(Mark 1, Github, Picroft), which resulted in confusion and the beginnings of a
documentation/support nightmare. This moves several of the common commands
into a mycroft-core/bin folder instead of being build in packaging or part
of the Picroft package only.
This required a small changes to the common scripts, in addition to adding
the new scripts. Here are details:
* dev_setup.sh
- Stubbed out a setup wizard (TODO)
- Jumped to latest version of pip (18.0)
- Set execution flags for new scripts
* start-mycroft.sh
- Allow auto-execution of dev_setup.sh
- De-sourced the stop-mycroft.sh calls (not needed)
- Add quotes to better handle paths with spaces
* stop-mycroft.sh
- Return exit code to show if a service was stopped or killed
- Extend the time to wait for a gently shutdown from 2 secs to 5
- Changed to say "messagebus.service" instead of just "service" to be more clear (the name "service" means nothing to users, but "bus does")
* venv-activate.sh
- Added help
- Added -q or --quiet mode
- Added toggled availability of 'mycroft-venv-activate' and 'mycroft-venv-deactivate' aliases. Only one is available at any given time.
New scripts:
* mycroft-cli-client: start up the CLI
* mycroft-help: shows hints on using mycroft
* mycroft-mic-test: runs the basic record/playback, playing nicely with a running Mycroft by stopping and restarting services as appropriate
* mycroft-pip: manage the venv via pip
* mycroft-say-to: send utterances, like a user spoke them
* mycroft-speak: speaks the given phrase using Mycroft
* mycroft-skill-testrunner: invoke the single-skill test runner
All of these scripts are easy to discover by typing "mycroft-" then
hitting the TAB key.
==== INSTALLER NOTES ====
* We no longer need to create mycroft-cli-client and mycroft-pip in the Debian packages.
* mycroft-core/bin should be added to the path
* Corrections after review
Several minor corrections, plus added wrappers for the 'msm' and 'msk'
utilities.
* Set executable flag on script files in bin/
The scripts in the bin/ folder needed to be changed to executable within
git to prevent looking dirty after dev_setup.sh has been run.
* Add executable flag to one more script