def require!
      unless required?
        while updates_required?
          Origen.log.info '*******************************************************************************'
          Origen.log.info 'The following remotes need to be updated, this will now happen automatically:'
          dirty_remotes.each do |name, remote|
            if remote[:path]
              Origen.log.info "  #{name} - #{remote[:path]} (included by #{remote[:importer].name})".green
            else
              Origen.log.info "  #{name} - #{remote[:version]} (included by #{remote[:importer].name})".green
            end
          end
          Origen.log.info ''

          update!

          Origen.log.info ''
          Origen.log.info 'Finished updating remotes.'
          Origen.log.info '*******************************************************************************'
        end
        @required = true
      end
    end
def require!
      unless required?
        while updates_required?
          Origen.log.info '*******************************************************************************'
          Origen.log.info 'The following remotes need to be updated, this will now happen automatically:'
          dirty_remotes.each do |name, remote|
            if remote[:path]
              Origen.log.info "  #{name} - #{remote[:path]} (included by #{remote[:importer].name})".green
            else
              Origen.log.info "  #{name} - #{remote[:version]} (included by #{remote[:importer].name})".green
            end
          end
          Origen.log.info ''

          update!

          Origen.log.info ''
          Origen.log.info 'Finished updating remotes.'
          Origen.log.info '*******************************************************************************'
        end
        @required = true
      end
    end
This will fetch all remotes (if required)
 It does not add the libs to the load path, and require the environments
  since remotes are not assumed to be Ruby.