[Title] register package support packages/source table
authorjiil.hyoun <jiil.hyoun@samsung.com>
Tue, 27 Nov 2012 02:03:53 +0000 (11:03 +0900)
committerjiil.hyoun <jiil.hyoun@samsung.com>
Tue, 27 Nov 2012 02:03:53 +0000 (11:03 +0900)
[Type] Enhancement
[Module] Toolchain /
[Priority] Major
[Jira#]
[Redmine#]
[Problem]
[Cause]
[Solution]
[TestCase]

Change-Id: I16ec12d046d5c1198210d169399cf87efd13c7ab

src/build_server/BinaryUploadProject.rb
src/build_server/RegisterPackageJob.rb

index 060891c871feb3b524e144fa886f1a86d9aca759..f913446d2eff8a4fbb1e9f75d5b26bbc8424b54d 100644 (file)
@@ -167,6 +167,28 @@ class BinaryUploadProject < CommonProject
        end
 
 
+       def save_source_info(ver,info)
+               @server.get_db_connection() do |db|
+                       save_source_info_internal(ver,info, db)
+               end
+       end
+
+
+       # save package info
+       def save_package_info_from_manifest(version, file_path, os)
+               begin
+                       pkginfo =PackageManifest.new(file_path)
+               rescue => e
+                       @server.log.error e.message
+                       return
+               end
+
+               pkginfo.get_target_packages(os).each do |pkg|
+                       save_package_info(pkg.version, pkg.package_name, os)
+               end
+       end
+
+
        def unload(db)
                unload_common(db)
                if @prj_id != -1 then
index 24e1feda7411a49edd9b4aad07e787825e1c9d26..7e46f1002bb68fd43822f96516f5ceaf1ee1423f 100644 (file)
@@ -218,6 +218,14 @@ class RegisterPackageJob < CommonJob
                        @log.error( "Job is stopped by ERROR" , Log::LV_USER)
                        @server.cleaner.clean_afterwards(@id)
                else
+                       @log.info( "Job is FINISHED successfully!" , Log::LV_USER)
+
+                       # if succeeded, register source info and copy pkginfo.manifest
+                       @log.info( "Updating the source info for project \"#{@project.name}\"" , Log::LV_USER)
+                       @project.save_source_info( @pkginfo.get_version(), '')
+                       @project.save_package_info_from_manifest( @pkginfo.get_version(),
+                               "#{@source_path}/pkginfo.manifest", @os)
+
                        # clean up
                        @server.cleaner.clean(@id)
                end