Sha256: 709bfb7a21263047addbf3592494080b1246bb35642a54c454ba9248edd654ce

Contents?: true

Size: 1.41 KB

Versions: 10

Compression:

Stored size: 1.41 KB

Contents

# vim: set shiftwidth=2 tabstop=2 expandtab:
# encoding: utf-8

require 'erb'
require 'rake/helpers/raketask'
require 'rake/helpers/gemversion'
require 'rake/common/chdirtask'

module Rake
  module Delphi
    class AndroidManifestInfo
      def initialize(owner)
        @owner = owner
        @version = '1.3.2.4'
      end

      def get_binding
        binding
      end

      def version
        Gem::VersionImproved.new(@version)
      end

      def libname
        @owner.dccTask.dpr.pathmap('%n')
      end
    end

    class AndroidManifestTask < Rake::Task
      attr_reader :output, :dccTask
    public
      def initialize(name, application)
        super
        self.needed = false
        @template = 'AndroidManifest.erb'
        @output = 'AndroidManifest.xml'
        @template_obj = AndroidManifestInfo.new(self)
      end

      def execute(args = nil)
        super
        paclientTaskName = name.gsub(/:manifest$/, '')
        @dccTask = application[paclientTaskName].dccTask
        ChDir.new(self, File.dirname(@dccTask.dpr)) do |dir|
          RakeFileUtils.verbose(Logger.debug?) do
            erb = ERB.new(IO.read(@template))
            text = erb.result(@template_obj.get_binding)
            File.open(@output, 'w') do |f|
              f.write(text)
            end
          end
        end
      end
    end # class AndroidManifestTask
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
rake-delphi-0.0.20 lib/rake/delphi/androidmanifest.rb
rake-delphi-0.0.19 lib/rake/delphi/androidmanifest.rb
rake-delphi-0.0.18 lib/rake/delphi/androidmanifest.rb
rake-delphi-0.0.17 lib/rake/delphi/androidmanifest.rb
rake-delphi-0.0.16 lib/rake/delphi/androidmanifest.rb
rake-delphi-0.0.15 lib/rake/delphi/androidmanifest.rb
rake-delphi-0.0.14 lib/rake/delphi/androidmanifest.rb
rake-delphi-0.0.13 lib/rake/delphi/androidmanifest.rb
rake-delphi-0.0.12 lib/rake/delphi/androidmanifest.rb
rake-delphi-0.0.11 lib/rake/delphi/androidmanifest.rb