-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Description
@leehambley, @robd and I have discussed making Airbrussh the default formatter in the next version of Capistrano. I'd like to use this thread to hammer out the details.
Here's my TODO list so far:
- Add Airbrussh to capistrano.gemspec (see Make Airbrussh the default formatter for Capistrano #1541)
- Change default format from
:prettyto:airbrussh(see Make Airbrussh the default formatter for Capistrano #1541) - Mention Airbrussh in Capistrano's README, so that people wanting to contribute/report bugs about the new default formatter know to go to the Airbrussh repo (see Add Airbrussh to list of related repos in README #1588)
- Move the Airbrussh repo from
mattbrictson/airbrusshtocapistrano/airbrussh - Add basic Airbrussh documentation to capistranorb.com
When it gets down to the details, things are a bit more tricky. The first thing on my mind is configuration; I'm sure other issues will come up.
Configuration
Option 1: Maintain the current Airbrussh configuration mechanism.
Airbrussh.configure do |config|
...
endOption 2: Introduce settings in Capistrano's load:defaults that are then passed down to Airbrussh during the boot process (probably inside configure_backend).
# These get passed through to Airbrussh
set_if_empty :log_file, "log/capistrano.log"
set_if_empty :console_color, :auto
set_if_empty :console_truncate, :auto
set_if_empty :display_command_output, falseI'm leaning towards option 2, because I don't think end users should need to know Airbrussh exists. Like SSHKit, it is used behind the scenes, and most people don't need to access it directly. I expect people's mindset will be "how do I change Capistrano's output", not "how do I change Airbrussh's output". Does that sound right?
Edit: I've decided on Option 3:
set :format_options, color: true, command_output:false, ...Other thoughts?
Any other tasks or consequences of the merge that I haven't covered here? Let me know and I will add to the checklist.