<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>example/repo/dev/boc/Rakefile</filename>
    </added>
    <added>
      <filename>example/repo/prod/boc_config/1.0/Rakefile</filename>
    </added>
    <added>
      <filename>lib/ruby/cabar/resolver.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -60,7 +60,7 @@ lib/ruby/cabar/component.rb
 lib/ruby/cabar/component/set.rb
 lib/ruby/cabar/configuration.rb
 lib/ruby/cabar/constraint.rb
-lib/ruby/cabar/context.rb
+lib/ruby/cabar/resolver.rb
 lib/ruby/cabar/debian.rb
 lib/ruby/cabar/error.rb
 lib/ruby/cabar/facet.rb</diff>
      <filename>Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -24,7 +24,7 @@
 
 * Make Cabar::Base a mixin instead of an abstract base class.
 
-* Change Context#required_components to an unordered Version::Set.
+* Change Resolver#required_components to an unordered Version::Set.
 
 * Allow simple facet prototypes to be defined in cabar.yml.
 
@@ -36,7 +36,7 @@
 
 * Change Facet.component to Facet._component.
 
-* Change Facet.context to Facet._context.
+* Change Facet.resolver to Facet._resolver.
 
 * Add support to automatically require top_level components, via an attribute on a component in its cabar.yml file.
 </diff>
      <filename>TODO.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 #!/usr/bin/env cbr-run
 #!ruby
 
-puts Cabar::Context.current
+puts Cabar::Resolver.current
 
 puts ENV.inspect
 </diff>
      <filename>example/bin/cbr-run-test</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@ require 'c2'
 
 puts &quot;c2_prog version #{C2.version}: #{ARGV.join(' ')}&quot;
 
-cc = Cabar::Context.current
+cc = Cabar::Resolver.current
 
 puts &quot;\ntop_level_components = #{cc.top_level_components.join(', ')}&quot;
 puts &quot;\nrequired_components = #{cc.required_components.join(', ')}&quot;</diff>
      <filename>example/repo/dev/c2/1.2/bin/c2_prog</filename>
    </modified>
    <modified>
      <diff>@@ -43,7 +43,7 @@ module Cabar
     # A CommandManager for subcommands.
     attr_accessor :subcommands
 
-    # The context that undefined methods will delegate to.
+    # The object that undefined methods will delegate to.
     attr_accessor :main
 
     # The plugin this command was defined in.
@@ -166,11 +166,11 @@ module Cabar
       ! @supercommand
     end
 
-    # Returns a Selection object for the command.
+    # Returns a cached Selection object for the main Resolver with the cmd_opts.
+    # FIXME: THIS SHOULD CLONE THE Main#resolver.
     def selection
-      @selection ||= 
-        Cabar::Selection.factory.
-        new(:context =&gt; @main.context, :cmd_opts =&gt; cmd_opts)
+      @selection ||=
+        @main.resolver.selection(:cmd_opts =&gt; cmd_opts)
     end
 
     # Defer to @main.</diff>
      <filename>lib/ruby/cabar/command.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,7 +12,7 @@ class Cabar::Command
   end
 
   def setup_environment!
-    context.render Cabar::Renderer::InMemory.new
+    selection.resolver.render Cabar::Renderer::InMemory.new
   end
 
   # Return a YAML renderer.</diff>
      <filename>lib/ruby/cabar/command/helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -67,8 +67,8 @@ module Cabar
     
     # Associations.
     
-    # The Context object.
-    attr_accessor :context
+    # The Resolver object.
+    attr_accessor :resolver
 
     # A list of all Facets in the Component.
     attr_reader :facets
@@ -203,9 +203,9 @@ module Cabar
       self
     end
     
-    def validate!
+    def validate! resolver
       requires.each do | r |
-        r.validate!
+        r.validate! resolver
       end
     end
     
@@ -283,7 +283,7 @@ module Cabar
           when 'component'
             v.each do | name, opts |
               opts[:name] ||= name
-              context.select_component opts
+              resolver.select_component opts # FIXME
             end
           end
         end
