Changeset 14694 for docs

Show
Ignore:
Timestamp:
06/27/08 15:00:52 (5 months ago)
Author:
shyouhei
Message:

sophiscated version.h updater

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • docs/shyouhei/ruby development/merger.rb

    r14522 r14694  
    1717    end 
    1818  end 
    19 end 
    20  
    21 version_h = <<end 
    22 #define RUBY_VERSION "#{v.join '.'}" 
    23 #define RUBY_RELEASE_DATE "#{d.strftime '%Y-%m-%d'}" 
    24 #define RUBY_VERSION_CODE #{v.join ''} 
    25 #define RUBY_RELEASE_CODE #{d.strftime '%Y%m%d'} 
    26 #define RUBY_PATCHLEVEL #{p.to_i.succ.to_s} 
    27  
    28 #define RUBY_VERSION_MAJOR #{v[0]} 
    29 #define RUBY_VERSION_MINOR #{v[1]} 
    30 #define RUBY_VERSION_TEENY #{v[2]} 
    31 #define RUBY_RELEASE_YEAR #{d.year} 
    32 #define RUBY_RELEASE_MONTH #{d.month} 
    33 #define RUBY_RELEASE_DAY #{d.day} 
    34  
    35 #ifdef RUBY_EXTERN 
    36 RUBY_EXTERN const char ruby_version[]; 
    37 RUBY_EXTERN const char ruby_release_date[]; 
    38 RUBY_EXTERN const char ruby_platform[]; 
    39 RUBY_EXTERN const int ruby_patchlevel; 
    40 #endif 
    4119end 
    4220 
     
    8260  STDERR.puts '*** You should write ChangeLog NOW!!! ***' 
    8361end 
    84 open 'version.h', 'wb' do |f| f.write version_h end 
     62open 'version.h', 'r+b' do |f| 
     63  str = f.read 
     64  [%W[RUBY_VERSION      "#{v.join '.'}"], 
     65   %W[RUBY_VERSION_CODE  #{v.join ''}], 
     66   %W[RUBY_VERSION_MAJOR #{v[0]}], 
     67   %W[RUBY_VERSION_MINOR #{v[1]}], 
     68   %W[RUBY_VERSION_TEENY #{v[2]}], 
     69   %W[RUBY_RELEASE_DATE "#{d.strftime '%Y-%m-%d'}"], 
     70   %W[RUBY_RELEASE_CODE  #{d.strftime '%Y%m%d'}], 
     71   %W[RUBY_PATCHLEVEL    #{p.to_i.succ.to_s}], 
     72   %W[RUBY_RELEASE_YEAR  #{d.year}], 
     73   %W[RUBY_RELEASE_MONTH #{d.month}], 
     74   %W[RUBY_RELEASE_DAY   #{d.day}], 
     75  ].each do |(k, v)| 
     76    str.sub! /^(#define\s+#{k}\s+).*$/, "\\1#{v}" 
     77  end 
     78  f.rewind 
     79  f.write str 
     80end 
    8581system *%w'svn resolved version.h' 
    8682 
     
    9389 
    9490loop do 
     91  f.rewind 
    9592  r, w = IO.pipe 
    9693  fork do