lib/daemon_kit/tasks/framework.rake in daemon-kit-0.3.0.rc1 vs lib/daemon_kit/tasks/framework.rake in daemon-kit-0.3.0.rc2
- old
+ new
@@ -1,123 +1,42 @@
namespace :daemon_kit do
- namespace :freeze do
- desc "Lock this application to the current gem (by unpacking it into vendor/daemon_kit)"
- task :gems do
- deps = %w()
- require 'rubygems'
- require 'rubygems/gem_runner'
- kit = (version = ENV['VERSION']) ?
- Gem.cache.find_name('daemon-kit', "= #{version}").first :
- Gem.cache.find_name('daemon-kit').sort_by { |g| g.version }.last
-
- version ||= kit.version
-
- unless kit
- puts "No daemon_kit gem #{version} is installed. Do 'gem list daemon-kit' to see what you have available."
- exit
- end
-
- puts "Freezing the gem for DaemonKit #{kit.version}"
- mkdir_p "vendor"
-
- begin
- chdir("vendor") do
- kit.dependencies.select { |g| deps.include? g.name }.each do |g|
- Gem::GemRunner.new.run(["unpack", g.name, "--version", g.version_requirements.to_s])
- mv(Dir.glob("#{g.name}*").first, g.name)
- end
-
- Gem::GemRunner.new.run(["unpack", "daemon-kit", "--version", "=#{version}"])
- FileUtils.mv(Dir.glob("daemon-kit*").first, "daemon-kit")
- end
- rescue Exception
- rm_rf "vendor/daemon-kit"
- raise
- end
- end
-
- desc 'Lock to latest edge daemon_kit'
- task :edge do
- require 'open-uri'
- #version = ENV["RELEASE"] || "edge"
- commits = "http://github.com/api/v1/yaml/kennethkalmer/daemon-kit/commits/master"
- url = "http://github.com/kennethkalmer/daemon-kit/zipball/master"
-
- rm_rf "vendor/daemon-kit"
-
- chdir 'vendor' do
- latest_revision = YAML.load(open(commits))["commits"].first["id"]
-
- puts "Downloading DaemonKit from #{url}"
- File.open('daemon-kit.zip', 'wb') do |dst|
- open url do |src|
- while chunk = src.read(4096)
- dst << chunk
- end
- end
- end
-
- puts 'Unpacking DaemonKit'
- rm_rf 'daemon-kit'
- `unzip daemon-kit.zip`
- FileUtils.mv(Dir.glob("kennethkalmer-daemon-kit*").first, "daemon-kit")
- %w(daemon-kit.zip).each do |goner|
- rm_f goner
- end
-
- touch "REVISION_#{latest_revision}"
- end
- end
-
- end
-
desc "Upgrade your local files for a daemon after upgrading daemon-kit"
task :upgrade => 'environment' do
# Run these
- %w{ initializers rakefile scripts gemfile }.each do |t|
+ %w{ config root scripts }.each do |t|
Rake::Task["daemon_kit:upgrade:#{t}"].invoke
end
puts
puts "#{DaemonKit.configuration.daemon_name} has been upgraded."
end
namespace :upgrade do
- # Upgrade the initializers
- task :initializers do
- copy_framework_template( 'config', 'boot.rb' )
+ def invoke_from_app_generator(method)
+ app_generator.send(method)
+ end
- if File.directory?( File.join(DaemonKit.root, 'config', 'initializers') )
- mv File.join(DaemonKit.root, 'config', 'initializers'), File.join(DAEMON_ROOT, 'config', 'pre-daemonize')
- copy_framework_template( 'config', 'pre-daemonize', 'readme' )
- end
+ def app_generator
+ @app_generator ||= begin
+ require 'daemon_kit/generators'
- unless File.directory?( File.join(DAEMON_ROOT, 'config', 'post-daemonize') )
- mkdir_p File.join(DAEMON_ROOT, 'config', 'post-daemonize')
- copy_framework_template( 'config', 'post-daemonize', 'readme' )
+ name = DaemonKit.configuration.daemon_name
+ gen = DaemonKit::Generators::AppGenerator.new( [name], { :with_dispatchers => true },
+ :destination_root => DaemonKit.root )
+ gen
end
end
- # Upgrade the Rakefile
- task :rakefile do
- copy_framework_template( 'Rakefile' )
+ task :config do
+ invoke_from_app_generator(:create_config_files)
end
- # Upgrade the scripts
- task :scripts do
- %w{ console destroy generate }.each do |s|
- copy_framework_template( "script", s )
- end
+ task :root do
+ invoke_from_app_generator(:create_root_files)
end
- # Upgrade the Gemfile
- task :gemfile do
- copy_framework_template( 'Gemfile' )
+ task :scripts do
+ invoke_from_app_generator(:create_script_files)
end
end
-end
-
-def copy_framework_template( *args )
- src_dir = File.join(DaemonKit.framework_root, 'lib', 'generators', 'daemon_kit', 'app', 'templates')
- cp File.join( src_dir, *args ), File.join( DaemonKit.root, *args )
end