Add support for packager to build one-click installers

This commit is contained in:
Chris Eppstein 2012-03-14 00:19:54 -07:00
parent 95844e1b51
commit b90f9c5be0
3 changed files with 38 additions and 3 deletions

1
.gitignore vendored
View File

@ -29,3 +29,4 @@ devbin
vendor/ruby
vendor
Gemfile.lock
Compass.pkg

View File

@ -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 File

@ -1,7 +1,16 @@
require 'rubygems'
if ENV["PKG"]
$: << File.expand_path(File.dirname(__FILE__))+"/lib"
else
require 'bundler'
Bundler.setup
require 'rake/dsl_definition' rescue nil
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