Sha256: 9c029506c2719ddd5fb5f76695489ed865762c3c9c831b8a8063b29a74a6ffea

Contents?: true

Size: 999 Bytes

Versions: 12

Compression:

Stored size: 999 Bytes

Contents

# frozen_string_literal: true

namespace :build do
  src_directory = 'lib/connect_proto/src'

  def compile(src_directory, path)
    print "Compiling #{path}"
    `protoc --proto_path=#{src_directory} --ruby_out=lib/connect_proto/build #{path}`
    puts ' - done' if $?.exitstatus.zero?
  end

  task :default do
    Dir.glob("#{src_directory}/**/*.proto").each do |protobuf|
      compile(src_directory, protobuf)
    end
  end

  desc 'Watch protobuf src directory and compile after any changes'
  task :watch do
    require 'listen'
    listener = Listen.to(src_directory, only: /.proto$/, relative: true) do |modified, added, removed|
      (modified + added).each do |path|
        compile(src_directory, path)
      end
      removed.each do |path|
        puts "Deleting #{path}"
        File.delete(path) if File.exist?(path)
      end
    end
    listener.start
    puts "Watching #{src_directory}/**/*.proto"
    sleep
  end
end

desc 'Compile all protobufs'
task default: 'build:default'

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
primary_connect_proto-0.11.0 Rakefile
primary_connect_proto-0.10.2 Rakefile
primary_connect_proto-0.10.1 Rakefile
primary_connect_proto-0.9.0 Rakefile
primary_connect_proto-0.8.2 Rakefile
primary_connect_proto-0.8.1 Rakefile
primary_connect_proto-0.8.0 Rakefile
primary_connect_proto-0.7.3 Rakefile
primary_connect_proto-0.7.2 Rakefile
primary_connect_proto-0.7.1 Rakefile
primary_connect_proto-0.7.0 Rakefile
primary_connect_proto-0.6.0 Rakefile