Sha256: 93cd1c2ff960f987376990a5e18c12c7ef0912d7924821e5e23d8fcc5628e52d

Contents?: true

Size: 677 Bytes

Versions: 6

Compression:

Stored size: 677 Bytes

Contents

require 'bundler/gem_tasks'
require 'rspec/core/rake_task'
require 'avro/builder'

RSpec::Core::RakeTask.new(:spec)

namespace :avro do
  desc 'Generate Avro schema files used by specs'
  task :generate_spec do
    root = 'spec/avro/dsl'
    Avro::Builder.add_load_path(root)
    Dir["#{root}/**/*.rb"].each do |dsl_file|
      puts "Generating Avro schema from #{dsl_file}"
      output_file = dsl_file.sub('/dsl/', '/schema/').sub(/\.rb$/, '.avsc')
      schema = Avro::Builder.build(File.read(dsl_file))
      FileUtils.mkdir_p(File.dirname(output_file))
      File.write(output_file, schema.end_with?("\n") ? schema : schema << "\n")
    end
  end
end

task default: :spec

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
avromatic-0.7.1 Rakefile
avromatic-0.7.0 Rakefile
avromatic-0.6.2 Rakefile
avromatic-0.6.1 Rakefile
avromatic-0.6.0 Rakefile
avromatic-0.5.0 Rakefile