namespace :config do
config = Biran::Configurinator.new desc 'Legacy - Generate all new config files' task :generate_legacy do Rake::Task['config:generate_with_deps'].enhance config.file_tasks Rake::Task['config:generate_with_deps'].invoke end task :generate_with_deps desc 'Generate all new config files' task :generate do error_count = 0 config.file_tasks.each do |task| Rake::Task["config:#{task}"].invoke rescue Biran::ConfigSyntaxError => e error_count += 1 puts e.p_warning next end abort 'Errors in creating config files' unless error_count == 0 end config.files_to_generate.each do |file_name, options| desc %(Generate the #{file_name}#{options.fetch(:extension, '')} config file) task file_name do config.create name: file_name, **options rescue ArgumentError => e e_message = "Missing required argument or bad formatting in config file for #{file_name}" e.set_backtrace([]) raise Biran::ConfigSyntaxError, e_message rescue Biran::ConfigSyntaxError => e e.set_backtrace([]) raise Biran::ConfigSyntaxError, e.message end end
end