chingor13/service_contract

View on GitHub
lib/service_contract/tasks.rb

Summary

Maintainability
A
0 mins
Test Coverage
namespace :avro do
  desc 'build definitions'
  task :build do
    jar_file = File.expand_path("../../../src/avro-tools-1.7.7.jar", __FILE__)
    spec_dir = File.expand_path(".")
    Dir.glob(File.join(spec_dir, "/**/*.avdl")) do |file|
      puts file
      folder = File.expand_path(File.join(File.dirname(file), "../compiled"))
      FileUtils.mkdir_p(folder)
      new_file = File.join(folder, File.basename(file, ".avdl"))
      command = "java -jar #{jar_file} idl #{file} #{new_file}.avpr"
      puts command
      `#{command}`
    end
  end

  desc 'extract schemas'
  task :schema do
    jar_file = File.expand_path("../../../src/avro-tools-1.7.7.jar", __FILE__)
    spec_dir = File.expand_path(".")
    Dir.glob(File.join(spec_dir, "/**/*.avdl")) do |file|
      puts file
      folder = File.expand_path(File.join(File.dirname(file), "../schemas"))
      command = "java -jar #{jar_file} idl2schemata #{file} #{folder}"
      puts command
      `#{command}`
    end
  end
end