class CommonJob
- attr_accessor :id, :server, :log, :os, :type, :pre_jobs, :status, :user_id
+ attr_accessor :id, :server, :log, :status, :priority
++ attr_accessor :os, :type, :pre_jobs, :user_id
+ USER_JOB_PRIORITY = 100
+ AUTO_JOB_PRIORITY = 0
# initialize
public
@parent = nil
@sub_jobs = []
+ @priority = USER_JOB_PRIORITY # higher numbered job get priority
+ @os = "Unknown"
+ @type = "Unknown"
+ @pre_jobs = [] #pre-requisite jobs
+ @project = nil
+ @user_id = 1
+
@status = "JUST_CREATED"
@log = nil
# if updates are found, download them
downloaded_files = []
pkgs.each do |pkg|
- pkg_name=pkg[0]; os=pkg[1]
-
- files = @pkgsvr_client.download(pkg_name, os, false)
- downloaded_files += files
- end
-
- # request to register
- registered_jobs = []
- downloaded_files.each do |file_path|
- @server.log.info "Creating new job for registering \"#{file_path}\""
- new_job = @server.jobmgr.create_new_register_job( file_path, @dist_name )
- new_job.priority = CommonJob::AUTO_JOB_PRIORITY
- logger = JobLog.new( new_job, nil )
- new_job.set_logger(logger)
- logger.init
-
- # add
- @server.jobmgr.add_job( new_job )
- registered_jobs.push new_job
+ pkg_name=pkg[0]; os=pkg[1]; prj=pkg[2]
+
+ downloaded_files = @pkgsvr_client.download(pkg_name, os, false)
+ downloaded_files.each do |file_path|
+ @server.log.info "Creating new job for registering \"#{file_path}\""
- new_job = prj.create_new_job_from_local_file( file_path )
++ new_job = @server.jobmgr.create_new_register_job( file_path, @dist_name )
+ if new_job.nil? then
+ @server.log.error "Creating job failed: #{prj.name} #{pkg_name} #{@dist_name}"
+ next
+ end
-
++ new_job.priority = CommonJob::AUTO_JOB_PRIORITY
+ logger = JobLog.new( new_job, nil )
+ new_job.set_logger(logger)
+ logger.init
+
+ # add
+ @server.jobmgr.add_job( new_job )
+ registered_jobs.push new_job
+ end
end
# wait for finish all jobs
raise "No valid jobs!"
end
- req.puts "Error: Creating job failed!"
+ if new_job.nil? then
+ BuildCommServer.send_begin(req)
++ req.puts "Error: Creating job failed! (project may not exist)"
+ BuildCommServer.send_end(req)
+ raise "Internal Error!"
+ end
+
+ # check reverse build
if no_reverse then new_job.set_no_reverse end
# create logger and set
when "PROJECT"
BuildCommServer.send_begin(req)
# print GIT projects
- sorted_list = @parent_server.prjmgr.projects.sort { |x,y| x.name <=> y.name }
+ sorted_list = @parent_server.prjmgr.get_all_projects().sort { |x,y| x.name <=> y.name }
sorted_list.each do |prj|
if prj.type != "GIT" then next end
- BuildCommServer.send(req,"G,#{prj.name},#{prj.repository},#{prj.branch}")
+ BuildCommServer.send(req,"G,#{prj.name},#{prj.dist_name},#{prj.repository},#{prj.branch}")
end
# print BINARY projects
sorted_list.each do |prj|
--- /dev/null
+ #PRE-EXEC
+ #EXEC
+ ../../pkg-svr register -n pkgsvr02 -d unstable -P bin/bin_0.0.1_ubuntu-32.zip
+ sleep 50
+ ../../pkg-cli list-rpkg -P bin -u `pwd`/pkgsvr01/unstable
+ #POST-EXEC
+ #EXPECT
+ Archive: bin/bin_0.0.1_ubuntu-32.zip
+ inflating:
+ snapshot is generated :
+ package registed successfully
++I, [
++I, [
++I, [
++I, [
++I, [
++I, [
++I, [
++I, [
++I, [
++I, [
+ bin (0.0.1)
../../build-cli register -d 127.0.0.1:2223 -P bin/bin_0.0.0_ubuntu-32.zip -D unstable2 -t ftp://ftpuser:ftpuser@127.0.0.1
#POST-EXEC
#EXPECT
++I, [
++I, [
++I, [
++I, [
++I, [
++I, [
++I, [
++I, [
++I, [
++I, [
++I, [
++I, [
++I, [
Info: Added new job
Info: Initializing job...
Info: Checking package version ...