@@ -327,32 +327,32 @@ module Cabar
       end
     end
     
-    def select_component!
+    def select_component! resolver
       facets.each do | f |
-        f.select_component!
+        f.select_component! resolver
       end
     end
     
-    def resolve_component!
+    def resolve_component! resolver
       facets.each do | f |
-        f.resolve_component!
+        f.resolve_component! resolver
       end
     end
     
-    def require_component!
+    def require_component! resolver
       facets.each do | f |
-        f.require_component!
+        f.require_component! resolver
       end
     end
     
     # Called when a RequiredComponent facet resolves to
     # this Component; dependent is the Component
     # that depended on this Component.
-    def add_dependent! dependent
+    def add_dependent! dependent, resolver
       notify_observers :before_add_dependent!, dependent
 
       @dependents &lt;&lt; dependent
-      context.add_required_component! self
+      resolver.add_required_component! self
 
       notify_observers :after_add_dependent!, dependent
 
@@ -362,13 +362,13 @@ module Cabar
     # Returns all the immediate Component dependencies.
     #
     # Assumes dependencies have been resolved.
-    # See Context#resolve_components!
+    # See Resolver#resolve_components!
     #
-    # See Context#component_dependencies for a recursive
+    # See Resolver#component_dependencies for a recursive
     # dependency set.
     def dependencies recursive = nil
       if recursive
-        context.component_dependencies self
+        resolver.component_dependencies self # FIXME
       else
         requires.map { |f| f.resolved_component }
       end
@@ -391,7 +391,7 @@ module Cabar
     end
 
     # Called when a new facet is attached to this component.
-    def attach_facet! f
+    def attach_facet! f, resolver
       return f unless f
 
       notify_observers :before_attach_facet!, f
@@ -426,7 +426,7 @@ module Cabar
       return f unless f
       
       f.owner = self
-      f.context = self.context
+      f.resolver = resolver # FIXME
 
       # Attach inferrable Facets only if inferred.
       attach = true
@@ -437,7 +437,7 @@ module Cabar
         attach = false
       end
 
-      f.attach_component! self if attach 
+      f.attach_component!(self, resolver) if attach 
 
       f
     end</diff>
      <filename>lib/ruby/cabar/component.rb</filename>
    </modified>
    <modified>
      <diff>@@ -15,7 +15,7 @@ module Cabar
     # This occurs during component version selection
     # or depenency resolution.
     #
-    # See Cabar::Context for usages.
+    # See Cabar::Resolver for usages.
     #
     # It responds to most Enumerable methods as expected.
     #</diff>
      <filename>lib/ruby/cabar/component/set.rb</filename>
    </modified>
    <modified>
      <diff>@@ -112,8 +112,6 @@ module Cabar
     # Path to search for configuration files.
     attr_accessor :config_file_path
 
-    # The Context object.
-    attr_accessor :context
 
     def component_search_path
       config unless @config
@@ -173,9 +171,9 @@ module Cabar
     end
 
 
-    # Applies the component selection configuration to the Context.
+    # Applies the component selection configuration to the Resolver.
     #
-    def apply_configuration! context
+    def apply_configuration! resolver
       by = &quot;config@#{config['config_file_path'].inspect}&quot;
       
       # Apply component selection.
@@ -188,7 +186,7 @@ module Cabar
         opts[:name] = name unless name.nil?
         opts[:_by] = by
         
-        context.select_component opts
+        resolver.select_component opts
       end
 
 
@@ -198,8 +196,9 @@ module Cabar
       # end
     end
 
-    # Applies the compnent requires configuration to the Context.
-    def apply_configuration_requires! context
+
+    # Applies the component requires configuration to the Resolver.
+    def apply_configuration_requires! resolver
       by = &quot;config@#{config['config_file_path'].inspect}&quot;
 
       # Apply component requires.
@@ -212,7 +211,7 @@ module Cabar
         opts[:name] = name unless name.nil?
         opts[:_by] = by
         
