[Title] Remove "verbose" option of build-cli build
authordonghee yang <donghee.yang@samsung.com>
Mon, 25 Mar 2013 14:19:16 +0000 (23:19 +0900)
committerdonghee yang <donghee.yang@samsung.com>
Mon, 25 Mar 2013 14:19:16 +0000 (23:19 +0900)
build-cli
package/changelog
package/pkginfo.manifest
src/build_server/BuildClientOptionParser.rb
src/build_server/MultiBuildJob.rb
src/build_server/RemoteBuilder.rb
src/build_server/SocketJobRequestListener.rb

index f700c3ab6ee342eb272a606f48e734f84fa5fbd5..b047c0d504acc897b9be598e8897c98bfa366fcf 100755 (executable)
--- a/build-cli
+++ b/build-cli
@@ -177,7 +177,7 @@ begin
                end
                client = BuildCommClient.create( result[0], result[1], nil, 0 )
                if not client.nil? then
-                       client.send "BUILD|GIT|#{option[:project]}|#{option[:passwd]}|#{option[:os]}|#{option[:async]}|#{option[:noreverse]}|#{option[:dist]}|#{option[:user]}|#{option[:verbose]}"
+                       client.send "BUILD|GIT|#{option[:project]}|#{option[:passwd]}|#{option[:os]}|#{option[:async]}|#{option[:noreverse]}|#{option[:dist]}|#{option[:user]}|#{option[:rebuild]}"
                        if not client.print_stream then
                                puts "ERROR: #{client.get_error_msg()}"
                        end
@@ -187,22 +187,6 @@ begin
                        puts "Connection to server failed!"
                        exit 1
                end
-#      when "resolve"
-#              result = Utils.parse_server_addr(option[:domain])
-#              if result.nil? then
-#                      puts "Server address is incorrect. (#{option[:domain]})"
-#                      puts "Tune as following format."
-#                      puts " <ip>:<port>"
-#                      exit 1
-#              end
-#              client = BuildCommClient.create( result[0], result[1], nil, 0 )
-#              if not client.nil? then
-#                      client.send "RESOLVE|GIT|#{option[:project]}|#{option[:passwd]}|#{option[:os]}|#{option[:async]}|#{option[:dist]}|#{option[:user]}|#{option[:verbose]}"
-#                      if not client.print_stream then
-#                              puts "ERROR: #{client.get_error_msg()}"
-#                      end
-#                      client.terminate
-#              end
        when "query"
                result = Utils.parse_server_addr(option[:domain])
                if result.nil? then
index 514f0a922b98e31b9bf6bcbb42472bf04a197606..fd9b42a9c8816393cac6ae8be4091655ebea6a9e 100644 (file)
@@ -1,3 +1,7 @@
+* 2.1.8
+- Modified to use hard-link instead of copying
+- Removed "verbose" option in build-cli
+== donghee yang <donghee.yang@samsung.com> 2013-03-25
 * 2.1.7
 - add log for debug
 == hyoun jiil <jiil.hyoun@samsung.com> 2013-03-21
index 6c17ab150d1a2cd1d5f1977b3e3e7839b202e142..44065ab497f891d41826c34471853d8d187c7b8b 100644 (file)
@@ -1,5 +1,5 @@
 Source : dibs
-Version :2.1.7
+Version :2.1.8
 Maintainer : taejun ha<taejun.ha@samsung.com>, jiil hyoun <jiil.hyoun@samsung.com>, donghyuk yang <donghyouk.yang@samsung.com>, donghee yang <donghee.yang@samsung.com>, sungmin kim <dev.sungmin.kim@samsung.com
 
 Package : dibs
index 3bdc5d0fafe362a25ed27f93c20870f0a1477c21..3862ea4c713bf80fef2be98407a8ff391d59adf2 100644 (file)
@@ -31,8 +31,7 @@ require 'optparse'
 require 'utils'
 
 class BuildClientUsage
