Sha256: 8770e099e3b98e1c1701ec534469dd522d84798dfa2946cd8ef9876698f9b14c

Contents?: true

Size: 1.67 KB

Versions: 15

Compression:

Stored size: 1.67 KB

Contents

# ===========================================================================
# Project:   Abbot - SproutCore Build Tools
# Copyright: ©2009 Apple Inc.
#            portions copyright @2006-2009 Sprout Systems, Inc.
#            and contributors
# ===========================================================================

require File.expand_path(File.join(File.dirname(__FILE__), 'base'))
require 'fileutils'

module SC

  # This builder combines several javascript files into a single file.  It is
  # used to prepare a single javascript file for production use.  This build
  # tool expects the javascript files to have already been processed for any
  # build directives such sc_static().
  #
  class Builder::Combine < Builder::Base
    
    def build(dst_path)
      lines = []
      entries = entry.ordered_entries || entry.source_entries
      
      target_name = entry.target.target_name.to_s.sub(/^\//,'')
      if entry.top_level_lazy_instantiation && entry.combined
        lines << ";
if ((typeof SC !== 'undefined') && SC && !SC.LAZY_INSTANTIATION) {
  SC.LAZY_INSTANTIATION = {};
}
if(!SC.LAZY_INSTANTIATION['#{target_name}']) {
  SC.LAZY_INSTANTIATION['#{target_name}'] = [];
}
SC.LAZY_INSTANTIATION['#{target_name}'].push(
  (
    function() {
"        
      end  

      entries.each do |entry|
        src_path = entry.stage!.staging_path
        next unless File.exist?(src_path)
        
        lines << "/* >>>>>>>>>> BEGIN #{entry.filename} */\n"
        lines += readlines(src_path)
        lines << "\n"
      end

      if entry.top_level_lazy_instantiation && entry.combined
        lines << "
    }
  )
);
"
    end
      writelines dst_path, lines
    end
    
  end
  
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
sproutcore-1.0.1046 lib/sproutcore/builders/combine.rb
sproutcore-1.0.1043 lib/sproutcore/builders/combine.rb
sproutcore-1.0.1042 lib/sproutcore/builders/combine.rb
sproutcore-1.0.1037 lib/sproutcore/builders/combine.rb
sproutcore-1.0.1035 lib/sproutcore/builders/combine.rb
sproutcore-1.0.1031 lib/sproutcore/builders/combine.rb
sproutcore-1.0.1030 lib/sproutcore/builders/combine.rb
sproutcore-1.0.1029 lib/sproutcore/builders/combine.rb
sproutcore-1.0.1027 lib/sproutcore/builders/combine.rb
sproutcore-1.0.1028 lib/sproutcore/builders/combine.rb
sproutcore-1.0.1026 lib/sproutcore/builders/combine.rb
sproutcore-1.0.1025 lib/sproutcore/builders/combine.rb
sproutcore-1.0.1024 lib/sproutcore/builders/combine.rb
sproutcore-1.0.1009 lib/sproutcore/builders/combine.rb
sproutcore-1.0.1008 lib/sproutcore/builders/combine.rb