-        context.require_component opts
+        resolver.require_component opts
       end
     end
 </diff>
      <filename>lib/ruby/cabar/configuration.rb</filename>
    </modified>
    <modified>
      <diff>@@ -39,8 +39,8 @@ module Cabar
     attr_accessor :owner
     alias :component :owner
 
-    # The Context object.
-    attr_accessor :context
+    # The Resolver object.
+    attr_accessor :resolver
 
     # The configuration hash.
     attr_accessor :configuration
@@ -231,8 +231,8 @@ module Cabar
     # Called when a Facet is going to be attached
     # to a Component.
     # Subclasses may override this.
-    def attach_component! c
-      c.attach_facet! self
+    def attach_component! c, resolver
+      c.attach_facet!(self, resolver)
     end
 
     # Called to compose Facets across Components.
@@ -254,26 +254,26 @@ module Cabar
     # it constrains.
     #
     # Subclasses may override this.
-    def select_component!
+    def select_component! resolver
     end
 
     # Ask the Facet to resolve and Components that
     # it may depend on.
     #
     # Subclasses may override this.
-    def resolve_component!
+    def resolve_component! resolver
     end
 
     # Ask the Facet to require and any Components that
     # it may depend on.
     #
     # Subclasses may override this.
-    def require_component!
+    def require_component! resolver
     end
 
     # Called when a component owning this facet
     # has resolved component dependency.
-    def component_dependency_resolved!
+    def component_dependency_resolved! resolver
     end
 
     # Used for YAML formatting and general inspection.</diff>
      <filename>lib/ruby/cabar/facet.rb</filename>
    </modified>
    <modified>
      <diff>@@ -29,10 +29,11 @@ module Cabar
       # software platform components, e.g.: Ruby, Perl and Rubygems.
       #
       # See cabar/comp in the source distribution.
-      def attach_component! c
+      def attach_component! c, resolver
         super
         # $stderr.puts &quot;adding component search path #{abs_path.inspect}&quot;
-        c.context.loader.add_component_search_path! abs_path
+        # FIXME: components should not know about a single Resolver.
+        resolver.loader.add_component_search_path! abs_path
       end
     end # class
 </diff>
      <filename>lib/ruby/cabar/facet/components.rb</filename>
    </modified>
    <modified>
      <diff>@@ -32,7 +32,7 @@ module Cabar
 
       # Creates individual EnvVar facets for each
       # key/value pair in the option Hash.
-      def attach_component! c
+      def attach_component! c, resolver
         vars.each do | n, v |
           # $stderr.puts &quot;   env: #{n} #{v}&quot; # FIXME LOGGING
           c.create_facet(:env_var, { :env_var =&gt; n, :value =&gt; v })</diff>
      <filename>lib/ruby/cabar/facet/env_var_group.rb</filename>
    </modified>
    <modified>
      <diff>@@ -31,7 +31,7 @@ module Cabar
 
       # The environment variable associated with this Facet.
       # If set, is_env_var? is true and
-      # this Facet is composable in Context#compose_facets.
+      # this Facet is composable in Resolver#compose_facets.
       attr_accessor :env_var
 
       # If set, the generated abs_path will</diff>
      <filename>lib/ruby/cabar/facet/path.rb</filename>
    </modified>
    <modified>
      <diff>@@ -57,13 +57,13 @@ module Cabar
           end
       end
       
-      # Returns the resolved component for this dependency.
+      # Returns the resolved Component for this dependency.
       def resolved_component
         @resolved_component ||= 
           begin 
             
-            if c = context.resolve_component(to_constraint)
-              resolved_component! c
+            if c = resolver.resolve_component(to_constraint)
+              resolved_component!(c, resolver)
             end
             
             c
@@ -76,15 +76,15 @@ module Cabar
       # Notify the resolved component of a dependency.
       #
       # Append additional configuration to the component.
-      def resolved_component! c
+      def resolved_component! c, resolver
         @resolved_component = c
-        c.add_dependent! self.owner
+        c.add_dependent!(self.owner, resolver)
         c.append_configuration! self.configuration
 
         # This is very ugly.
