class PhusionPassenger::Config::AgentCompiler
def compile_agent
def compile_agent puts "<banner>Compiling #{PROGRAM_NAME} agent...</banner>" progress_bar = ProgressBar.new e_working_dir = Shellwords.escape(@working_dir) args = "#{e_working_dir}/support-binaries/#{AGENT_EXE}" + " CACHING=false" + " OUTPUT_DIR=#{e_working_dir} " " OPTIMIZE=#{!!@optimize}" begin progress_bar.set(0) Dir.chdir(PhusionPassenger.build_system_dir) do InstallationUtils.run_rake_task!(args) do |progress, total| progress_bar.set(0.05 + (progress / total.to_f) * 0.95) end end progress_bar.set(1) ensure progress_bar.finish end FileUtils.cp("#{@working_dir}/support-binaries/#{AGENT_EXE}", "#{@destdir}/#{AGENT_EXE}") puts "<green>Compilation finished!</green>" end