Files
edx-platform/rakelib/devstack.rake
2013-12-16 11:50:07 -05:00

48 lines
1.2 KiB
Ruby

DEVSTACK_PORTS = {
"lms" => '8000',
"studio" => '8001'
}
# Abort if system is not one we recognize
def check_devstack_sys(sys_name)
if not DEVSTACK_PORTS.has_key?(sys_name)
puts "Devstack system must be either 'lms' or 'studio'"
exit 1
end
end
# Convert "studio" to "cms"
def old_system(sys_name)
if sys_name == "studio"
return "cms"
else
return sys_name
end
end
namespace :devstack do
desc "Start the server"
task :start, [:system] do |t, args|
check_devstack_sys(args.system)
port = DEVSTACK_PORTS[args.system]
sys = old_system(args.system)
sh("./manage.py #{sys} runserver --settings=devstack 0.0.0.0:#{port}")
end
desc "Update static assets"
task :assets, [:system] do |t, args|
check_devstack_sys(args.system)
Rake::Task["assets"].invoke(old_system(args.system), 'devstack')
end
desc "Update Python, Ruby, and Node requirements"
task :install => [:install_prereqs]
end
desc "Start the devstack lms or studio server"
task :devstack, [:system] => ['devstack:install', 'devstack:assets'] do |t, args|
Rake::Task['devstack:start'].invoke(args.system)
end