changeset 10:6e6b00d95d0b 1

Automatic versioning.
author Mikhail Kryshen <mikhail@kryshen.net>
date Tue, 17 Jul 2012 07:16:29 +0400
parents 2efb0973ab83
children 27996848b621
files Rakefile src/net/kryshen/charamega/field.mirah src/net/kryshen/charamega/game.mirah src/net/kryshen/charamega/ui.mirah
diffstat 4 files changed, 22 insertions(+), 4 deletions(-) [+]
line diff
     1.1 --- a/Rakefile	Tue Jul 17 05:08:17 2012 +0400
     1.2 +++ b/Rakefile	Tue Jul 17 07:16:29 2012 +0400
     1.3 @@ -5,12 +5,18 @@
     1.4  SRC = FileList['src/**/*.mirah']
     1.5  
     1.6  CLEAN.include 'build/**/*.class'
     1.7 +CLEAN.include 'build/**/version.properties'
     1.8  CLEAN.include 'dist/*.jar'
     1.9  
    1.10  task :default => [:compile]
    1.11  
    1.12  task :compile => SRC do
    1.13    Mirah::compile '--jvm', '1.6', '-d', 'build', *SRC
    1.14 +
    1.15 +  version = `hg log -r tip --template "{latesttag}.{latesttagdistance}"`
    1.16 +  File.open('build/net/kryshen/charamega/version.properties', 'w') do |f|
    1.17 +    f.write "version = #{version}\n"
    1.18 +  end
    1.19  end
    1.20  
    1.21  task :run => [:compile] do
    1.22 @@ -26,4 +32,3 @@
    1.23      end
    1.24    end
    1.25  end
    1.26 -
     2.1 --- a/src/net/kryshen/charamega/field.mirah	Tue Jul 17 05:08:17 2012 +0400
     2.2 +++ b/src/net/kryshen/charamega/field.mirah	Tue Jul 17 07:16:29 2012 +0400
     2.3 @@ -42,7 +42,7 @@
     2.4      setPreferredSize Dimension.new(790, 500)
     2.5  
     2.6      begin
     2.7 -      source = getClass.getResource("DejaVuSans.ttf").openStream
     2.8 +      source = getClass.getResourceAsStream("DejaVuSans.ttf")
     2.9        font = Font.createFont(Font.TRUETYPE_FONT, source)
    2.10      ensure
    2.11        source.close  unless source.nil?
     3.1 --- a/src/net/kryshen/charamega/game.mirah	Tue Jul 17 05:08:17 2012 +0400
     3.2 +++ b/src/net/kryshen/charamega/game.mirah	Tue Jul 17 07:16:29 2012 +0400
     3.3 @@ -23,6 +23,7 @@
     3.4  import java.util.List
     3.5  import java.util.ArrayList
     3.6  import java.util.Collections
     3.7 +import java.util.Properties
     3.8  
     3.9  class Game
    3.10  
    3.11 @@ -305,6 +306,19 @@
    3.12      Card(row.get j)
    3.13    end
    3.14  
    3.15 +  def version
    3.16 +    return @version  unless @version.nil?
    3.17 +    
    3.18 +    begin
    3.19 +      source = getClass.getResourceAsStream("version.properties")
    3.20 +      properties = Properties.new.load(source)
    3.21 +    ensure
    3.22 +      source.close  unless source.nil?
    3.23 +    end
    3.24 +    
    3.25 +    @version = properties.getProperty("version")
    3.26 +  end
    3.27 +
    3.28    private
    3.29  
    3.30    def compute_limits
     4.1 --- a/src/net/kryshen/charamega/ui.mirah	Tue Jul 17 05:08:17 2012 +0400
     4.2 +++ b/src/net/kryshen/charamega/ui.mirah	Tue Jul 17 07:16:29 2012 +0400
     4.3 @@ -28,7 +28,6 @@
     4.4  
     4.5    def self.initialize:void
     4.6      @@title = 'Charamega'
     4.7 -    @@version = '0.9'
     4.8      @@home = 'http://kryshen.net/games/'
     4.9    end
    4.10  
    4.11 @@ -162,7 +161,7 @@
    4.12      title = JLabel.new(@@title)
    4.13        .setFont(Font.new('serif', Font.BOLD, 26))
    4.14  
    4.15 -    version = JLabel.new("version #{@@version}")
    4.16 +    version = JLabel.new("version #{@game.version}")
    4.17      link = HyperlinkLabel.new(@@home)
    4.18  
    4.19      players_label = JLabel.new('Players: ')