Merge pull request #3952 from edx/clytwynec/prereqs_installation_update
fix for prereqs installation cache check
This commit is contained in:
@@ -85,20 +85,22 @@ def prereq_cache(cache_name, paths, install_func):
|
||||
raise
|
||||
|
||||
with open(cache_file_path, "w") as cache_file:
|
||||
cache_file.write(new_hash)
|
||||
|
||||
# Since the pip requirement files are modified during the install
|
||||
# process, we need to store the hash generated AFTER the installation
|
||||
post_install_hash = compute_fingerprint(paths)
|
||||
cache_file.write(post_install_hash)
|
||||
else:
|
||||
print('{cache} unchanged, skipping...'.format(cache=cache_name))
|
||||
|
||||
|
||||
def install_ruby_prereqs():
|
||||
def ruby_prereqs_installation():
|
||||
"""
|
||||
Installs Ruby prereqs
|
||||
"""
|
||||
sh('bundle install --quiet')
|
||||
|
||||
|
||||
def install_node_prereqs():
|
||||
def node_prereqs_installation():
|
||||
"""
|
||||
Installs Node prerequisites
|
||||
"""
|
||||
@@ -106,8 +108,7 @@ def install_node_prereqs():
|
||||
sh('npm install')
|
||||
|
||||
|
||||
@task
|
||||
def install_python_prereqs():
|
||||
def python_prereqs_installation():
|
||||
"""
|
||||
Installs Python prerequisites
|
||||
"""
|
||||
@@ -115,6 +116,30 @@ def install_python_prereqs():
|
||||
sh("pip install -q --exists-action w -r {req_file}".format(req_file=req_file))
|
||||
|
||||
|
||||
@task
|
||||
def install_ruby_prereqs():
|
||||
"""
|
||||
Installs Ruby prereqs
|
||||
"""
|
||||
prereq_cache("Ruby prereqs", ["Gemfile"], ruby_prereqs_installation)
|
||||
|
||||
|
||||
@task
|
||||
def install_node_prereqs():
|
||||
"""
|
||||
Installs Node prerequisites
|
||||
"""
|
||||
prereq_cache("Node prereqs", ["package.json"], node_prereqs_installation)
|
||||
|
||||
|
||||
@task
|
||||
def install_python_prereqs():
|
||||
"""
|
||||
Installs Python prerequisites
|
||||
"""
|
||||
prereq_cache("Python prereqs", PYTHON_REQ_FILES + [sysconfig.get_python_lib()], python_prereqs_installation)
|
||||
|
||||
|
||||
@task
|
||||
def install_prereqs():
|
||||
"""
|
||||
@@ -123,6 +148,6 @@ def install_prereqs():
|
||||
if os.environ.get("NO_PREREQ_INSTALL", False):
|
||||
return
|
||||
|
||||
prereq_cache("Ruby prereqs", ["Gemfile"], install_ruby_prereqs)
|
||||
prereq_cache("Node prereqs", ["package.json"], install_node_prereqs)
|
||||
prereq_cache("Python prereqs", PYTHON_REQ_FILES + [sysconfig.get_python_lib()], install_python_prereqs)
|
||||
install_ruby_prereqs()
|
||||
install_node_prereqs()
|
||||
install_python_prereqs()
|
||||
|
||||
@@ -60,7 +60,7 @@ end
|
||||
namespace :'test:js' do
|
||||
|
||||
desc "Run the JavaScript tests and print results to the console"
|
||||
task :run, [:env] => [:clean_test_files, JS_REPORT_DIR] do |t, args|
|
||||
task :run, [:env] => [:clean_test_files, JS_REPORT_DIR, :install_node_prereqs] do |t, args|
|
||||
compile_coffeescript()
|
||||
|
||||
if args[:env].nil?
|
||||
@@ -71,7 +71,7 @@ namespace :'test:js' do
|
||||
end
|
||||
|
||||
desc "Run the JavaScript tests in your default browser"
|
||||
task :dev, [:env] => [:clean_test_files] do |t, args|
|
||||
task :dev, [:env] => [:clean_test_files, :install_node_prereqs] do |t, args|
|
||||
compile_coffeescript()
|
||||
|
||||
if args[:env].nil?
|
||||
@@ -83,7 +83,7 @@ namespace :'test:js' do
|
||||
end
|
||||
|
||||
desc "Run all JavaScript tests and collect coverage information"
|
||||
task :coverage => [:clean_reports_dir, :clean_test_files, JS_REPORT_DIR] do
|
||||
task :coverage => [:clean_reports_dir, :clean_test_files, JS_REPORT_DIR, :install_node_prereqs] do
|
||||
compile_coffeescript()
|
||||
js_test_tool(nil, 'run', true)
|
||||
end
|
||||
|
||||
@@ -15,7 +15,7 @@ def deprecated(deprecated, deprecated_by)
|
||||
end
|
||||
|
||||
deprecated('install_prereqs','paver install_prereqs')
|
||||
deprecated('install_node_prereqs','paver install_prereqs')
|
||||
deprecated('install_ruby_prereqs','paver install_prereqs')
|
||||
deprecated('install_python_prereqs','paver install_prereqs')
|
||||
deprecated('install_node_prereqs','paver install_node_prereqs')
|
||||
deprecated('install_ruby_prereqs','paver install_ruby_prereqs')
|
||||
deprecated('install_python_prereqs','paver install_python_prereqs')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user