<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -24,6 +24,6 @@ Dir['tasks/*.rb'].each {|r| require r}
 
 
 ##############################################################################
-# ADD YOUR CUSTOM TASKS IN /lib/tasks
-# NAME YOUR RAKE FILES file_name.rake
+# ADD YOUR CUSTOM TASKS IN ./tasks
+# NAME YOUR RAKE FILES file_name.rb
 ##############################################################################</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,11 @@
 #! /usr/bin/env ruby
-require 'warningshot/suite'
+
+#pre scan ARGV for pload oload
+if ARGV.grep(/(o|p)load/i).empty?
+  require 'warningshot/suite'
+else
+  require 'warningshot'
+end
 
 # Create a config hash
 config = WarningShot::Config.parse_args</diff>
      <filename>bin/warningshot</filename>
    </modified>
    <modified>
      <diff>@@ -15,16 +15,16 @@ class WarningShot::GemResolver
   # Default version to install
   DEFAULT_VERSION = &quot;&gt;=0.0.0&quot;.freeze
  
-  cli(&quot;--gempath=PATH&quot;, String, &quot;Alternate gem path ':' separated to check.  First in path is where gems will be installed&quot;) do |val|
-    options[:gem_path] = val
+  cli(&quot;--gempath=PATH&quot;, String, &quot;Alternate gem path ':' separated to check.  First in path is where gems will be installed&quot;) do |gpath|
+    options[:gem_path] = gpath
   end
  
