Sha256: 43a733c1f58fd3da75c559bb34ead9e76d350757b533d87df852831e58a0cfdf

Contents?: true

Size: 1.04 KB

Versions: 30

Compression:

Stored size: 1.04 KB

Contents

# encoding: utf-8

require 'fileutils'
require 'rake/common/classes'
require 'rake/helpers/raketask'

module Rake
  module Delphi
    class EchoToFile < BasicTask
        def initialize(task, ifile, ofile, vars)
            super(task)
            @task.out "#{ifile} -> #{ofile}"
            FileUtils.mkdir_p(File.dirname(ofile))
            File.open(ifile, 'r') do |f|
                File.open(ofile, 'w') do |w|
                    while (line = f.gets)
                        # replace ${var1.var2.var3} with its value from xml
                        line.gsub!(/\$\{(.+?)\}/) do |match|
                            val = nil
                            $1.split(".").each do |part|
                                val = val.nil? ? vars[part] : val[part]
                            end
                            match = val.nil? ? match : val
                        end if vars
                        w.puts line
                    end
                    w.close
                end
                f.close
            end
        end
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
rake-delphi-0.0.14 lib/rake/common/echotask.rb
rake-delphi-0.0.13 lib/rake/common/echotask.rb
rake-delphi-0.0.12 lib/rake/common/echotask.rb
rake-delphi-0.0.11 lib/rake/common/echotask.rb
rake-delphi-0.0.9 lib/rake/common/echotask.rb
rake-delphi-0.0.8 lib/rake/common/echotask.rb
rake-delphi-0.0.7 lib/rake/common/echotask.rb
rake-delphi-0.0.6 lib/rake/common/echotask.rb
rake-delphi-0.0.5 lib/rake/common/echotask.rb
rake-delphi-0.0.4 lib/rake/common/echotask.rb