namespace :air do desc "Compile" task :compile do begin project = Airake::Project.new_from_rake(ENV) fcsh = PatternPark::FCSH.new_from_rake(ENV) fcsh.execute([ project.base_dir, project.mxmlc_command ]) rescue PatternPark::FCSHConnectError => e puts "Cannot connect to FCSHD (start by running: rake air:fcshd); Continuing compilation..." project.run_mxmlc end end desc "Test" task :test do test_project = Airake::Project.new_from_rake(ENV, true) test_project.run_mxmlc test_project.run_adl end desc "Package" task :package => :compile do project = Airake::Project.new_from_rake(ENV) project.run_adt end desc "Apollo Debug Luncher" task :adl => :compile do project = Airake::Project.new_from_rake(ENV) project.run_adl end desc "Start the FCSHD process (or use air:fcshd)" task :start_fcshd do puts "Starting FCSHD..." PatternPark::FCSHD.start_from_rake(ENV) end task :fcshd => :start_fcshd # Alias desc "Stop the FCSHD process" task :stop_fcshd do begin fcsh = PatternPark::FCSH.new_from_rake(ENV) fcsh.stop rescue puts "Could not stop FCSHD" end end desc "Restart the FCSHD process" task :restart_fcshd => [ :stop_fcshd, :sleep, :start_fcshd ] task :sleep do sleep 2 end end