Sha256: 24eac770afbd75078d8b9a04db7ffcf4d120cbee6347544a81d779b29a7e4809

Contents?: true

Size: 1.38 KB

Versions: 16

Compression:

Stored size: 1.38 KB

Contents

require 'rubygems'

require 'rake'
require 'rake/testtask'

require 'bundler'
require 'rubygems/package_task'


RAGEL_SOURCE_DIR = File.expand_path '../lib/regexp_parser/scanner', __FILE__
RAGEL_OUTPUT_DIR = File.expand_path '../lib/regexp_parser', __FILE__
RAGEL_SOURCE_FILES = %w{scanner} # scanner.rl includes property.rl


Bundler::GemHelper.install_tasks


task :default => [:'test:full']

namespace :test do
  task full: :'ragel:rb' do
    sh 'bin/test'
  end
end

namespace :ragel do
  desc "Process the ragel source files and output ruby code"
  task :rb do |t|
    RAGEL_SOURCE_FILES.each do |file|
      output_file = "#{RAGEL_OUTPUT_DIR}/#{file}.rb"
      # using faster flat table driven FSM, about 25% larger code, but about 30% faster
      sh "ragel -F1 -R #{RAGEL_SOURCE_DIR}/#{file}.rl -o #{output_file}"

      contents = File.read(output_file)

      File.open(output_file, 'r+') do |file|
        contents = "# -*- warn-indent:false;  -*-\n" + contents

        file.write(contents)
      end
    end
  end

  desc "Delete the ragel generated source file(s)"
  task :clean do |t|
    RAGEL_SOURCE_FILES.each do |file|
      sh "rm -f #{RAGEL_OUTPUT_DIR}/#{file}.rb"
    end
  end
end


# Add ragel task as a prerequisite for building the gem to ensure that the
# latest scanner code is generated and included in the build.
desc "Runs ragel:rb before building the gem"
task :build => ['ragel:rb']

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
regexp_parser-0.5.0 Rakefile
regexp_parser-0.4.13 Rakefile
regexp_parser-0.4.12 Rakefile
regexp_parser-0.4.11 Rakefile
regexp_parser-0.4.10 Rakefile
regexp_parser-0.4.9 Rakefile
regexp_parser-0.4.8 Rakefile
regexp_parser-0.4.7 Rakefile
regexp_parser-0.4.6 Rakefile
regexp_parser-0.4.5 Rakefile
regexp_parser-0.4.4 Rakefile
regexp_parser-0.4.3 Rakefile
regexp_parser-0.4.2 Rakefile
regexp_parser-0.4.1 Rakefile
regexp_parser-0.4.0 Rakefile
regexp_parser-0.3.6 Rakefile