Sha256: 155ebb0c577912e22b3fedb2b6135ca59f46cdbcdf41fc5004021876edfcda05

Contents?: true

Size: 1.01 KB

Versions: 1

Compression:

Stored size: 1.01 KB

Contents

class ClosureCompilerRunner
  
  def initialize(jar, dir, filter, config)
    @jar = jar
    @config_file = dir + '/closure-compiler.yml'
    @dir = dir
    @filter = filter
    @config = config
  end
  
  def name
    return 'Closure Compiler'
  end
  
  def execute
    @config.reload
    conf = @config.conf
    
    input_params = ''

    conf.each do |param, value|
        
      if value.kind_of? Array
        
        value.each do |inner_value|
          input_params += " --#{param} \"#{inner_value}\""
        end
        
      elsif value.kind_of? Integer
        input_params += " --#{param} #{value}"
      else
        input_params += " --#{param} \"#{value}\""
      end
    end
    
    return `java -Xmx1024m -jar "#{@jar}" #{input_params} 2>&1`
  end
  
  def is_configured?(all_files)
    return all_files.include?(@config_file)
  end
  
  def should_run?(modified_files)
    return !(modified_files.detect { |file| @filter.filter(file) && file != @output }).nil? || modified_files.include?(@config_file)
  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
loris-0.3.0 lib/tasks/closure_compiler/closure_compiler_runner.rb