-       BUILD="build-cli build -N <project name> -d <server address> [-o <os>] [-w <password>] [--async] [-D <distribution name>] [-U user-email] [-V]"
-       #RESOLVE="build-cli resolve -N <project name> -d <server address> [-o <os>] [-w <password>] [--async] [-D <distribution name>] [-U user-email] [-V]"
+       BUILD="build-cli build -N <project name> -d <server address> [-o <os>] [-w <password>] [--async] [-D <distribution name>] [-U user-email]"
        QUERY="build-cli query -d <server address>"
        QUERY_SYSTEM="build-cli query-system -d <server address>"
        QUERY_PROJECT="build-cli query-project -d <server address>"
@@ -52,12 +51,6 @@ def option_error_check( options )
                        raise ArgumentError, "Usage: " + BuildClientUsage::BUILD
                end
 
-#      when "resolve" then
-#              if options[:project].nil? or options[:project].empty? or
-#                      options[:domain].nil?  or options[:domain].empty? then
-#                      raise ArgumentError, "Usage: " + BuildClientUsage::RESOLVE
-#              end
-#
        when "query" then
                if options[:domain].nil? or options[:domain].empty? then
                        raise ArgumentError, "Usage: " + BuildClientUsage::QUERY
@@ -167,6 +160,11 @@ def option_parse
                        options[:noreverse] = "YES"
                end
 
+               options[:rebuild] = "NO"
+               opts.on( '--rebuild', 'do not check package version' ) do
+                       options[:rebuild] = "YES"
+               end
+
                opts.on( '-j', '--job <job number>', 'job number' ) do|job|
                        options[:job] = job
                end
@@ -193,13 +191,8 @@ def option_parse
                        options[:user] = user
                end
 
-               options[:verbose] = "NO"
-               opts.on( '-V', '--verbose', 'verbose mode' ) do
-                       options[:verbose] = "YES"
-               end
-
                opts.on( '-h', '--help', 'display help' ) do
-                       opts.help.split("\n").each {|op| puts op if not op.include? "--noreverse"}
+                       opts.help.split("\n").each {|op| puts op if not op.include? "--noreverse" and not op.include? "--rebuild"}
                        exit
                end
 
index 1246de4f8755ebdcc134a2e93b8da43d337971b1..07a269745db58c8872ede059ebb0ade39e5c31fd 100644 (file)
@@ -80,6 +80,14 @@ class MultiBuildJob < CommonJob
        end
 
 
+       # This make project to build
+       # even though there is a package of same version on pkg-server
+       def set_force_rebuild(value)
+               @sub_jobs.each do |sub|
+                       sub.set_force_rebuild(value)
+               end
+       end
+
        #
        def init
                @job_root = "#{@server.path}/jobs/#{@id}"
index 78d3fa9322ddd06116dbdc71adaec6dd9590f18d..3e79ad81f5676d280b4449834e570994778b15a5 100644 (file)
@@ -100,7 +100,7 @@ class RemoteBuilder
                # send build request
                @log.info( "Sending build request to remote server...", Log::LV_USER )
                result, result_files = send_build_request(git_repos, os, is_rev_build,
-                                                                                                 srcinfo, no_reverse, local_pkgs, dock, dist_name, user_email, @log.is_verbose)
+                         srcinfo, no_reverse, local_pkgs, dock, dist_name, user_email)
 
                @log.info( "Receiving log file from remote server...", Log::LV_USER )
                if not receive_file_from_remote( "#{source_path}/../remote_log", dock ) then
@@ -163,7 +163,7 @@ class RemoteBuilder
 
        # send build request
        protected
-       def send_build_request(git_repos, os, is_rev_build, commit, no_reverse, local_pkgs, dock, dist_name, user_email, verbose)
+       def send_build_request(git_repos, os, is_rev_build, commit, no_reverse, local_pkgs, dock, dist_name, user_email)
                result_files = []
 
                client = BuildCommClient.create( @addr, @port, @log )
@@ -177,13 +177,13 @@ class RemoteBuilder
 
                # send
                #          0   | 1 |    2     |   3  | 4|  5  |     6    |    7    |    8     |   9   |   10   |   11    |  12  | 13 |  14
