lib/fig/package.rb in fig-1.24.1.beta.2 vs lib/fig/package.rb in fig-1.24.1.beta.3

- old
+ new

@@ -3,10 +3,12 @@ require 'fig/logging' require 'fig/no_such_package_config_error' require 'fig/package_descriptor' require 'fig/statement/archive' require 'fig/statement/configuration' +require 'fig/statement/include' +require 'fig/statement/include_file' require 'fig/statement/resource' require 'fig/statement/retrieve' module Fig; end @@ -20,28 +22,31 @@ DEFAULT_CONFIG = 'default' attr_reader :name attr_reader :version + attr_reader :file_path attr_reader :description attr_reader :runtime_directory attr_reader :include_file_base_directory attr_reader :statements attr_accessor :backtrace attr_accessor :unparsed_text def initialize( name, version, + file_path, description, runtime_directory, include_file_base_directory, statements, synthetic ) @name = name @version = version + @file_path = file_path @description = description @runtime_directory = runtime_directory @include_file_base_directory = include_file_base_directory @statements = statements @synthetic = synthetic @@ -66,16 +71,24 @@ return end def [](config_name) - @statements.each do |stmt| - return stmt if stmt.is_a?(Fig::Statement::Configuration) && stmt.name == config_name + @statements.each do + |statement| + + return statement if + statement.is_a?(Fig::Statement::Configuration) \ + && statement.name == config_name end descriptor = Fig::PackageDescriptor.new( - @name, @version, config_name, :description => @description + @name, + @version, + config_name, + :file_path => @file_path, + :description => @description ) config_description = nil if @name.nil? and @version.nil? config_description = config_name else @@ -137,10 +150,16 @@ self[config_name || DEFAULT_CONFIG].walk_statements do |statement| if statement.is_a?(Fig::Statement::Include) descriptors << statement.resolved_dependency_descriptor(self, backtrace) + elsif statement.is_a?(Fig::Statement::IncludeFile) + full_path = statement.full_path_relative_to self + + descriptors << Fig::PackageDescriptor.new( + nil, nil, nil, :file_path => full_path + ) elsif statement.is_a?(Fig::Statement::Override) backtrace.add_override(statement) end end @@ -155,32 +174,41 @@ end return end + def name_or_file_or_description + return @name if @name + + if @file_path + return "[#{@file_path}]" + end + + return @description + end + def to_s - name = @name || UNPUBLISHED + name = name_or_file_or_description version = @version || '<empty>' return Fig::PackageDescriptor.format(name, version, nil) end def to_s_with_config(config_name) displayed_config = config_name == DEFAULT_CONFIG ? nil : config_name return Fig::PackageDescriptor.format( - name || UNPUBLISHED, version, displayed_config + name_or_file_or_description, version, displayed_config ) end # Useful for debugging; should not be used for regular output. def to_descriptive_string_with_config(config_name) return Fig::PackageDescriptor.format( name, version, config_name, :use_default_config, description ) end - private - UNPUBLISHED = '<unpublished>' + private def compare_components(mine, others) if mine.nil? if others.nil? return 0