Permalink
Browse files

Add support for packager to build one-click installers

  • Loading branch information...
chriseppstein committed Mar 14, 2012
1 parent 95844e1 commit b90f9c5be003ffad3109ec9177d5c1d8d6910403
Showing with 38 additions and 3 deletions.
  1. +1 −0 .gitignore
  2. +3 −0 Gemfile
  3. +34 −3 Rakefile
View
@@ -29,3 +29,4 @@ devbin
vendor/ruby
vendor
Gemfile.lock
+Compass.pkg
View
@@ -2,6 +2,7 @@ source :rubygems
gemspec
+unless ENV['PKG']
gem "cucumber", "~> 1.1.4"
gem "rspec", "~>2.0.0"
gem "rails", "~> 3.1"
@@ -25,4 +26,6 @@ unless ENV["CI"]
gem 'guard'
gem 'guard-test'
gem 'guard-cucumber'
+ gem 'packager'
+end
end
View
@@ -1,7 +1,16 @@
require 'rubygems'
-require 'bundler'
-Bundler.setup
-require 'rake/dsl_definition' rescue nil
+if ENV["PKG"]
+ $: << File.expand_path(File.dirname(__FILE__))+"/lib"
+else
+ require 'bundler'
+ Bundler.setup
+end
+
+begin
+ require 'rake/dsl_definition'
+rescue LoadError
+ #pass
+end
require 'compass'
# ----- Default: Testing ------
@@ -10,12 +19,17 @@ task :default => [:test, :features]
require 'rake/testtask'
require 'fileutils'
+
+begin
require 'cucumber'
require 'cucumber/rake/task'
Cucumber::Rake::Task.new(:features) do |t|
t.cucumber_opts = "features --format progress"
end
+rescue LoadError
+ $stderr.puts "cannot load cucumber"
+end
Rake::TestTask.new :test do |t|
t.libs << 'lib'
@@ -124,3 +138,20 @@ rescue LoadError => e
puts "WARNING: #{e}"
end
+begin
+ require 'packager/rake_task'
+ require 'compass/version'
+ # Building a package:
+ # 1. Get packager installed and make sure your system is setup correctly according to their docs.
+ # 2. Make sure you are actually using a universal binary that has been nametooled.
+ # 3. PKG=1 OFFICIAL=1 rake packager:pkg
+ Packager::RakeTask.new(:pkg) do |t|
+ t.package_name = "Compass"
+ t.version = Compass::VERSION
+ t.domain = "compass-style.org"
+ t.bin_files = ["compass"]
+ t.resource_files = FileList["frameworks/**/*"] + ["VERSION.yml", "LICENSE.markdown"]
+ end
+rescue LoadError => e
+ puts "WARNING: #{e}"
+end

0 comments on commit b90f9c5

Please sign in to comment.