when "query"
BuildServerController.query_server( option[:name] )
+ when "set-attr"
+ BuildServerController.set_server_attribute( option[:name], option[:attr], option[:value] )
+
+ when "get-attr"
+ BuildServerController.get_server_attribute( option[:name], option[:attr] )
+
else
raise RuntimeError, "input option incorrect : #{option[:cmd]}"
end
end
+ # server
+ def self.set_server_attribute( id, attr, value )
+ result = true
+
+ if attr.nil? or attr.empty? or value.nil? or value.empty? then
+ puts "Attribute/Value must be specified!"
+ return false
+ end
+
+ server = get_server(id)
+ case attr
+ when "GIT_BIN_PATH"
+ server.git_bin_path = value
+ when "MAX_WORKING_JOBS"
+ server.jobmgr.max_working_jobs = value.to_i
+ when "JOB_LOG_URL"
+ server.job_log_url = value
+ when "SEND_MAIL"
+ server.send_mail = value
+ when "TEST_TIME"
+ server.test_time = value.to_i
+ when "PASSWORD"
+ server.password = value
+ when "JOB_KEEP_TIME"
+ server.keep_time = value.to_i
+ when "FTP_ADDR"
+ server.ftp_addr = value
+ when "FTP_PORT"
+ server.ftp_port = value
+ when "FTP_USERNAME"
+ server.ftp_username = value
+ when "FTP_PASSWD"
+ server.ftp_passwd = value
+ when "CHANGELOG_CHECK"
+ server.changelog_check = value
+ else
+ puts "Wrong attribute name!"
+ result = false
+ end
+
+ if result then write_server_config( server ) end
+
+ return result
+ end
+
+
+ # server
+ def self.get_server_attribute( id, attr )
+ result = true
+
+ if attr.nil? or attr.empty? then
+ puts "Attribute name must be specified!"
+ return false
+ end
+
+ server = get_server(id)
+ case attr
+ when "GIT_BIN_PATH"
+ puts server.git_bin_path
+ when "MAX_WORKING_JOBS"
+ puts "#{server.jobmgr.max_working_jobs}"
+ when "JOB_LOG_URL"
+ puts server.job_log_url
+ when "SEND_MAIL"
+ puts server.send_mail
+ when "TEST_TIME"
+ puts server.test_time
+ when "PASSWORD"
+ puts server.password
+ when "JOB_KEEP_TIME"
+ puts "#{server.keep_time}"
+ when "FTP_ADDR"
+ puts server.ftp_addr
+ when "FTP_PORT"
+ puts server.ftp_port
+ when "FTP_USERNAME"
+ puts server.ftp_username
+ when "FTP_PASSWD"
+ puts server.ftp_passwd
+ when "CHANGELOG_CHECK"
+ puts server.changelog_check
+ else
+ puts "Wrong attribute name!"
+ result = false
+ end
+
+ return result
+ end
+
+
#####################
private
#####################
FULLBUILD="build-svr fullbuild -n <server name> [--dist <distribution>]"
REGISTER="build-svr register -n <server name> -P <package file> [--dist <distribution>]"
QUERY="build-svr query -n <server name>"
+ SET_ATTR="build-svr set-attr -n <server name> -A <attribute> -V <value>"
+ GET_ATTR="build-svr get-attr -n <server name> -A <attribute>"
end
def option_error_check( options )
if options[:name].nil? or options[:name].empty? then
raise ArgumentError, "Usage: " + BuildServerUsage::QUERY
end
+
+ when "set-attr"
+ if options[:name].nil? or options[:name].empty? or
+ options[:attr].nil? or options[:attr].empty? or
+ options[:value].nil? or options[:value].empty? then
+ raise ArgumentError, "Usage: " + BuildServerUsage::SET_ATTR
+ end
+
+ when "get-attr"
+ if options[:name].nil? or options[:name].empty? or
+ options[:attr].nil? or options[:attr].empty? then
+ raise ArgumentError, "Usage: " + BuildServerUsage::SET_ATTR
+ end
+
else
raise ArgumentError, "Input is incorrect : #{options[:cmd]}"
end
+ "\t" + "register Register the package to the build-server." + "\n" \
+ "\t" + "fullbuild Build all your projects and upload them to package server." + "\n" \
+ "\t" + "query Show build server configuration." + "\n" \
+ + "\t" + "set-attr Set build server atribute." + "\n" \
+ + "\t" + "get-attr Get build server atribute." + "\n" \
+ "\n" + "Subcommand usage:" + "\n" \
+ "\t" + BuildServerUsage::CREATE + "\n" \
+ "\t" + BuildServerUsage::REMOVE + "\n" \
+ "\t" + BuildServerUsage::FULLBUILD + "\n" \
+ "\t" + BuildServerUsage::REGISTER + "\n" \
+ "\t" + BuildServerUsage::QUERY + "\n" \
+ + "\t" + BuildServerUsage::SET_ATTR + "\n" \
+ + "\t" + BuildServerUsage::GET_ATTR + "\n" \
+ "\n" + "Options:" + "\n"
optparse = OptionParser.new(nil, 32, ' '*8) do|opts|
options[:fdomain] = domain
end
+ opts.on( '-A', '--attr <attribute name>', 'attribute' ) do |attr|
+ options[:attr] = attr
+ end
+
+ opts.on( '-V', '--value <value>', 'value' ) do |value|
+ options[:value] = value
+ end
+
opts.on( '-h', '--help', 'display this information' ) do
opts.help.split("\n").each {|op| puts op if not op.include? "--CHILD"}
exit
cmd.eql? "add-sync" or cmd.eql? "remove-sync" or
cmd.eql? "add-prj" or cmd.eql? "remove-prj" or
cmd.eql? "fullbuild" or cmd.eql? "register" or
- cmd.eql? "query" or
+ cmd.eql? "query" or
+ cmd.eql? "set-attr" or cmd.eql? "get-attr" or
cmd =~ /(-v)|(--version)/ or
cmd =~ /(help)|(-h)|(--help)/ then
register Register the package to the build-server.
fullbuild Build all your projects and upload them to package server.
query Show build server configuration.
+set-attr Set build server atribute.
+get-attr Get build server atribute.
Subcommand usage:
build-svr create -n <server name> -t <ftp server url> [-u <package server url> -d <package server address>]
build-svr fullbuild -n <server name> [--dist <distribution>]
build-svr register -n <server name> -P <package file> [--dist <distribution>]
build-svr query -n <server name>
+build-svr set-attr -n <server name> -A <attribute> -V <value>
+build-svr get-attr -n <server name> -A <attribute>
+
+Options:
+-n, --name <server name> build server name
+-u, --url <package server url> package server url: http://127.0.0.1/dibs/unstable
+-d, --address <server address> server address: 127.0.0.1:2224
+-p, --port <port> server port number: 2224
+-P, --pkg <package name/file> package file path or name
+-o, --os <target os list> ex) ubuntu-32,windows-32
+-N, --pname <project name> project name
+-g, --git <git repository> git repository
+-b, --branch <git branch> git branch
+-D, --dist <distribution name> distribution name
+-w, --passwd <password> password for managing project
+-t, --ftp <ftp server url> ftp server url: ftp://dibsftp:dibsftp@127.0.0.1:1024
+-A, --attr <attribute name> attribute
+-V, --value <value> value
+-h, --help display this information
+-v, --version display version
--- /dev/null
+#PRE-EXEC
+rm -rf buildsvr01
+mkdir buildsvr01
+cd buildsvr01; ../../../build-svr create -n testserver3 -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333 -t ftp://ftpuser:ftpuser@172.21.111.124
+#EXEC
+../../build-svr set-attr -n testserver3 -A MAX_WORKING_JOBS -V 3
+../../build-svr get-attr -n testserver3 -A MAX_WORKING_JOBS
+../../build-svr set-attr -n testserver3 -A XXX
+../../build-svr set-attr -n testserver3 -A XXX -V 1
+../../build-svr get-attr -n testserver3 -A XXX
+
+#POST-EXEC
+../../build-svr remove -n testserver3
+rm -rf buildsvr01
+#EXPECT
+3
+Usage: build-svr set-attr -n <server name> -A <attribute> -V <value>
+Wrong attribute name!
+Wrong attribute name!
build-svr-18.testcase
build-svr-19.testcase
build-svr-20.testcase
+build-svr-21.testcase