-               # format: BUILD|GIT|repository|passwd|os|async|no_reverse|dist_name|user_email|verbose|internal|rev-build|commit|pkgs|dock_num
-               # value : BUILD|GIT|repository|      |os|NO   |no_reverse|dist_name|user_email|verbose|YES     |rev-build|commit|pkgs|dock_num
+               # format: BUILD|GIT|repository|passwd|os|async|no_reverse|dist_name|user_email|rebuild|internal|rev-build|commit|pkgs|dock_num
+               # value : BUILD|GIT|repository|      |os|NO   |no_reverse|dist_name|user_email|YES    |YES     |rev-build|commit|pkgs|dock_num
                result = true
                commit = commit.nil? ? "":commit
                pkg_list = local_pkg_names.join(",")
                rev = is_rev_build ? "YES":"NO"
-               msg = "BUILD|GIT|#{git_repos}||#{os}|NO|#{no_reverse}|#{dist_name}|#{user_email}|#{verbose}|YES|#{rev}|#{commit}|#{pkg_list}|#{dock}"
+               msg = "BUILD|GIT|#{git_repos}||#{os}|NO|#{no_reverse}|#{dist_name}|#{user_email}|YES|YES|#{rev}|#{commit}|#{pkg_list}|#{dock}"
                result = client.send( msg )
                if not result then
                        @log.error( "Communication failed! #{client.get_error_msg()}", Log::LV_USER)
index 6d921ad2eaa18d0e03a06dade071667353c8b40e..367155aad1578942555ed2ebf7f130fc41091aec 100644 (file)
@@ -201,8 +201,8 @@ class SocketJobRequestListener
                end
 
                #          0  | 1 |     2      |  3   |  4    |  5  |     6    |    7    |   8      |   9   |   10   |    11   |  12  | 13 |   14
-               # Case1. BUILD|GIT|project_name|passwd|os_list|async|no_reverse|dist_name|user_email|verbose
-               # Case2. BUILD|GIT|git_repos   |      |os     |async|no_reverse|dist_name|user_email|verbose|internal|rev_build|commit|pkgs|dock_num
+               # Case1. BUILD|GIT|project_name|passwd|os_list|async|no_reverse|dist_name|user_email|rebuild
+               # Case2. BUILD|GIT|git_repos   |      |os     |async|no_reverse|dist_name|user_email|rebuild|internal|rev_build|commit|pkgs|dock_num
 
                # parse
                project_name_list = tok[2].split(",")
@@ -213,7 +213,7 @@ class SocketJobRequestListener
                no_reverse = tok[6].eql? "YES"
                dist_name = (not tok[7].nil? and not tok[7].empty?) ? tok[7].strip : ""
                user_email = (not tok[8].nil? and not tok[8].empty?) ? tok[8].strip : ""
-               verbose = tok[9].eql? "YES"
+               rebuild = tok[9].eql? "YES"
                is_internal = tok[10].eql? "YES"
                rev_job = tok[11].eql? "YES"
                git_commit = (not tok[12].nil? and not tok[12].empty?) ? tok[12] : nil
@@ -311,11 +311,14 @@ class SocketJobRequestListener
                # check reverse build
                if no_reverse then new_job.set_no_reverse end
 
+               # set force rebuild if needed
+               if rebuild then new_job.set_force_rebuild(true) end
+
                @parent_server.jobmgr.commit_job(new_job)
 
                # create logger and set
                if async then
-                       new_job.create_logger( nil, verbose)
+                       new_job.create_logger( nil, false)
                        BuildCommServer.send(req,"Info: Added new job \"#{new_job.id}\" for #{new_job.os}!")
                        if not @parent_server.job_log_url.empty? then
                                BuildCommServer.send(req,"Info:  * Log URL : #{@parent_server.job_log_url}/#{new_job.id}/log")
@@ -324,7 +327,7 @@ class SocketJobRequestListener
                        BuildCommServer.send_end(req)
                        BuildCommServer.disconnect(req)
                else
-                       logger = new_job.create_logger( req, verbose)
+                       logger = new_job.create_logger( req, false)
                        logger.info( "Added new job \"#{new_job.id}\" for #{new_job.os}!", Log::LV_USER)
                        if not @parent_server.job_log_url.empty? then
                                logger.info( " * Log URL : #{@parent_server.job_log_url}/#{new_job.id}/log", Log::LV_USER)
