Zameer Manji created AURORA-1267: ------------------------------------ Summary: Investigate upgrading pants to Python 0.0.32+ Key: AURORA-1267 URL: https://issues.apache.org/jira/browse/AURORA-1267 Project: Aurora Issue Type: Task Components: Technical Debt Reporter: Zameer Manji
A naive upgrade to pants 0.0.32 from 0.0.28 results in the following stack trace: {noformat} Exception caught: File "/Users/zmanji/workspace/gh-aurora/build-support/pants.venv/bin/pants", line 9, in <module> load_entry_point('pantsbuild.pants==0.0.28', 'console_scripts', 'pants')() File "/Users/zmanji/workspace/gh-aurora/build-support/pants.venv/lib/python2.7/site-packages/pants/bin/pants_exe.py", line 66, in main _run() File "/Users/zmanji/workspace/gh-aurora/build-support/pants.venv/lib/python2.7/site-packages/pants/bin/pants_exe.py", line 61, in _run result = goal_runner.run() File "/Users/zmanji/workspace/gh-aurora/build-support/pants.venv/lib/python2.7/site-packages/pants/bin/goal_runner.py", line 168, in run result = self._do_run() File "/Users/zmanji/workspace/gh-aurora/build-support/pants.venv/lib/python2.7/site-packages/pants/bin/goal_runner.py", line 251, in _do_run return engine.execute(context, self.goals) File "/Users/zmanji/workspace/gh-aurora/build-support/pants.venv/lib/python2.7/site-packages/pants/engine/engine.py", line 27, in execute self.attempt(context, goals) File "/Users/zmanji/workspace/gh-aurora/build-support/pants.venv/lib/python2.7/site-packages/pants/engine/round_engine.py", line 212, in attempt goal_executor.attempt(explain) File "/Users/zmanji/workspace/gh-aurora/build-support/pants.venv/lib/python2.7/site-packages/pants/engine/round_engine.py", line 45, in attempt task.execute() File "/Users/zmanji/workspace/gh-aurora/build-support/pants.venv/lib/python2.7/site-packages/pants/backend/codegen/tasks/code_gen.py", line 117, in execute self.genlang(lang, invalid_lang_tgts) File "/Users/zmanji/workspace/gh-aurora/build-support/pants.venv/lib/python2.7/site-packages/pants/backend/codegen/tasks/apache_thrift_gen.py", line 152, in genlang gen = self.gen_python.gen File "/Users/zmanji/workspace/gh-aurora/build-support/pants.venv/lib/python2.7/site-packages/pants/backend/codegen/tasks/apache_thrift_gen.py", line 127, in gen_python self._gen_python = self.create_geninfo('python') File "/Users/zmanji/workspace/gh-aurora/build-support/pants.venv/lib/python2.7/site-packages/pants/backend/codegen/tasks/apache_thrift_gen.py", line 101, in create_geninfo gen = gen_info['gen'] Exception message: 'NoneType' object has no attribute '__getitem__' {noformat} The root cause of this is pants 0.0.32 expects a differently formatted {{pants.ini}} than the one we have now. Pants 0.0.32 ships with a migration tool that informs us of changes required. With a 0.0.32 pants source we can run: {noformat} PANTS_DEV=1 ./pants run src/python/pants/option:migrate_config -- <pants.ini path> {noformat} This gives us: {noformat} Found java in section [thrift-gen]. Should be java in section [gen.thrift]. Found extra_jvm_test_paths in section [ide]. Should be extra_jvm_test_paths in section [idea]. Note: extra_jvm_test_paths now must be specified separately for idea and eclipse goals. Found python_test_paths in section [ide]. Should be python_test_paths in section [idea]. Note: python_test_path now must be specified separately for idea and eclipse goals. Found python_lib_paths in section [ide]. Should be python_lib_paths in section [idea]. Note: python_lib_path now must be specified separately for idea and eclipse goals. Found python in section [thrift-gen]. Should be python in section [gen.thrift]. Found strict in section [thrift-gen]. Should be strict in section [gen.thrift]. Found supportdir in section [thrift-gen]. Should be supportdir in section [gen.thrift]. Found python_source_paths in section [ide]. Should be python_source_paths in section [idea]. Found version in section [thrift-gen]. Should be version in section [gen.thrift]. Found requirements in section [python-ipython]. Should be ipython_requirements in section [repl.py]. Found indices in section [python-repos]. Should be indexes in section [python-repos]. Found extra_jvm_source_paths in section [ide]. Should be extra_jvm_source_paths in section [idea]. Note: extra_jvm_source_paths now must be specified separately for idea and eclipse goals. {noformat} Making the above changes to {{pants.ini}} results in some commands failing with {{Unable to detect a suitable interpreter}}. It isn't clear what needs to be done to fix that error. I suspect it has to do with some of the constraints in our {{pants.ini}} but I cannot determine which ones are at fault. -- This message was sent by Atlassian JIRA (v6.3.4#6332)