@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:
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|
...
end
Option 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, false
I'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.
@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:
:prettyto:airbrussh(see Make Airbrussh the default formatter for Capistrano #1541)mattbrictson/airbrusshtocapistrano/airbrusshWhen 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.
Option 2: Introduce settings in Capistrano's
load:defaultsthat are then passed down to Airbrussh during the boot process (probably insideconfigure_backend).I'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:
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.