Changeset 1179

Show
Ignore:
Timestamp:
01/06/08 03:13:26 (11 months ago)
Author:
has.s..@gmail.com
Message:

Adds filebased SVN_REVISION for the repo. Thanx sethrasmussen@gmail.com. Closes #408

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk

    • Property svn:ignore changed from
      pkg
      tmtags
      to
      pkg
      SVN_REVISION
      tmtags
  • trunk/Rakefile

    r1155 r1179  
    4949  s.platform = Gem::Platform::RUBY 
    5050  s.has_rdoc = true 
    51   s.extra_rdoc_files = ["README", "LICENSE", 'TODO'] 
     51  s.extra_rdoc_files = %w( README LICENSE TODO ) 
    5252  #s.rdoc_options += RDOC_OPTS +  
    5353  #  ['--exclude', '^(app|uploads)'] 
    54   s.summary = "Merb == Mongrel + Erb. Pocket rocket web framework." 
     54  s.summary = 'Merb == Mongrel + Erb. Pocket rocket web framework.' 
    5555  s.description = s.summary 
    5656  s.author = "Ezra Zygmuntowicz" 
     
    5858  s.homepage = 'http://merb.devjavu.com' 
    5959  s.executables = ['merb'] 
    60  
    61   s.add_dependency('mongrel') 
    62   s.add_dependency('erubis') 
    63   s.add_dependency('mime-types') 
    64   s.add_dependency('rubigen') 
    65   s.add_dependency('rake')  
    66   s.add_dependency('ruby2ruby')  
    67   s.add_dependency('json_pure')  
     60   
     61  s.add_dependency 'mongrel' 
     62  s.add_dependency 'erubis' 
     63  s.add_dependency 'mime-types' 
     64  s.add_dependency 'rubigen' 
     65  s.add_dependency 'rake' 
     66  s.add_dependency 'ruby2ruby' 
     67  s.add_dependency 'json_pure' 
     68   
    6869  s.requirements << 'install the json gem to get faster json parsing' 
    6970  s.required_ruby_version = '>= 1.8.4' 
    70  
    71   s.files = %w(LICENSE README Rakefile TODO) + Dir.glob("{bin,spec,lib,examples,app_generators,merb_generators,merb_default_generators,rspec_generators,test_unit_generators,script}/**/*")  
    72        
    73   s.require_path = "lib" 
    74   s.bindir = "bin" 
     71   
     72  s.files = %w( LICENSE README Rakefile TODO ) + [Merb.svn_revision_filename] + 
     73    Dir['{bin,spec,lib,examples,app_generators,merb_generators,merb_default_generators,rspec_generators,test_unit_generators,script}/**/*'] 
     74   
     75  s.require_path = 'lib' 
     76  s.bindir = 'bin' 
    7577end 
    7678 
  • trunk/bin/merb

    r401 r1179  
    11#!/usr/bin/env ruby 
    2  
    32require 'rubygems' 
    43require 'merb/server' 
    5  
    64Merb::Server.run 
  • trunk/lib/merb/version.rb

    r1160 r1179  
    11module Merb 
     2  VERSION = '0.5.0' unless defined?(::Merb::VERSION) 
    23   
    3   VERSION="0.5.0" unless defined?(::Merb::VERSION) 
    4  
    5   # TODO: We need to modify this so that a revision file is created when packaged to gem form. 
    6   #       Then we pull the revision from that file if it exists. 
    7    
    8   def self.svn_revision 
    9     @svn_revision ||= 
    10     if File.directory?(".git") 
    11       revlist = `git log | grep git-svn-id`.scan(/@([\d]+)\s/) 
    12       revlist.empty? ? nil : revlist.first.first 
    13     elsif File.directory?(".svn") 
    14       `svn info`[/Revision: (\d+)/, 1] 
    15     else 
    16       nil 
     4  class << self 
     5    def svn_revision 
     6      rev = if File.directory?('.git') 
     7        `git log -1`[/git-svn-id.+@(\d+)/, 1] 
     8      elsif File.directory?('.svn') 
     9        `svn info`[/Revision: (\d+)/, 1] 
     10      end 
     11      rev = rev.to_i if rev 
     12    end 
     13     
     14    def svn_revision_filename 
     15      'SVN_REVISION' 
     16    end 
     17     
     18    def svn_revision_from_file 
     19      # This block should maybe be its own method 
     20      unless File.file? svn_revision_file_path 
     21        File.open svn_revision_file_path, 'w' do |f| 
     22          f.print svn_revision 
     23        end 
     24      end 
     25       
     26      unless (rev = File.read(svn_revision_file_path).strip).empty? 
     27        rev.to_i 
     28      end 
     29    end 
     30     
     31    def svn_revision_file_path 
     32      File.expand_path File.join(File.dirname(__FILE__), '..', '..', svn_revision_filename) 
    1733    end 
    1834  end 
    19  
     35   
    2036  # Merb::RELEASE meanings: 
    2137  # 'svn'   : unreleased 
     
    2541  # stay 'svn'.  Change it to nil in release tags. 
    2642  unless defined?(::Merb::RELEASE) 
    27     RELEASE = "svn#{svn_revision ? " r#{svn_revision}" : ''}" 
     43    RELEASE = "svn#{" r#{svn_revision_from_file}" if svn_revision_from_file}" 
    2844  end 
    29  
    3045end