Rakefile in travis-1.5.3 vs Rakefile in travis-1.5.4
- old
+ new
@@ -43,79 +43,14 @@
File.write('README.md', readme)
end
task :completion do
require 'travis/cli'
+ require 'erb'
commands = Travis::CLI.commands.sort_by { |c| c.command_name }
- names = commands.map(&:command_name).join("\n")
- options = commands.map do |command|
- flags = command.new.parser.candidate("-").flat_map do |option|
- next option unless option.start_with?('--[no-]')
- [option.sub('[no-]', ''), option.sub('[no-]', 'no-')]
- end.join("\n")
-
- case command.command_name
- when "setup"
- completions = command.public_instance_methods.
- select { |m| m.to_s.start_with? "setup_" }.
- map { |m| m.to_s.sub('setup_', '') + "\n" }.join << flags
- when "help"
- completions = "#{names}\n#{flags}"
- else
- completions = flags
- end
-
- <<-SHELL
- #{command.command_name})
- completions="#{completions}"
- ;;
- SHELL
- end.join("\n")
-
- zsh = <<-SHELL
- _travis_complete() {
- local words completions
- read -cA words
- if [ "${#words}" -eq 2 ]; then
- completions="#{names}"
- else
- case "${words[2]}" in
- #{options}
- esac
- fi
- reply=("${(ps:\n:)completions}")
- }
-
- compctl -K _travis_complete travis
- SHELL
-
- bash = <<-SHELL
- _travis_complete() {
- COMPREPLY=()
- local completions
- if [ "$COMP_CWORD" -eq 1 ]; then
- completions="#{names}"
- else
- case "${COMP_WORDS[1]}" in
- #{options}
- esac
- fi
- COMPREPLY=( $(compgen -W "$completions" -- "${COMP_WORDS[COMP_CWORD]}") )
- }
-
- complete -F _travis_complete travis
- SHELL
-
- File.write('completion/travis.sh', <<-SHELL.gsub(/^\s+/, ''))
- # This file is generated by `rake completion`
- if [ -n "$BASH_VERSION" ]; then
- #{bash}
- fi
-
- if [ -n "$ZSH_VERSION" ]; then
- #{zsh}
- fi
- SHELL
+ template = File.read('completion/travis.sh.erb')
+ source = ERB.new(template).result(binding).gsub(/^ +\n/, '')
+ File.write('completion/travis.sh', source)
end
task 'travis.gemspec' => :update
task 'README.md' => :update
\ No newline at end of file