diff --git a/rakefile b/rakefile index d6571118ca..6ed1ecce77 100644 --- a/rakefile +++ b/rakefile @@ -141,16 +141,20 @@ end desc "Run pylint on all #{system} code" task "pylint_#{system}" => report_dir do - Dir["#{system}/*.py", "#{system}/djangoapps/*", "#{system}/lib/*"].each do |app| - pythonpath_prefix = "PYTHONPATH=#{system}:#{system}/djangoapps:#{system}/lib:common/djangoapps:common/lib" - app = File.basename(app) + apps = Dir["#{system}/*.py", "#{system}/djangoapps/*", "#{system}/lib/*"].map do |app| + File.basename(app) + end.select do |app| + app !=~ /.pyc$/ + end.map do |app| if app =~ /.py$/ - app = app.gsub('.py', '') - elsif app =~ /.pyc$/ - next + app.gsub('.py', '') + else + app end - sh("#{pythonpath_prefix} pylint --rcfile=.pylintrc -f parseable #{app} | tee #{report_dir}/#{app}.pylint.report") end + + pythonpath_prefix = "PYTHONPATH=#{system}:#{system}/djangoapps:#{system}/lib:common/djangoapps:common/lib" + sh("#{pythonpath_prefix} pylint --rcfile=.pylintrc -f parseable #{apps.join(' ')} | tee #{report_dir}/pylint.report") end task :pylint => "pylint_#{system}" diff --git a/requirements.txt b/requirements.txt index a25c2f6adf..e2a17a71f3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -67,7 +67,6 @@ lettuce==0.2.16 mock==0.8.0 nosexcover==1.0.7 pep8==1.4.5 -pylint==0.27.0 rednose==0.3 selenium==2.31.0 splinter==0.5.0 @@ -75,3 +74,7 @@ django_nose==1.1 django-jasmine==0.3.2 django_debug_toolbar django-debug-toolbar-mongo + +# Install pylint from a specific commit on trunk +# to get the fix for this issue: http://www.logilab.org/ticket/122793 +https://bitbucket.org/logilab/pylint/get/e828cb5.zip