提交 b8bfb01e 编写于 作者: M Mark VanderVoord

Add support for AStyle in test makefile. It’s going to assume you have it installed.

上级 e36d8b53
...@@ -76,18 +76,35 @@ namespace :style do ...@@ -76,18 +76,35 @@ namespace :style do
task :check do task :check do
report "\nVERIFYING RUBY STYLE" report "\nVERIFYING RUBY STYLE"
report execute("rubocop ../auto ../examples ../extras --config .rubocop.yml", true) report execute("rubocop ../auto ../examples ../extras --config .rubocop.yml", true)
report "Style PASSED." report "Styling Ruby:PASS"
end end
namespace :check do namespace :check do
Dir['../**/*.rb'].each do |f| Dir['../**/*.rb'].each do |f|
task File.basename(f, '.rb').to_sym => ['style:clean'] do filename = File.basename(f, '.rb')
desc "Check Style of #{filename}"
task filename.to_sym => ['style:clean'] do
report execute("rubocop #{f} --color --config .rubocop.yml", true) report execute("rubocop #{f} --color --config .rubocop.yml", true)
report "Style Checked for #{f}" report "Style Checked for #{f}"
end end
end end
end end
desc "Fix Style of all C Code"
task :c do
run_astyle("../src/*.* ../extras/fixture/src/*.*")
end
namespace :c do
Dir['../{src,extras/**}/*.{c,h}'].each do |f|
filename = File.basename(f)[0..-3]
desc "Check Style of #{filename}"
task filename.to_sym do
run_astyle f
end
end
end
desc "Attempt to Autocorrect style" desc "Attempt to Autocorrect style"
task :auto => ['style:clean'] do task :auto => ['style:clean'] do
execute("rubocop ../auto ../examples ../extras --auto-correct --config .rubocop.yml") execute("rubocop ../auto ../examples ../extras --auto-correct --config .rubocop.yml")
......
...@@ -157,6 +157,18 @@ module RakefileHelpers ...@@ -157,6 +157,18 @@ module RakefileHelpers
{ :command => command, :pre_support => pre_support, :post_support => post_support } { :command => command, :pre_support => pre_support, :post_support => post_support }
end end
def run_astyle(style_what)
report "Styling C Code..."
command = "AStyle " \
"--style=allman --indent=spaces=4 --indent-switches --indent-preproc-define --indent-preproc-block " \
"--pad-oper --pad-comma --unpad-paren --pad-header " \
"--align-pointer=type --align-reference=name " \
"--add-brackets --mode=c --suffix=none " \
"#{style_what}"
execute(command, false)
report "Styling C:PASS"
end
def execute(command_string, ok_to_fail = false) def execute(command_string, ok_to_fail = false)
report command_string if $verbose report command_string if $verbose
output = `#{command_string}`.chomp output = `#{command_string}`.chomp
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册