Add possibility to set port for web server

This commit is contained in:
Simon Kågedal Reimer 2015-03-12 21:31:32 +01:00
parent 5b49dc530e
commit baebaf3311

View File

@ -243,9 +243,10 @@ class Server
def run(options) def run(options)
require 'webrick' require 'webrick'
listener = options[:watch] && start_watcher listener = options[:watch] && start_watcher
port = options[:port] || 8000
puts "Serving at http://localhost:8000/ ..." puts "Serving at http://localhost:#{port}/ ..."
server = WEBrick::HTTPServer.new :Port => 8000, :DocumentRoot => CONFIG[:output_dir] server = WEBrick::HTTPServer.new :Port => port, :DocumentRoot => CONFIG[:output_dir]
trap 'INT' do trap 'INT' do
server.shutdown server.shutdown
end end
@ -268,14 +269,15 @@ def main
opts.banner = %{Usage: build.rb <command> [options] opts.banner = %{Usage: build.rb <command> [options]
Use 'build.rb' to build the manual. Use 'build.rb serve' to also Use 'build.rb' to build the manual. Use 'build.rb serve' to also
start a web server. Options: start a web server; setting any web server options implies "serve".
} }
opts.on("--watch", "Watch for changes") { options[:watch] = true } opts.on("-w", "--watch", "Watch for changes") { options[:watch] = true }
opts.on("-p", "--port N", Integer, "Specify port for web server") { |p| options[:port] = p }
end.parse! end.parse!
Site.new.build Site.new.build
if ARGV == ['serve'] if options[:watch] || options[:port] || (ARGV.length > 0 && "serve".start_with?(ARGV[0]))
Server.new.run(options) Server.new.run(options)
end end
end end