[421] MacRuby/trunk/lib/hotcocoa/application_builder.rb
Revision: 421 http://trac.macosforge.org/projects/ruby/changeset/421 Author: rich@infoether.com Date: 2008-08-11 23:00:09 -0700 (Mon, 11 Aug 2008) Log Message: ----------- change force to overwrite, expand the sources upon appending them, explicitly build the directories if needed in the Resources dir Modified Paths: -------------- MacRuby/trunk/lib/hotcocoa/application_builder.rb Modified: MacRuby/trunk/lib/hotcocoa/application_builder.rb =================================================================== --- MacRuby/trunk/lib/hotcocoa/application_builder.rb 2008-08-11 17:37:44 UTC (rev 420) +++ MacRuby/trunk/lib/hotcocoa/application_builder.rb 2008-08-12 06:00:09 UTC (rev 421) @@ -6,7 +6,7 @@ ApplicationBundlePackage = "APPL????" - attr_accessor :name, :load_file, :sources, :force + attr_accessor :name, :load_file, :sources, :overwrite def self.build(build_options) if build_options[:file] @@ -16,7 +16,7 @@ ab = new ab.name = build_options[:name] ab.load_file = build_options[:load] - ab.force = (build_options.include?(:force) ? build_options[:force] : false) + ab.overwrite = (build_options.include?(:overwrite) ? build_options[:overwrite] : true) sources = build_options[:sources] || [] sources.each do |source| ab << source @@ -35,22 +35,24 @@ copy_sources end - def force? - @force + def overwrite? + @overwrite end - def <<(source_file) - sources << source_file + def <<(source_file_pattern) + Dir.glob(source_file_pattern).each do |source_file| + sources << source_file + end end private def check_for_bundle_root if File.exist?(bundle_root) - if force? - puts `rm -rf #{bundle_root}` + if overwrite? + `rm -rf #{bundle_root}` else - puts "Error, #{bundle_root} already exists, use :force => true to remove" + puts "Error, #{bundle_root} already exists, use :overwrite => true to remove" end end end @@ -72,7 +74,9 @@ def copy_sources FileUtils.cp_r load_file, resources_root unless sources.include?(load_file) sources.each do |source| - FileUtils.cp_r source, resources_root + destination = File.join(resources_root, source) + FileUtils.mkdir_p(File.dirname(destination)) unless File.exist?(File.dirname(destination)) + FileUtils.cp_r source, destination end end
participants (1)
-
source_changes@macosforge.org