-        c.context.available_components.each do | comp |
+        resolver.available_components.each do | comp |
           comp.facets.each do | facet |
-            facet.component_dependency_resolved!
+            facet.component_dependency_resolved!(resolver)
           end
         end
       end
@@ -93,45 +93,45 @@ module Cabar
       # Pass 1:
       # If we can resolve a component now,
       # ask it to select it's dependencies.
-      def select_component!
+      def select_component! resolver
         super
         
         return if @_select_component
         @_select_component = true
         
-        context.select_component to_constraint
+        resolver.select_component to_constraint
         
         if r = resolved_component
-          context._require_component r
+          resolver._require_component(r)
         end
       end
       
       # Pass 2: attempt to resolve unique version
       # if not already resolved.
-      def resolve_component!
+      def resolve_component! resolver
         super
         
         return if @_resolve_component
         @_resolve_component = true
         
         if c = resolved_component
-          c.select_component!
+          c.select_component! resolver
         end
       end
       
       # Pass 3: select latest component version
       # if not already resolved.
-      def require_component!
+      def require_component! resolver
         super
         
         return if @_require_component
         @_require_component = true
         
         unless resolved_component
-          if c = context._require_component(to_constraint) 
+          if c = resolver._require_component(to_constraint) 
             @resolved_component = c
           else
