Rakefile in nutcracker-web-0.0.1 vs Rakefile in nutcracker-web-0.0.2
- old
+ new
@@ -1,20 +1,46 @@
$:.unshift File.expand_path '../lib', __FILE__
-require 'nutcracker/web/version'
+require 'nutcracker/web'
require 'rake'
require 'rubygems/package_task'
require "rake/testtask"
-Nutcracker::Web::GemSpec = eval File.read 'nutcracker-web.gemspec'
+desc "Compile assets"
+task :compile do
+ require 'logger'
+ require 'pathname'
+ require 'sprockets'
+ require 'uglifier'
+ require 'eco'
-task :gem => [:clobber_package]
+ rm_rf 'public'
+ mkdir_p 'public/assets'
+ build_dir = Pathname(File.dirname(__FILE__)).join("public/assets")
+
+ environment = Nutcracker::Web::App.assets
+ environment.logger = Logger.new STDOUT
+ environment.js_compressor = Uglifier.new(mangle: true)
+
+ %w( javascripts/application.js stylesheets/application.css ).each do |target|
+ target = File.expand_path("../assets/#{target}",__FILE__)
+ environment.logger.info "#{'#'*10} Building #{target} #{'#'*10} "
+ asset = environment[target] or abort "Unknown target #{target.inspect}"
+ prefix, basename = asset.pathname.to_s.split('/')[-2..-1]
+ asset.write_to build_dir.join(basename)
+ end
+end
-Gem::PackageTask.new Nutcracker::Web::GemSpec do |p|
- p.gem_spec = Nutcracker::Web::GemSpec
+Gem::PackageTask.new(eval File.read('nutcracker-web.gemspec')) do |pkg|
+ pkg.need_zip = false
+ pkg.need_tar = false
end
-task :install => [:gem] do
- sh "gem install pkg/nutcracker"
+task :build => [:compile] do
+ `rake gem`
+end
+
+task :install => [:build] do
+ sh "gem install pkg/nutcracker-web"
Rake::Task['clobber_package'].execute
end
## Tests stuff
task :default => :test