@@ -354,106 +357,6 @@ class SocketJobRequestListener
        end
 
 
-       ## "RESOLVE"
-       #def handle_cmd_resolve( line, req )
-       #       @log.info "Received REQ: #{line}"
-
-       #       begin
-       #               handle_cmd_resolve_internal( line, req )
-       #       rescue BuildServerException => e
-       #               @log.error(e.message)
-       #               BuildCommServer.send(req, e.err_message())
-       #               BuildCommServer.send_end(req)
-       #               BuildCommServer.disconnect(req)
-       #       end
-
-       #       @log.info "Handled REQ: #{line}"
-       #end
-
-
-       #def handle_cmd_resolve_internal( line ,req)
-       #       tok = line.split("|").map { |x| x.strip }
-       #       if tok.count < 3 then
-       #               raise BuildServerException.new("ERR001"), line
-       #       end
-
-       #       case tok[1]
-       #               # RESOLVE|GIT|project_name|passwd|os|async|dist_name|user_email|verbose
-       #       when "GIT"
-
-       #               # parse
-       #               project_name=tok[2]
-       #               passwd=tok[3]
-       #               os=tok[4]
-       #               async = tok[5].eql? "YES"
-       #               dist_name = tok[6]
-       #               user_email = (not tok[7].nil? and not tok[7].empty?) ? tok[7].strip : ""
-       #               verbose = tok[8].eql? "YES"
-       #               if (dist_name.nil? or dist_name.empty?) then
-       #                       dist_name = @parent_server.distmgr.get_default_distribution_name()
-       #               end
-
-       #               # check distribution
-       #               check_distribution(dist_name, req)
-
-       #               # check project
-       #               prj = check_project_exist(project_name, dist_name, req)
-
-       #               # check passwd
-       #               check_project_password(prj, passwd, req)
-
-       #               # check os
-       #               os_list = check_supported_os( [os] , req )
-       #               os = os_list[0]
-
-       #               # check user email
-       #               user_id = @parent_server.check_user_id_from_email( user_email )
-       #               if user_id == -1 then
-       #                       raise BuildServerException.new("ERR004"), user_email
-       #               end
-
-       #               # check user accessable
-       #               if not check_project_user_id(project_name,dist_name,user_id) then
-       #                       raise BuildServerException.new("ERR005"), "#{user_email} -> #{project_name}"
-       #               end
-
-       #               # create new job
-       #               new_job = create_new_job( project_name, os, dist_name )
-       #               if new_job.nil? then
-       #                       raise BuildServerException.new("ERR006"), "Resolve job #{project_name} #{os}"
-       #               end
-       #               @log.info "Received a request for resolving this project : #{project_name}, #{os}"
-
-       #               new_job.user_id = user_id
-
-       #               # resolve
-       #               new_job.set_resolve_flag()
-
-       #               # create logger and set
-       #               if async then
-       #                       new_job.create_logger( nil, verbose)
-       #                       BuildCommServer.send(req,"Info: Added new job \"#{new_job.id}\" for #{new_job.os}!")
-       #                       if not @parent_server.job_log_url.empty? then
-       #                               BuildCommServer.send(req,"Info:  * Log URL : #{@parent_server.job_log_url}/#{new_job.id}/log")
-       #                       end
-       #                       BuildCommServer.send(req,"Info: Above job(s) will be processed asynchronously!")
-       #                       BuildCommServer.send_end(req)
-       #                       BuildCommServer.disconnect(req)
-       #               else
-       #                       logger = new_job.create_logger( req, verbose)
-       #                       logger.info( "Added new job \"#{new_job.id}\" for #{new_job.os}!", Log::LV_USER)
-       #                       if not @parent_server.job_log_url.empty? then
-       #                               logger.info( " * Log URL : #{@parent_server.job_log_url}/#{new_job.id}/log", Log::LV_USER)
-       #                       end
-       #               end
-
-       #               @parent_server.jobmgr.add_job( new_job )
-       #       else
-       #               raise BuildServerException.new("ERR001"), line
-       #       end
-       #end
-
-
        # "QUERY"
        def handle_cmd_query( line, req )
                begin