| 
									
										
										
										
											2007-10-11 16:59:08 +00:00
										 |  |  | require 'rexml/document' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-04-21 12:08:31 +00:00
										 |  |  | module Redmine | 
					
						
							|  |  |  |   module VERSION #:nodoc: | 
					
						
							| 
									
										
										
										
											2010-07-18 16:35:43 +00:00
										 |  |  |     MAJOR = 1
 | 
					
						
							|  |  |  |     MINOR = 0
 | 
					
						
							| 
									
										
										
										
											2010-08-22 21:15:38 +00:00
										 |  |  |     TINY  = 1
 | 
					
						
							| 
									
										
										
										
											2008-11-16 11:49:37 +00:00
										 |  |  |      | 
					
						
							|  |  |  |     # Branch values: | 
					
						
							|  |  |  |     # * official release: nil | 
					
						
							|  |  |  |     # * stable branch:    stable | 
					
						
							|  |  |  |     # * trunk:            devel | 
					
						
							|  |  |  |     BRANCH = 'devel' | 
					
						
							| 
									
										
										
										
											2007-04-21 12:08:31 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-11 16:59:08 +00:00
										 |  |  |     def self.revision | 
					
						
							|  |  |  |       revision = nil | 
					
						
							|  |  |  |       entries_path = "#{RAILS_ROOT}/.svn/entries" | 
					
						
							|  |  |  |       if File.readable?(entries_path) | 
					
						
							|  |  |  |         begin | 
					
						
							|  |  |  |           f = File.open(entries_path, 'r') | 
					
						
							|  |  |  |           entries = f.read | 
					
						
							|  |  |  |           f.close | 
					
						
							|  |  |  |      	  if entries.match(%r{^\d+}) | 
					
						
							|  |  |  |      	    revision = $1.to_i if entries.match(%r{^\d+\s+dir\s+(\d+)\s}) | 
					
						
							|  |  |  |      	  else | 
					
						
							|  |  |  |    	        xml = REXML::Document.new(entries) | 
					
						
							|  |  |  |    	        revision = xml.elements['wc-entries'].elements[1].attributes['revision'].to_i | 
					
						
							|  |  |  |    	      end | 
					
						
							|  |  |  |    	    rescue | 
					
						
							|  |  |  |    	      # Could not find the current revision | 
					
						
							|  |  |  |    	    end | 
					
						
							|  |  |  |  	  end | 
					
						
							|  |  |  |  	  revision | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     REVISION = self.revision | 
					
						
							| 
									
										
										
										
											2008-11-16 20:00:20 +00:00
										 |  |  |     ARRAY = [MAJOR, MINOR, TINY, BRANCH, REVISION].compact | 
					
						
							|  |  |  |     STRING = ARRAY.join('.') | 
					
						
							| 
									
										
										
										
											2007-04-21 12:08:31 +00:00
										 |  |  |      | 
					
						
							| 
									
										
										
										
											2008-11-16 20:00:20 +00:00
										 |  |  |     def self.to_a; ARRAY end | 
					
						
							| 
									
										
										
										
											2007-04-21 12:08:31 +00:00
										 |  |  |     def self.to_s; STRING end     | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |