diff --git a/.gitignore b/.gitignore index 4d1d6ab..05884cc 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ pkg .DS_Store .idea .*.swp +sprinkle.gemspec diff --git a/History.txt b/History.txt deleted file mode 100644 index 350e011..0000000 --- a/History.txt +++ /dev/null @@ -1,4 +0,0 @@ -== 0.0.1 2008-03-11 - -* 1 major enhancement: - * Initial release diff --git a/Manifest.txt b/Manifest.txt deleted file mode 100644 index 1b2ed21..0000000 --- a/Manifest.txt +++ /dev/null @@ -1,111 +0,0 @@ -CREDITS -History.txt -MIT-LICENSE -Manifest.txt -README.markdown -Rakefile -bin/sprinkle -config/hoe.rb -config/requirements.rb -examples/packages/build_essential.rb -examples/packages/databases/mysql.rb -examples/packages/databases/sqlite3.rb -examples/packages/phusion.rb -examples/packages/ruby/rails.rb -examples/packages/ruby/ruby.rb -examples/packages/ruby/rubygems.rb -examples/packages/scm/git.rb -examples/packages/scm/subversion.rb -examples/packages/servers/apache.rb -examples/rails/README -examples/rails/deploy.rb -examples/rails/packages/database.rb -examples/rails/packages/essential.rb -examples/rails/packages/rails.rb -examples/rails/packages/scm.rb -examples/rails/packages/search.rb -examples/rails/packages/server.rb -examples/rails/rails.rb -examples/sprinkle/sprinkle.rb -lib/sprinkle.rb -lib/sprinkle/actors/actors.rb -lib/sprinkle/actors/capistrano.rb -lib/sprinkle/actors/local.rb -lib/sprinkle/actors/ssh.rb -lib/sprinkle/actors/vlad.rb -lib/sprinkle/configurable.rb -lib/sprinkle/deployment.rb -lib/sprinkle/extensions/arbitrary_options.rb -lib/sprinkle/extensions/array.rb -lib/sprinkle/extensions/blank_slate.rb -lib/sprinkle/extensions/dsl_accessor.rb -lib/sprinkle/extensions/string.rb -lib/sprinkle/extensions/symbol.rb -lib/sprinkle/installers/apt.rb -lib/sprinkle/installers/noop.rb -lib/sprinkle/installers/bsd_port.rb -lib/sprinkle/installers/deb.rb -lib/sprinkle/installers/freebsd_pkg.rb -lib/sprinkle/installers/gem.rb -lib/sprinkle/installers/installer.rb -lib/sprinkle/installers/mac_port.rb -lib/sprinkle/installers/openbsd_pkg.rb -lib/sprinkle/installers/opensolaris_pkg.rb -lib/sprinkle/installers/push_text.rb -lib/sprinkle/installers/rake.rb -lib/sprinkle/installers/rpm.rb -lib/sprinkle/installers/source.rb -lib/sprinkle/installers/transfer.rb -lib/sprinkle/installers/yum.rb -lib/sprinkle/installers/freebsd_pkg.rb -lib/sprinkle/installers/openbsd_pkg.rb -lib/sprinkle/installers/opensolaris_pkg.rb -lib/sprinkle/installers/bsd_port.rb -lib/sprinkle/installers/mac_port.rb -lib/sprinkle/package.rb -lib/sprinkle/policy.rb -lib/sprinkle/script.rb -lib/sprinkle/verifiers/directory.rb -lib/sprinkle/verifiers/executable.rb -lib/sprinkle/verifiers/file.rb -lib/sprinkle/verifiers/process.rb -lib/sprinkle/verifiers/ruby.rb -lib/sprinkle/verifiers/symlink.rb -lib/sprinkle/verify.rb -lib/sprinkle/version.rb -script/destroy -script/generate -spec/spec.opts -spec/spec_helper.rb -spec/sprinkle/actors/capistrano_spec.rb -spec/sprinkle/actors/local_spec.rb -spec/sprinkle/configurable_spec.rb -spec/sprinkle/deployment_spec.rb -spec/sprinkle/extensions/array_spec.rb -spec/sprinkle/extensions/string_spec.rb -spec/sprinkle/installers/apt_spec.rb -spec/sprinkle/installers/bsd_port_spec.rb -spec/sprinkle/installers/freebsd_pkg_spec.rb -spec/sprinkle/installers/gem_spec.rb -spec/sprinkle/installers/installer_spec.rb -spec/sprinkle/installers/mac_port_spec.rb -spec/sprinkle/installers/openbsd_pkg_spec.rb -spec/sprinkle/installers/opensolaris_pkg_spec.rb -spec/sprinkle/installers/push_text_spec.rb -spec/sprinkle/installers/rake_spec.rb -spec/sprinkle/installers/rpm_spec.rb -spec/sprinkle/installers/source_spec.rb -spec/sprinkle/installers/yum_spec.rb -spec/sprinkle/installers/openbsd_pkg_spec.rb -spec/sprinkle/installers/freebsd_pkg_spec.rb -spec/sprinkle/installers/bsd_port_spec.rb -spec/sprinkle/installers/mac_port_spec.rb -spec/sprinkle/package_spec.rb -spec/sprinkle/policy_spec.rb -spec/sprinkle/script_spec.rb -spec/sprinkle/sprinkle_spec.rb -spec/sprinkle/verify_spec.rb -sprinkle.gemspec -tasks/deployment.rake -tasks/environment.rake -tasks/rspec.rake diff --git a/Rakefile b/Rakefile index e469154..ae5a5f8 100644 --- a/Rakefile +++ b/Rakefile @@ -1,4 +1,50 @@ -require 'config/requirements' -require 'config/hoe' # setup Hoe + all gem configuration - -Dir['tasks/**/*.rake'].each { |rake| load rake } \ No newline at end of file +require 'rubygems' +require 'rake' + +begin + require 'jeweler' + Jeweler::Tasks.new do |gem| + gem.name = "sprinkle" + gem.summary = "Ruby DSL based software provisioning tool" + gem.description = "Ruby DSL based software provisioning tool" + gem.email = "crafterm@redartisan.com" + gem.rubyforge_project = 'sprinkle' + gem.homepage = "http://github.com/crafterm/sprinkle" + gem.authors = ["Marcus Crafter"] + gem.add_development_dependency "rspec", ">= 1.2.9" + gem.add_dependency('activesupport', '>= 2.0.2') + gem.add_dependency('highline', '>= 1.4.0') + gem.add_dependency('capistrano', '>= 2.5.5') + + # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings + end + Jeweler::GemcutterTasks.new +rescue LoadError + puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler" +end + +require 'spec/rake/spectask' +Spec::Rake::SpecTask.new(:spec) do |spec| + spec.libs << 'lib' << 'spec' + spec.spec_files = FileList['spec/**/*_spec.rb'] +end + +Spec::Rake::SpecTask.new(:rcov) do |spec| + spec.libs << 'lib' << 'spec' + spec.pattern = 'spec/**/*_spec.rb' + spec.rcov = true +end + +task :spec => :check_dependencies + +task :default => :spec + +require 'rake/rdoctask' +Rake::RDocTask.new do |rdoc| + version = File.exist?('VERSION') ? File.read('VERSION') : "" + + rdoc.rdoc_dir = 'rdoc' + rdoc.title = "sprinkle #{version}" + rdoc.rdoc_files.include('README*') + rdoc.rdoc_files.include('lib/**/*.rb') +end diff --git a/config/hoe.rb b/config/hoe.rb deleted file mode 100644 index e970c01..0000000 --- a/config/hoe.rb +++ /dev/null @@ -1,70 +0,0 @@ -require 'sprinkle/version' - -AUTHOR = 'Marcus Crafter' # can also be an array of Authors -EMAIL = "crafterm@redartisan.com" -DESCRIPTION = "Ruby DSL based software provisioning tool" -GEM_NAME = 'sprinkle' # what ppl will type to install your gem -RUBYFORGE_PROJECT = 'sprinkle' # The unix name for your project -HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org" -DOWNLOAD_PATH = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}" - -@config_file = "~/.rubyforge/user-config.yml" -@config = nil -RUBYFORGE_USERNAME = "unknown" -def rubyforge_username - unless @config - begin - @config = YAML.load(File.read(File.expand_path(@config_file))) - rescue - puts <<-EOS -ERROR: No rubyforge config file found: #{@config_file} -Run 'rubyforge setup' to prepare your env for access to Rubyforge - - See http://newgem.rubyforge.org/rubyforge.html for more details - EOS - exit - end - end - RUBYFORGE_USERNAME.replace @config["username"] -end - - -REV = nil -# UNCOMMENT IF REQUIRED: -# REV = `svn info`.each {|line| if line =~ /^Revision:/ then k,v = line.split(': '); break v.chomp; else next; end} rescue nil -VERS = Sprinkle::VERSION::STRING + (REV ? ".#{REV}" : "") -RDOC_OPTS = ['--quiet', '--title', 'sprinkle documentation', - "--opname", "index.html", - "--line-numbers", - "--main", "README.markdown", - "--inline-source"] - -class Hoe - def extra_deps - @extra_deps.reject! { |x| Array(x).first == 'hoe' } - @extra_deps - end -end - -# Generate all the Rake tasks -# Run 'rake -T' to see list of generated tasks (from gem root directory) -hoe = Hoe.new(GEM_NAME, VERS) do |p| - p.developer(AUTHOR, EMAIL) - p.description = DESCRIPTION - p.summary = DESCRIPTION - p.url = HOMEPATH - p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT - p.test_globs = ["test/**/test_*.rb"] - p.clean_globs |= ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store'] #An array of file patterns to delete on clean. - - # == Optional - p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n") - p.extra_deps = [ ['activesupport', '>= 2.0.2'], ['highline', '>= 1.4.0'], ['capistrano', '>= 2.5.5'] ] # An array of rubygem dependencies [name, version], e.g. [ ['active_support', '>= 1.3.1'] ] - - #p.spec_extras = {} # A hash of extra values to set in the gemspec. - -end - -CHANGES = hoe.paragraphs_of('History.txt', 0..1).join("\\n\\n") -PATH = (RUBYFORGE_PROJECT == GEM_NAME) ? RUBYFORGE_PROJECT : "#{RUBYFORGE_PROJECT}/#{GEM_NAME}" -hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc') -hoe.rsync_args = '-av --delete --ignore-errors' diff --git a/config/requirements.rb b/config/requirements.rb deleted file mode 100644 index a1bc696..0000000 --- a/config/requirements.rb +++ /dev/null @@ -1,17 +0,0 @@ -require 'fileutils' -include FileUtils - -require 'rubygems' -%w[rake hoe newgem rubigen].each do |req_gem| - begin - require req_gem - rescue LoadError - puts "This Rakefile requires the '#{req_gem}' RubyGem." - puts "Installation: gem install #{req_gem} -y" - exit - end -end - -$:.unshift(File.join(File.dirname(__FILE__), %w[.. lib])) - -require 'sprinkle' \ No newline at end of file diff --git a/lib/sprinkle/version.rb b/lib/sprinkle/version.rb deleted file mode 100644 index 60f23ee..0000000 --- a/lib/sprinkle/version.rb +++ /dev/null @@ -1,9 +0,0 @@ -module Sprinkle #:nodoc: - module VERSION #:nodoc: - MAJOR = 0 - MINOR = 2 - TINY = 6 - - STRING = [MAJOR, MINOR, TINY].join('.') - end -end diff --git a/sprinkle.gemspec b/sprinkle.gemspec deleted file mode 100644 index ca7062c..0000000 --- a/sprinkle.gemspec +++ /dev/null @@ -1,73 +0,0 @@ -Gem::Specification.new do |s| - s.name = %q{sprinkle} - s.version = "0.2.6" - - s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= - s.authors = ["Marcus Crafter", "Mitchell Hashimoto"] - s.date = %q{2008-11-25} - s.default_executable = %q{sprinkle} - s.description = %q{Ruby DSL based software provisioning tool} - s.email = ["crafterm@redartisan.com", "mitchell.hashimoto@citrusbyte.com"] - s.executables = ["sprinkle"] - s.extra_rdoc_files = ["History.txt", "Manifest.txt", "README.markdown"] - s.files = ["CREDITS", "History.txt", "MIT-LICENSE", "Manifest.txt", "README.markdown", "Rakefile", "bin/sprinkle", - "config/hoe.rb", "config/requirements.rb", "examples/packages/build_essential.rb", - "examples/packages/databases/mysql.rb", "examples/packages/databases/sqlite3.rb", - "examples/packages/phusion.rb", "examples/packages/ruby/rails.rb", "examples/packages/ruby/ruby.rb", - "examples/packages/ruby/rubygems.rb", "examples/packages/scm/git.rb", "examples/packages/scm/subversion.rb", - "examples/packages/servers/apache.rb", "examples/rails/README", "examples/rails/deploy.rb", - "examples/rails/packages/database.rb", "examples/rails/packages/essential.rb", "examples/rails/packages/rails.rb", - "examples/rails/packages/scm.rb", "examples/rails/packages/search.rb", "examples/rails/packages/server.rb", - "examples/rails/rails.rb", "examples/sprinkle/sprinkle.rb", "lib/sprinkle.rb", "lib/sprinkle/actors/actors.rb", - "lib/sprinkle/actors/capistrano.rb", "lib/sprinkle/actors/local.rb", "lib/sprinkle/actors/ssh.rb", "lib/sprinkle/actors/vlad.rb", - "lib/sprinkle/configurable.rb", "lib/sprinkle/deployment.rb", "lib/sprinkle/extensions/arbitrary_options.rb", - "lib/sprinkle/extensions/array.rb", "lib/sprinkle/extensions/blank_slate.rb", "lib/sprinkle/extensions/dsl_accessor.rb", - "lib/sprinkle/extensions/string.rb", "lib/sprinkle/extensions/symbol.rb", "lib/sprinkle/installers/apt.rb", - "lib/sprinkle/installers/deb.rb", "lib/sprinkle/installers/gem.rb", "lib/sprinkle/installers/installer.rb", - "lib/sprinkle/installers/rake.rb", "lib/sprinkle/installers/rpm.rb", "lib/sprinkle/installers/source.rb", - "lib/sprinkle/installers/yum.rb", "lib/sprinkle/installers/freebsd_pkg.rb", "lib/sprinkle/installers/openbsd_pkg.rb", "lib/sprinkle/installers/noop.rb", - "lib/sprinkle/installers/opensolaris_pkg.rb", "lib/sprinkle/installers/bsd_port.rb", "lib/sprinkle/installers/mac_port.rb", "lib/sprinkle/installers/push_text.rb", - "lib/sprinkle/package.rb", "lib/sprinkle/policy.rb", "lib/sprinkle/script.rb", "lib/sprinkle/verifiers/directory.rb", - "lib/sprinkle/verifiers/executable.rb", "lib/sprinkle/verifiers/file.rb", "lib/sprinkle/verifiers/process.rb", - "lib/sprinkle/verifiers/ruby.rb", "lib/sprinkle/verifiers/symlink.rb", "lib/sprinkle/verify.rb", "lib/sprinkle/version.rb", - "script/destroy", "script/generate", "sprinkle.gemspec", "tasks/deployment.rake", "tasks/environment.rake", "tasks/rspec.rake"] - - s.test_files = ["spec/spec.opts", "spec/spec_helper.rb", "spec/sprinkle/actors/capistrano_spec.rb", - "spec/sprinkle/actors/local_spec.rb", "spec/sprinkle/configurable_spec.rb", "spec/sprinkle/deployment_spec.rb", - "spec/sprinkle/extensions/array_spec.rb", "spec/sprinkle/extensions/string_spec.rb", "spec/sprinkle/installers/apt_spec.rb", - "spec/sprinkle/installers/gem_spec.rb", "spec/sprinkle/installers/installer_spec.rb", "spec/sprinkle/installers/rpm_spec.rb", - "spec/sprinkle/installers/yum_spec.rb", "spec/sprinkle/installers/source_spec.rb", "spec/sprinkle/installers/freebsd_pkg_spec.rb", - "spec/sprinkle/installers/openbsd_pkg_spec.rb", "spec/sprinkle/installers/opensolaris_pkg_spec.rb", - "spec/sprinkle/installers/mac_port_spec.rb", "spec/sprinkle/installers/push_text_spec.rb", "spec/sprinkle/installers/bsd_port_spec.rb", "spec/sprinkle/policy_spec.rb", - "spec/sprinkle/script_spec.rb", "spec/sprinkle/sprinkle_spec.rb", "spec/sprinkle/installers/rake_spec.rb", "spec/sprinkle/verify_spec.rb"] - s.has_rdoc = true - s.homepage = %q{http://sprinkle.rubyforge.org} - s.rdoc_options = ["--main", "README.markdown"] - s.require_paths = ["lib"] - s.rubyforge_project = %q{sprinkle} - s.rubygems_version = %q{1.3.0} - s.summary = %q{Ruby DSL based software provisioning tool} - - if s.respond_to? :specification_version then - current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION - s.specification_version = 2 - - if current_version >= 3 then - s.add_runtime_dependency(%q, [">= 2.0.2"]) - s.add_runtime_dependency(%q, [">= 1.4.0"]) - s.add_runtime_dependency(%q, [">= 2.5.5"]) - s.add_development_dependency(%q, [">= 1.8.2"]) - s.add_development_dependency(%q, [">= 3.0.2"]) - else - s.add_dependency(%q, [">= 2.0.2"]) - s.add_dependency(%q, [">= 1.4.0"]) - s.add_dependency(%q, [">= 2.5.5"]) - s.add_dependency(%q, [">= 1.8.2"]) - end - else - s.add_dependency(%q, [">= 2.0.2"]) - s.add_dependency(%q, [">= 1.4.0"]) - s.add_dependency(%q, [">= 2.5.5"]) - s.add_dependency(%q, [">= 1.8.2"]) - end -end diff --git a/tasks/deployment.rake b/tasks/deployment.rake deleted file mode 100644 index 1f7172c..0000000 --- a/tasks/deployment.rake +++ /dev/null @@ -1,37 +0,0 @@ -desc 'Release the website and new gem version' -task :deploy => [:check_version, :website, :release] do - puts "Remember to create SVN tag:" - puts "svn copy svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/trunk " + - "svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} " - puts "Suggested comment:" - puts "Tagging release #{CHANGES}" -end - -desc 'Runs tasks website_generate and install_gem as a local deployment of the gem' -task :local_deploy => [:website_generate, :install_gem] - -task :check_version do - unless ENV['VERSION'] - puts 'Must pass a VERSION=x.y.z release version' - exit - end - unless ENV['VERSION'] == VERS - puts "Please update your version.rb to match the release version, currently #{VERS}" - exit - end -end - -task :clobber_rcov do -end - -desc 'Install the package as a gem, without generating documentation(ri/rdoc)' -task :install_gem_no_doc => [:clean, :package] do - sh "#{'sudo ' unless Hoe::WINDOZE }gem install pkg/*.gem --no-rdoc --no-ri" -end - -namespace :manifest do - desc 'Recreate Manifest.txt to include ALL files' - task :refresh do - `rake check_manifest | patch -p0 > Manifest.txt` - end -end \ No newline at end of file diff --git a/tasks/environment.rake b/tasks/environment.rake deleted file mode 100644 index 691ed3b..0000000 --- a/tasks/environment.rake +++ /dev/null @@ -1,7 +0,0 @@ -task :ruby_env do - RUBY_APP = if RUBY_PLATFORM =~ /java/ - "jruby" - else - "ruby" - end unless defined? RUBY_APP -end diff --git a/tasks/rspec.rake b/tasks/rspec.rake deleted file mode 100644 index 9dabb95..0000000 --- a/tasks/rspec.rake +++ /dev/null @@ -1,21 +0,0 @@ -begin - require 'spec' -rescue LoadError - require 'rubygems' - require 'spec' -end -begin - require 'spec/rake/spectask' -rescue LoadError - puts <<-EOS -To use rspec for testing you must install rspec gem: - gem install rspec -EOS - exit(0) -end - -desc "Run the specs under spec" -Spec::Rake::SpecTask.new do |t| - t.spec_opts = ['--options', "spec/spec.opts"] - t.spec_files = FileList['spec/**/*_spec.rb'] -end