lib/reap/project.rb in reap-9.2.1 vs lib/reap/project.rb in reap-9.3.0

- old
+ new

@@ -1,18 +1,43 @@ module Reap - require 'reap/manager' + require 'yaml' + require 'rbconfig' + require 'reap/utilities' # = Project # # The Project class is the main class of Reap. It provides the tools for # working with a project. The CLI Application class delegates to this class, # for instance. - class Project < Manager + class Project require 'reap/metadata' require 'reap/settings' + # Load up the tools + require "reap/project/announce.rb" + require "reap/project/check.rb" + require "reap/project/clean.rb" + require "reap/project/gem.rb" + require "reap/project/html.rb" + require "reap/project/log.rb" + require "reap/project/make.rb" + require "reap/project/package.rb" + require "reap/project/publish.rb" + require "reap/project/rdoc.rb" + require "reap/project/release.rb" + require "reap/project/scaffold.rb" + require "reap/project/site.rb" + require "reap/project/spec.rb" + require "reap/project/stats.rb" + require "reap/project/stamp.rb" + require "reap/project/scm.rb" + require "reap/project/svn.rb" + require "reap/project/test.rb" + + include Utilities + # New Project. def initialize(options=nil) @options = options || {} begin @@ -43,10 +68,11 @@ #alias_method :config, :configuration # Common options. def options ; @options ; end + #alias_method :init_options, :options # TODO: Improve me! (see stamp.rb) def dryrun? ; options['dryrun'] ; end def trace? ; options['trace'] ; end def force? ; options['force'] ; end def verbose? ; options['verbose'] ; end @@ -114,9 +140,15 @@ puts metadata.send(field) end else y self end + end + + # Project manifest file. + + def manifest_file + Dir.glob('Manifest{,.txt}', File::FNM_CASEFOLD).first end private # Locate the project root directory. This is determined