-  cli(&quot;-m&quot;,&quot;--resolver-gems=GEMS&quot;, String,&quot;Names of gems containing add'l resolvers (':' seperated)&quot;) do |config|
-    options[:resolver_gems] = config.split(':')
+  cli(&quot;-m&quot;,&quot;--resolver-gems=GEMS&quot;, String,&quot;Names of gems containing add'l resolvers (':' seperated)&quot;) do |resolver_gems|
+    options[:resolver_gems] = resolver_gems.split(':')
   end
     
-  cli(&quot;--minigems&quot;,String,&quot;Not supported yet.&quot;) do |val|
-    options[:minigems] = val
+  cli(&quot;--minigems&quot;,String,&quot;Not supported yet.&quot;) do |minigems|
+    options[:minigems] = minigems
   end
            
   GemResource = Struct.new(:name,:version,:source) do</diff>
      <filename>lib/resolvers/gem_resolver.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,15 +1,14 @@
 class WarningShot::ManualResolver
   include WarningShot::Resolver
   order  10000
-  #disable!
-
   branch :manual
   description 'A glorified todo list of things that need to be resolved manually'
       
-      
   cli(&quot;--notes&quot;, &quot;List all the notes in the manual branch&quot;) do |val|
-    options[:notes] = val
-    puts &quot;HERE ARE THE NOTES&quot;
+    WarningShot::Resolver.descendants.each{|d| d.disable!}
+    self.enable!
+    
+    WarningShot.after {WarningShot::ManualResolver.notes}
   end
   
   #Encapsulated in a struct so Resolver doesn't freak out when we instance_eval #met &amp; #resolved
@@ -22,4 +21,10 @@ class WarningShot::ManualResolver
   register :test do |dep|
     logger.info &quot; ~ #{dep.msg}&quot;
   end
+  
+  class &lt;&lt; self
+    def notes
+      puts &quot;TODO Output notes here...&quot;
+    end
+  end
 end
\ No newline at end of file</diff>
      <filename>lib/resolvers/manual_resolver.rb</filename>
    </modified>
    <modified>
      <diff>@@ -139,17 +139,14 @@ module WarningShot
         WarningShot::Config::PARSER.on(&quot;-p&quot;, &quot;--[no-]prettycolors&quot;, &quot;Colorize output&quot;) do |colorize|
           @@cli_options[:colorize] = colorize
         end
-        # NOTE stubs for taking WarningShot.only_load &amp;&amp; WarningShot.priority_load from command line, ran into a catch22
-        #   with this so its removed for now. Cory ODaniel (11/8/2008)
-        #
-        #WarningShot::Config::PARSER.on(&quot;--oload=LIST&quot;, String, &quot;Only load specified resolvers (Command seperated)&quot;) do |oload|
-        #  @@cli_options[:oload] = oload.split(',')
-        #  WarningShot.only_load *@@cli_options[:oload]
-        #end
-        #WarningShot::Config::PARSER.on(&quot;--pload=LIST&quot;, String, &quot;Load specified resolvers only, setting sequential priority (Command seperated)&quot;) do |pload|
-        #  @@cli_options[:pload] = pload.split(',')
-        #  WarningShot.only_load *@@cli_options[:pload]
-        #end
+        WarningShot::Config::PARSER.on(&quot;--oload=LIST&quot;, String, &quot;Only load specified resolvers (Command seperated)&quot;) do |oload|
+          @@cli_options[:oload] = oload.split(',')
+          WarningShot.only_load *@@cli_options[:oload]
+        end
+        WarningShot::Config::PARSER.on(&quot;--pload=LIST&quot;, String, &quot;Load specified resolvers only, setting sequential priority (Command seperated)&quot;) do |pload|
+          @@cli_options[:pload] = pload.split(',')
+          WarningShot.only_load *@@cli_options[:pload]
+        end
         WarningShot::Config::PARSER.on_tail(&quot;--version&quot;, &quot;Show version&quot;){ 
           WarningShot::Config::PARSER.parse!(argv)
           conf = WarningShot::Config.create(@@cli_options)</diff>
      <filename>lib/warningshot/config.rb</filename>
    </modified>
    <modified>
      <diff>@@ -69,7 +69,7 @@ module WarningShot
     # @api private
     def run
       @logger.info &quot;WarningShot v. #{WarningShot::VERSION}&quot;
-      @logger.info &quot;Environment: #{self.environment}; Application: #{WarningShot.framework}&quot;
+      @logger.info &quot;Environment: #{self.environment}; Application: #{WarningShot.application_type}&quot;
       @logger.info &quot;On host: #{WarningShot.hostname}&quot;
       
       WarningShot::Resolver.descendants.each do |klass|</diff>
      <filename>lib/warningshot/dependency_resolver.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,8 +3,9 @@ require File.dirname(__FILE__) / 'resolver'
 require File.dirname(__FILE__) / 'dependency_resolver' 
 
 module WarningShot
-  BeforeCallbacks= []
-  AfterCallbacks   = []
+  BeforeCallbacks   = []
+  AfterCallbacks    = []
+  ApplicationTypes  = {}
   
   # Relative paths from WarningShot.root
   PATHS       = {
@@ -16,6 +17,10 @@ module WarningShot
   RecipeExt = &quot;*.{yml,yaml}&quot;.freeze
   
   class &lt;&lt; self
+    def register_application_type(type,&amp;block)
+      ApplicationTypes[type] = block
+    end
+    
     def root
       File.expand_path(File.dirname(__FILE__)) / &quot;..&quot; / &quot;..&quot;
     end
@@ -51,19 +56,19 @@ module WarningShot
       end
     end
     
-    # the application/framework warningshot is running in
+    # the application type warningshot is running in
     #   uses constants to determine
+    # Additional application types can be registered with
+    #   WarningShot.register_application_type
     #
-    # @return [String] Name of framework/application
+    # @return [Symbol] Name of framework/application type
     # @api public
-    def framework
-      if defined?(RAILS_ROOT)
-        return &quot;RAILS&quot;
-      elsif defined?(Merb)
-        return &quot;MERB&quot;
-      else
-        return &quot;CONSOLE&quot;
-      end
+    def application_type
+      ApplicationTypes.each do |type,block| 
+        @@application_type = type if block.call
+      end if (@@application_type ||=nil).nil?
+      
+      @@application_type
     end
             
     # register a callback to be run before starting 
@@ -173,3 +178,7 @@ module WarningShot
     end
   end
 end
+
+WarningShot.register_application_type(:merb){ !!defined?(Merb) }
+WarningShot.register_application_type(:rails){ !!defined?(RAILS_ROOT) }
+WarningShot.register_application_type(:console){true}</diff>
      <filename>lib/warningshot/warning_shot.rb</filename>
    </modified>
    <modified>
      <diff>@@ -85,7 +85,14 @@ describe WarningShot::GemResolver do
     pending
   end
   
-  it 'should install gems in --gempath when specified and resolving' do
+  it 'should install gems in first gempath when --gempath is specified and resolving' do
+    #config = WarningShot::Config.create({:gem_path =&gt; &quot;./test/output/gems:./test/outputs/gems2&quot;})
+
+    #resolver = WarningShot::GemResolver.new(config,{:name =&gt; &quot;ws-dummy&quot;})
+    #resolver.test!
+    #Dir['./test/output/gems/*ws-dummy*'].length.should be(0)
+    #resolver.resolve!
+    #Dir['./test/output/gems/*ws-dummy*'].length.should be(1)
     pending
   end
 end
\ No newline at end of file</diff>
      <filename>test/spec/unit/resolvers/gem_resolver_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>bc1055388ed9c66105f43a94c172ce0e2908ba26</id>
    </parent>
  </parents>
  <author>
    <name>Cory ODaniel</name>
    <email>github@coryodaniel.com</email>
  </author>
  <url>http://github.com/coryodaniel/warningshot/commit/fe22e8eed015995a2b492a81556ec4e798e74810</url>
  <id>fe22e8eed015995a2b492a81556ec4e798e74810</id>
  <committed-date>2008-11-20T13:18:46-08:00</committed-date>
  <authored-date>2008-11-20T13:18:46-08:00</authored-date>
  <message>Ability to register application types so warningshot's resolvers can do conditional resolutions based on the application type
ie, merb, rails, console, etc.

WarningShot.register_application_type(&lt;symbol&gt;,&lt;block&gt;)</message>
  <tree>5d7846adfa870264e5a35fa05c1e64c78bca536d</tree>
  <committer>
    <name>Cory ODaniel</name>
    <email>github@coryodaniel.com</email>
  </committer>
</commit>
