end
- ## wait to be resolved by other jobs
- #def wait_resolve()
- # @log.info( "Started to build this job and wait for being resolved...", Log::LV_USER)
-
- # # create builder
- # if @is_remote_job then
- # builder = RemoteBuilder.new("JB#{@id}", @remote_server, @server.ftp_addr, @server.ftp_port, @server.ftp_username, @server.ftp_passwd)
- # @log.info( "JobBuilder##{@id} is created", Log::LV_USER)
- # @log.info( " - Remote Server : #{@remote_server.ip}:#{@remote_server.port}" )
- # if not @server.ftp_addr.nil? then
- # @log.info( " - FTP Server : #{@server.ftp_addr}" )
- # end
- # else
- # builder = Builder.create( "JB#{@id}", @pkgsvr_url, nil,
- # "#{@buildroot_dir}/#{@os}", @server.build_cache_dir )
- # if builder.nil?
- # @log.error( "Creating job builder failed", Log::LV_USER)
- # return false
- # end
- # @log.info( "JobBuilder##{@id} is created", Log::LV_USER)
- # @log.info( " - Package Server : #{@pkgsvr_url}" )
- # @log.info( " - Build Cache Path : #{@server.build_cache_dir}" )
- # end
- # @log.info( " - Log Path : #{@log.path}" )
-
- # # build
- # if @is_remote_job then
- # result = builder.build_job(self, [])
- # else
- # result = builder.build_job(self, true, [], false )
- # end
- # if not result then
- # @log.error( "Building job failed", Log::LV_USER)
- # write_log_url()
- # return false
- # end
-
- # # check reverse dependecy
- # @rev_fail_projects = ReverseBuildChecker.check(self, false)
- # if @rev_fail_projects.empty? then
- # # if no problem?, it OK
- # return true
- # end
-
- # # pending
- # @status = "PENDING"
- # @log.info( "Entered the PENDING state ...", Log::LV_USER)
- # old_msg = ""
- # while @status == "PENDING"
- # new_msg = @rev_fail_projects.map {|p| "#{p[0].name}(#{p[1]})"}.join(", ")
- # if old_msg != new_msg then
- # @log.error( " * Waiting for building next projects: #{new_msg}", Log::LV_USER)
- # old_msg = new_msg
- # end
- # sleep 1
- # end
-
- # return true
- #end
-
-
- ## resolve other pending job
- #def resolve()
-
- # # wait for other build-dependent projects are resolved
- # old_msg = ""
- # wait_prjs = @pending_ancestor.rev_fail_projects.select {|p| is_build_dependent_project(p[0], p[1])}
- # @log.info("Checking build dependency before RESOLVE", Log::LV_USER)
- # while not wait_prjs.empty?
- # @status = "PENDING"
- # new_msg = wait_prjs.map {|p| "#{p[0].name}(#{p[1]})"}.join(", ")
- # if new_msg != old_msg then
- # @log.info(" * Waiting for building next projects: #{new_msg}", Log::LV_USER)
- # old_msg = new_msg
- # end
- # sleep 1
- # wait_prjs = @pending_ancestor.rev_fail_projects.select {|p| is_build_dependent_project(p[0], p[1])}
- # end
-
- # # return back to "WORKING"
- # @status = "WORKING"
-
- # @log.info( "Started to build this job and resolve other pending job...", Log::LV_USER)
-
- # # create builder
- # if @is_remote_job then
- # builder = RemoteBuilder.new("JB#{@id}", @remote_server, @server.ftp_addr, @server.ftp_port, @server.ftp_username, @server.ftp_passwd)
- # @log.info( "JobBuilder##{@id} is created", Log::LV_USER)
- # @log.info( " - Remote Server : #{@remote_server.ip}:#{@remote_server.port}" )
- # if not @server.ftp_addr.nil? then
- # @log.info( " - FTP Server : #{@server.ftp_addr}" )
- # end
- # else
- # builder = Builder.create( "JB#{@id}", @pkgsvr_url, nil,
- # "#{@buildroot_dir}/#{@os}", @server.build_cache_dir )
- # if builder.nil?
- # @log.error( "Creating job builder failed", Log::LV_USER)
- # return false
- # end
- # @log.info( "JobBuilder##{@id} is created", Log::LV_USER)
- # @log.info( " - Package Server : #{@pkgsvr_url}" )
- # @log.info( " - Build Cache Path : #{@server.build_cache_dir}" )
- # end
- # @log.info( " - Log Path : #{@log.path}" )
-
- # # get local packages to overwite
- # # they must be composed of packages of pending jobs and its success list
- # local_pkgs=[]
- # local_pkgs += @external_pkgs
- # src_path = @pending_ancestor.source_path
- # ver = @pending_ancestor.pkginfo.get_version()
- # @pending_ancestor.pkginfo.get_target_packages(@os).each do |pkg|
- # local_pkgs.push "#{src_path}/#{pkg.package_name}_#{ver}_#{@os}.zip"
- # end
- # @pending_ancestor.rev_success_jobs.each do |job|
- # src_path = job.source_path
- # ver = job.pkginfo.get_version()
- # job.pkginfo.get_target_packages(@os).each do |pkg|
- # local_pkgs.push "#{src_path}/#{pkg.package_name}_#{ver}_#{@os}.zip"
- # end
- # end
-
- # # build
- # if @is_remote_job then
- # result = builder.build_job(self, local_pkgs)
- # else
- # result = builder.build_job(self, true, local_pkgs, false )
- # end
- # if not result then
- # @log.error( "Building job failed", Log::LV_USER)
- # write_log_url()
- # return false
- # end
-
- # # check reverse dependecy and update parent rev_fail_project list
- # new_fail_projects = ReverseBuildChecker.check(self, false)
- # new_fail_projects.each do |p|
- # @pending_ancestor.add_rev_fail_project(p[0], p[1])
- # end
-
- # # update the status of pending job
- # @status = "PENDING"
- # @pending_ancestor.remove_rev_fail_project(@project, @os)
- # @pending_ancestor.rev_success_jobs.push self
- # if @pending_ancestor.rev_fail_projects.empty? then
- # @pending_ancestor.status = "RESOLVED"
- # @pending_ancestor.rev_success_jobs.each do |job|
- # job.status = "RESOLVED"
- # end
- # else
- # @log.info( "Entered the PENDING state ...", Log::LV_USER)
- # old_msg = ""
- # while @status == "PENDING"
- # new_msg = @pending_ancestor.rev_fail_projects.map {|p| "#{p[0].name}(#{p[1]})"}.join(", ")
-
- # if new_msg != old_msg then
- # @log.info(" * Waiting for building next projects: #{new_msg}", Log::LV_USER)
- # old_msg = new_msg
- # end
-
- # sleep 1
- # end
- # end
-
- # return true
- #end
-
-
def upload()
@log.info( "Uploading ...", Log::LV_USER)