-            context.
+            resolver.
               unresolved_component!(
                                     :name =&gt; name, 
                                     :component_type =&gt; component_type,
@@ -143,7 +143,7 @@ module Cabar
       end
       
       # Will fail of dependency cannot be resolved.
-      def validate!
+      def validate! resolver
         if resolved_component.nil?
           raise(&quot;Cannot resolve component for #{self.inspect}&quot;) 
         end</diff>
      <filename>lib/ruby/cabar/facet/required_component.rb</filename>
    </modified>
    <modified>
      <diff>@@ -15,8 +15,8 @@ module Cabar
   class Loader &lt; Base
     include Cabar::Observer::Observed
 
-    # The Cabar::Context to load Components into.
-    attr_accessor :context
+    # The Cabar::Resolver to load Components into.
+    attr_accessor :resolver
 
     attr_reader :component_search_path
     attr_reader :component_directories
@@ -35,7 +35,7 @@ module Cabar
     def _logger
       @_logger ||=
         Cabar::Logger.new(:name =&gt; :loader, 
-                          :delegate =&gt; @context.main._logger)
+                          :delegate =&gt; @resolver.main._logger)
     end
 
     def add_component_search_path! path, opts = nil
@@ -207,7 +207,7 @@ module Cabar
     # Helper method to create a Component.
     def create_component opts
       c = Component.factory.new opts
-      c.context = @context
+      c.resolver = @resolver # YUCK! components know about Resolvers.
       c
     end
 
@@ -221,7 +221,7 @@ private
         &quot;  loading #{conf_file.inspect}&quot;
       end
 
-      conf = @context.configuration.read_config_file conf_file
+      conf = @resolver.configuration.read_config_file conf_file
       conf = conf['cabar']
       
       # Enabled?
@@ -326,7 +326,7 @@ private
       comps.each do | name, opts |
         # Overlay configuration.
         comp_config = 
-          (x = context.configuration.config['component']) &amp;&amp; 
+          (x = resolver.configuration.config['component']) &amp;&amp; 
           x['configure']
         comp_config ||= EMPTY_HASH
         comp_config = comp_config[name] || EMPTY_HASH
@@ -340,7 +340,7 @@ private
         opts[:_config_file] = conf_file
         opts[:plugins] = @plugins
         # puts &quot;comp opts #{name.inspect} =&gt; &quot;; pp opts
-        opts[:context] = self
+        opts[:resolver] = self # HUH: is this right?
 
         comp = create_component opts
         </diff>
      <filename>lib/ruby/cabar/loader.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 require 'cabar/base'
 
-require 'cabar/context'
+require 'cabar/resolver'
 require 'cabar/plugin'
 require 'cabar/command/manager'
 require 'cabar/command/runner'
@@ -20,8 +20,9 @@ module Cabar
     # The Cabar::Command::Manager for top-level commands.
     attr_accessor :commands
 
-    # The Cabar::Context that manages component resolution.
-    attr_accessor :context
+    # The global Cabar::Resolver that contains the available_components.
+    # Cabar::Selection will clone this for each Command object.
+    attr_accessor :resolver
 
     # The Cabar::Plugin::Manager manages all plugins.
     attr_accessor :plugin_manager
@@ -60,7 +61,7 @@ module Cabar
       @command_runner ||= 
         begin
           # Force loading of plugins.
-          context.available_components
+          resolver.available_components
 
           @command_runner = Command::Runner.factory.new(:context =&gt; self)
           
@@ -84,22 +85,22 @@ module Cabar
 
     ##################################################################
 
-    # Return the Cabar::Context object.
-    def context
-      @context ||=
+    # Return the Cabar::Resolver object.
+    def resolver
+      @resolver ||=
       begin
-        @context =
-          Context.factory.
+        @resolver =
+          Resolver.factory.
           new(:main =&gt; self,
               :directory =&gt; File.expand_path('.')).
           make_current!
 
         # Force loading of cabar itself early.
-        @context.load_component!(Cabar.cabar_base_directory, 
+        @resolver.load_component!(Cabar.cabar_base_directory, 
                                  :priority =&gt; :before, 
                                  :force =&gt; true)
 
-        @context
+        @resolver
       end
     end
 </diff>
      <filename>lib/ruby/cabar/main.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 require 'cabar/base'
 
-require 'cabar/context'
+require 'cabar/resolver'
 require 'cabar/command/helper' # Standard command support.
 require 'cabar/facet/standard' # Cabar::Facet::Path
 require 'cabar/main'
@@ -142,7 +142,7 @@ module Cabar
 
       def register_plugin! plugin
         # Overlay configuration options.
-        config_opts = main.context.configuration.config['plugin']
+        config_opts = main.resolver.configuration.config['plugin']
         config_opts &amp;&amp;= config_opts[plugin.name]
 
         _logger.debug &quot;plugin: #{plugin} configuration #{config_opts.inspect}&quot;
@@ -194,8 +194,8 @@ module Cabar
       attr_accessor :default_doc
 
       def initialize *args, &amp;blk
-        @context = nil
-        @context_stack = [ ]
+        @target = nil
+        @target_stack = [ ]
         @doc = nil
         @doc_default = nil
         super
@@ -230,7 +230,7 @@ module Cabar
 
         # Initialize it.
         if block_given?
-          _with_context facet do 
+          _with_target facet do 
             instance_eval &amp;blk
           end
         end
@@ -247,7 +247,7 @@ module Cabar
       # Define a new command.
       def define_command name, opts = nil, &amp;blk
         opts = _take_doc(opts)
-        # $stderr.puts &quot;@context = #{@context.inspect}&quot;
+        # $stderr.puts &quot;@target = #{@target.inspect}&quot;
         # $stderr.puts &quot;define_command #{name.inspect}, #{opts.inspect}&quot;
 
         cmd = _command_manager.define_command(name, opts, &amp;blk)
@@ -264,7 +264,7 @@ module Cabar
       # Creates a new command group.
       def define_command_group name, opts = nil, &amp;blk
         opts = _take_doc(opts)
-        # $stderr.puts &quot;@context = #{@context.inspect}&quot;
+        # $stderr.puts &quot;@target = #{@target.inspect}&quot;
         # $stderr.puts &quot;define_command_group #{name.inspect}, #{opts.inspect}&quot;
  
         cmd = _command_manager.define_command_group(name, opts)
@@ -273,7 +273,7 @@ module Cabar
 
         @plugin.commands &lt;&lt; cmd
 
-        _with_context cmd.subcommands, &amp;blk
+        _with_target cmd.subcommands, &amp;blk
 
         cmd
       end
@@ -295,20 +295,20 @@ module Cabar
         opts
       end
 
-      def _with_context object
-        @context_stack.push @context
-        @context = object
+      def _with_target object
+        @target_stack.push @target
+        @target = object
         yield
       ensure
-        @context = @context_stack.pop
+        @target = @target_stack.pop
       end
 
       # Gets the current command manager depending
-      # on the context.
+      # on the target.
       def _command_manager
-        case @context
+        case @target
         when Cabar::Command::Manager
-          cmd_mgr = @context
+          cmd_mgr = @target
         else
           # Default to top-level command.
           cmd_mgr = Cabar::Main.current.commands</diff>
      <filename>lib/ruby/cabar/plugin.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,8 +2,8 @@
 
 Cabar::Plugin.new :name =&gt; 'cabar', :documentation =&gt; &lt;&lt;&quot;DOC&quot; do
 Cabar standard plugin.
-Includes all plugins named 'cabar/plugin/*.rb' 
-found in $: (#{$:.inspect}).
+
+Includes all plugins named 'cabar/plugin/*.rb' found in $:.
 DOC
 
   # Pull any files named cabar/plugin/*.rb
@@ -23,7 +23,7 @@ DOC
   doc &quot;Internals and introspection.&quot;
   cmd_group :cabar do
     doc &quot;[ - &lt;component&gt; ]
-Starts an interactive shell on Cabar::Context.&quot;
+Starts an interactive shell on Cabar::Main.&quot;
     cmd :shell do
       selection.select_required = true
       selection.to_a</diff>
      <filename>lib/ruby/cabar/plugin/cabar.rb</filename>
    </modified>
    <modified>
      <diff>@@ -24,7 +24,7 @@ Show the facets for the top-level component.&quot;
       selection.select_required = true
 
       yaml_renderer.
-        render(context.
+        render(resolver.
                facets.
                values
                )
@@ -41,18 +41,18 @@ Example Usage:
 Graph Options:
 #{Cabar::Renderer::Dot.command_documentation}&quot;
     cmd :dot do
-      context.unresolved_components_ok!
+      resolver.unresolved_components_ok!
       selection.select_available = true
 
       if opt = cmd_opts[:r]
-        context.require_component(Cabar::Constraint.create(opt))
-        context.resolve_components!
+        resolver.require_component(Cabar::Constraint.create(opt))
+        resolver.resolve_components!
       end
 
       r = Cabar::Renderer::Dot.new cmd_opts
       r.components = selection.to_a
 
-      r.render(context)
+      r.render(resolver)
     end
     
     doc &quot;[ &lt;cmd-opts???&gt; ]
@@ -72,9 +72,9 @@ Lists the current settings for required components.&quot;
       selection.to_a # FIXME: needed for required_components below!
 
       yaml_renderer.
-        render(context.required_components.to_a, :sort =&gt; true)
+        render(resolver.required_components.to_a, :sort =&gt; true)
       yaml_renderer.
-        render(context.facets.values.to_a)
+        render(resolver.facets.values.to_a)
     end
     
   end # cmd_group</diff>
      <filename>lib/ruby/cabar/plugin/component.rb</filename>
    </modified>
    <modified>
      <diff>@@ -42,7 +42,7 @@ Cabar::Plugin.new :name =&gt; 'cabar/debian',
   def after_load_components! loader, args
     debs = debian_available_components(loader)
 
-    _logger.info &quot;Adding available Debian packages to context: &quot;, :write =&gt; true
+    _logger.info &quot;Adding available Debian packages: &quot;, :write =&gt; true
 
     debs.each do | c |
       loader.add_available_component! c</diff>
      <filename>lib/ruby/cabar/plugin/debian.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 
 
-Cabar::Plugin.new :name =&gt; 'cabar/facet' do
+Cabar::Plugin.new :name =&gt; 'cabar/facet', :documentation =&gt; 'Cabar Facet support.' do
 
   ##################################################################
   # Facet</diff>
      <filename>lib/ruby/cabar/plugin/facet.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 
 
-Cabar::Plugin.new :name =&gt; 'cabar/plugin' do
+Cabar::Plugin.new :name =&gt; 'cabar/plugin', :documentation =&gt; 'Cabar Plugin support.' do
 
   cmd_group :plugin do
     doc &quot;[ name ]</diff>
      <filename>lib/ruby/cabar/plugin/plugin.rb</filename>
    </modified>
    <modified>
      <diff>@@ -14,7 +14,7 @@ Cabar::Plugin.new :name =&gt; 'cabar/ruby', :documentation =&gt; &quot;Support for Ruby.&quot; d
       # Get the arch_dir 
       ruby_comp =
         facet.
-        context.
+        resolver.
         required_components['ruby']
       ruby_comp &amp;&amp;= ruby_comp.size == 1 &amp;&amp; ruby_comp.first
       # $stderr.puts &quot;ruby_comp = #{ruby_comp}&quot;
@@ -26,7 +26,7 @@ Cabar::Plugin.new :name =&gt; 'cabar/ruby', :documentation =&gt; &quot;Support for Ruby.&quot; d
       # Get the standard ruby load_path. 
       ruby_comp =
         facet.
-        context.
+        resolver.
         required_components['ruby']
       ruby_comp &amp;&amp;= ruby_comp.size == 1 &amp;&amp; ruby_comp.first
       # $stderr.puts &quot;ruby_comp = #{ruby_comp}&quot;</diff>
      <filename>lib/ruby/cabar/plugin/ruby.rb</filename>
    </modified>
    <modified>
      <diff>@@ -28,7 +28,7 @@ module Cabar
 
     # Called when a Relationship
     # is specified for a Facet.
-    def attach_facet! f
+    def attach_facet! f, resolver
       f.attach_relationship! self
     end
 </diff>
      <filename>lib/ruby/cabar/relationship.rb</filename>
    </modified>
    <modified>
      <diff>@@ -98,7 +98,7 @@ DOC
 Enables *everything*
 DOC
 
-      attr_reader :context
+      attr_reader :resolver
 
       def initialize *args
         @@option_defaults.each do | k, v |
@@ -120,17 +120,18 @@ DOC
         @current_directory = File.expand_path('.') + '/'
       end
 
-      # Renders a Context as a Dot graph.
-      def render_Context context
-        _logger.debug :&quot;Dot#render_Context&quot;
+
+      # Renders a Resolver as a Dot graph.
+      def render_Resolver resolver
+        _logger.debug :&quot;Dot#render_Resolver&quot;
 
         @node_count = 0
         @edge_count = 0
 
-        @context = context
+        @resolver = resolver
 
         available_components = 
-          context.
+          resolver.
           available_components.
           to_a.
           sort { |a, b| a.name &lt;=&gt; b.name }
@@ -153,10 +154,10 @@ DOC
           @components.each do | x |
             next unless x
             _logger.info &quot;requiring #{x.class} #{x.inspect}&quot;
-            @context.require_component x
+            @resolver.require_component x
           end
-          @context.resolve_components!
-          @components = @context.required_components.to_a
+          @resolver.resolve_components!
+          @components = @resolver.required_components.to_a
         end
 
         # Get list of components to show.
@@ -394,7 +395,7 @@ DOC
         # $stderr.puts &quot;c1 = #{c1}&quot;
         # $stderr.puts &quot;  created_from = #{created_from.inspect}&quot;
 
-        created_from = context.selected_components[created_from]
+        created_from = resolver.selected_components[created_from]
         # $stderr.puts &quot;  created_from = #{created_from.inspect}&quot;
 
         return unless created_from
@@ -487,14 +488,14 @@ DOC
 
       # Return true if a Component is top-level.
       def top_level? c
-        @context.top_level_component? c
+        @resolver.top_level_component? c
       end
 
       # Returns true if a Component is required.
       def required? c
         (
          @required[c.object_id] ||=
-         [ @context.required_component?(c) ]
+         [ @resolver.required_component?(c) ]
          ).first
       end
 </diff>
      <filename>lib/ruby/cabar/renderer/dot.rb</filename>
    </modified>
    <modified>
      <diff>@@ -20,10 +20,10 @@ module Cabar
         Cabar.path_sep
       end
 
-      # Renders a Context object,
-      # Using the Context's current required_components_dependencies.
+      # Renders a Resolver object,
+      # Using the Resolver's current required_components_dependencies.
       #
-      def render_Context x
+      def render_Resolver x
         comment &quot;Cabar config&quot;
 
         comps = x.required_component_dependencies</diff>
      <filename>lib/ruby/cabar/renderer/env_var.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,7 +7,7 @@ require 'cabar/version'
 
 
 module Cabar
-  # Provides a run-time interface to the current Cabar::Context.
+  # Provides a run-time interface to the current Cabar::Resolver.
   class RunTime &lt; Base
     attr_reader :component_by_name
 </diff>
      <filename>lib/ruby/cabar/run_time.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 require 'cabar/base'
 
-require 'cabar/context'
+require 'cabar/resolver'
 
 
 module Cabar
@@ -19,8 +19,9 @@ module Cabar
       end
     end
         
-    # The Context object.
-    attr_accessor_with_clear :context, :to_a
+    # The Resolver object.
+    attr_accessor_with_clear :resolver, :to_a
+
     # Command option Hash parsed by Command::Runner.
     attr_accessor_with_clear :cmd_opts, :to_a
 
@@ -60,7 +61,7 @@ module Cabar
     def _looger
       @_logger ||=
         Cabar::Logger.new(:name =&gt; :selection,
-                          :delegate =&gt; @context.main._logger)
+                          :delegate =&gt; @resolver.main._logger)
     end
 
     # Parses command line options to determine how to 
@@ -144,28 +145,28 @@ module Cabar
             s_o = component_constraint
 
             if s_o
-              @selected_component = context.require_component s_o
+              @selected_component = resolver.require_component s_o
             else
-              context.apply_configuration_requires!
+              resolver.apply_configuration_requires!
             end
 
             # Resolve configuration.
-            context.resolve_components!
+            resolver.resolve_components!
             
             # Validate configuration.
-            context.validate_components!
+            resolver.validate_components!
             
             # Get the required components.
             if @select_top_level
-              result = context.
+              result = resolver.
                 top_level_components.to_a
             else
-              result = context.
-                component_dependencies(context.required_components.to_a)
+              result = resolver.
+                component_dependencies(resolver.required_components.to_a)
             end
 
           when @select_available
-            result = context.available_components
+            result = resolver.available_components
             _logger.debug &quot;result #{result.class} #{result.to_a.size}&quot;
 
             if component_constraint
@@ -177,7 +178,7 @@ module Cabar
             _logger.debug &quot;result #{result.class} #{result.to_a.size}&quot;
             
             if @select_dependencies
-              result = context.component_dependencies(result)
+              result = resolver.component_dependencies(result)
             else
               result = Component.sort(result)
             end</diff>
      <filename>lib/ruby/cabar/selection.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>lib/ruby/cabar/context.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>65893836eefbf3126cdaf5d5a9007eb673a94eb5</id>
    </parent>
  </parents>
  <author>
    <name>Kurt Stephens</name>
    <email>ks.github@kurtstephens.com</email>
  </author>
  <url>http://github.com/kstephens/cabar/commit/dd43c6326fd7ef531fa875e3a65bb62e3cd0694b</url>
  <id>dd43c6326fd7ef531fa875e3a65bb62e3cd0694b</id>
  <committed-date>2009-06-16T16:35:50-07:00</committed-date>
  <authored-date>2009-06-16T16:35:50-07:00</authored-date>
  <message>Renamed Cabar::Context to Cabar::Resolver; Removed some dependencies on the Main#resolver.</message>
  <tree>791c4c048d85797ee1464a7dc497ebbaabfa7a04</tree>
  <committer>
    <name>Kurt Stephens</name>
    <email>ks.github@kurtstephens.com</email>
  </committer>
</commit>
