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)