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.34 lib/rake/common/echotask.rb
rake-delphi-0.0.33 lib/rake/common/echotask.rb
rake-delphi-0.0.32 lib/rake/common/echotask.rb
rake-delphi-0.0.31 lib/rake/common/echotask.rb
rake-delphi-0.0.29 lib/rake/common/echotask.rb
rake-delphi-0.0.30 lib/rake/common/echotask.rb
rake-delphi-0.0.28 lib/rake/common/echotask.rb
rake-delphi-0.0.27 lib/rake/common/echotask.rb
rake-delphi-0.0.26 lib/rake/common/echotask.rb
rake-delphi-0.0.25 lib/rake/common/echotask.rb
rake-delphi-0.0.24 lib/rake/common/echotask.rb
rake-delphi-0.0.23 lib/rake/common/echotask.rb
rake-delphi-0.0.22 lib/rake/common/echotask.rb
rake-delphi-0.0.21 lib/rake/common/echotask.rb
rake-delphi-0.0.20 lib/rake/common/echotask.rb
rake-delphi-0.0.19 lib/rake/common/echotask.rb
rake-delphi-0.0.18 lib/rake/common/echotask.rb
rake-delphi-0.0.17 lib/rake/common/echotask.rb
rake-delphi-0.0.16 lib/rake/common/echotask.rb
rake-delphi-0.0.15 lib/rake/common/echotask.rb