[Title] fix change log version sort
authorjiil.hyoun <jiil.hyoun@samsung.com>
Tue, 26 Feb 2013 03:04:43 +0000 (12:04 +0900)
committerjiil.hyoun <jiil.hyoun@samsung.com>
Tue, 26 Feb 2013 03:04:43 +0000 (12:04 +0900)
[Type] Bugfix
[Module] Toolchain /
[Priority] Minor
[Jira#]
[Redmine#] 8537
[Problem]
[Cause]
[Solution]
[TestCase]

Change-Id: Ic40678c387e7d07b52538c093875b633bc84cd3d

src/common/Version.rb
src/common/package.rb
src/common/parser.rb

index 7d7921d59e38241cb394853057974ecd0eeee820..d7cce793197261eedf5b8a11f113f7f1c885b416 100644 (file)
@@ -35,4 +35,7 @@ class Version < Array
        def compare x
                self <=> x
        end
+       def to_s
+               return self.join(".")
+       end
 end
index a7c139f6f22d4f867ee34134b6ded1bac27a266b..c8ae1973608113e97ac4c30a91a448d911a9d9c4 100644 (file)
@@ -27,11 +27,11 @@ Contributors:
 =end
 
 class Package
-       attr_accessor :package_name, :label, :version, :os, :build_host_os, :maintainer, :attribute, :install_dep_list, :build_dep_list, :source_dep_list, :conflicts, :source, :src_path, :path, :origin, :checksum, :size, :description, :os_list, :custom, :change_log
+       attr_accessor :package_name, :label, :os, :build_host_os, :maintainer, :attribute, :install_dep_list, :build_dep_list, :source_dep_list, :conflicts, :source, :src_path, :path, :origin, :checksum, :size, :description, :os_list, :custom, :change_log
        def initialize (package_name)
                @package_name = package_name
                @label = ""
-               @version = ""
+               @version = nil
                @os = ""
                @os_list = []
                @build_host_os = []
@@ -56,10 +56,18 @@ class Package
                puts self.to_s
        end
 
+       def version
+               return @version.to_s
+       end
+
+       def version= (str)
+               @version = Version.new(str)
+       end
+
        def to_s
                string =  "Package : " + @package_name
                if not @label.empty? then string = string + "\n" +  "Label : " + @label end
-               if not @version.empty? then string = string + "\n" +  "Version : " + @version end
+               if not @version.nil? then string = string + "\n" +  "Version : " + @version.to_s end
                if not @os_list.empty? then string = string + "\n" + "OS : " + @os_list.join(", ") end
                if not @build_host_os.empty? then string = string + "\n" + "Build-host-os : " + @build_host_os.join(", ") end
                if not @maintainer.empty? then string = string + "\n" + "Maintainer : " + @maintainer end
@@ -96,7 +104,7 @@ class Package
 
                string = ""
                @change_log.sort.each do |list|
-                       string = "* " + list[0] + "\n" + list[1] + "\n" + string
+                       string = "* " + list[0].to_s + "\n" + list[1] + "\n" + string
                end
                return "#Change log\n" + string
        end
index 87949e0b54ebb7128c4c126fcf3b65e5bb3ffd4b..7d25f44a78580b7e84651ca039434d1391f65b98 100644 (file)
@@ -86,7 +86,7 @@ class Parser
                                        when /^\*[ \t]*([0-9][0-9]*.[0-9][0-9]*.[0-9][0-9]*)[ \t]*$/ then
                                                state = "CHANGELOG"
                                                change_log[change_version] = change_contents.strip if not change_version.nil?
-                                               change_version = $1
+                                               change_version = Version.new($1)
                                                change_contents = ""
                                        when /^Include$/i then
                                                pfile = File.dirname(file) + "/" + l.sub(/^[ \t]*Include[ \t]*:[ \t]*/i,"").strip
@@ -228,7 +228,7 @@ class Parser
                                                        else raise RuntimeError, "change log version is duplicated in \"#{file}\" file \n\t#{l}"
                                                        end
                                                end
-                                               change_version = $1
+                                               change_version = Version.new($1)
                                                change_contents = ""
                                        else
                                                change_contents = change_contents + "\n" + l.rstrip
@@ -241,7 +241,7 @@ class Parser
                        if not package.nil? then pkglist.push package end
                        if not change_version.nil? then
                                if change_log[change_version].nil? then change_log[change_version] = change_contents.strip
-                               else raise RuntimeError, "change log version is duplicated in \"#{file}\" file \n\t#{change_version}"
+                               else raise RuntimeError, "change log version is duplicated in \"#{file}\" file \n\t#{change_version.to_s}"
                                end
                        end
                        pkglist.each {|pkg| pkg.change_log = change_log }