Snapcraft could show the traceback rather than just offer to send it to LP
Metadata
Current evaluation
No evaluation has been recorded for this issue yet.
Issue body
I have a bug in my snapcraft plugin which causes it to crash. Snapcraft shows me this:
Sorry, an error occurred in Snapcraft.
We would appreciate it if you anonymously reported this issue.
No other data than the traceback ('/tmp/tmpw4id89ag/trace.txt') and the version of snapcraft in use will be sent.
Would you like to send this error data? (Yes/No/Always) [no]:
That's nice, but it would be even better if it actually showed me the traceback. Perhaps like this:
Sorry, an error occurred in Snapcraft. Here is the traceback:
Traceback (most recent call last):
File "/snap/snapcraft/2496/bin/snapcraft", line 11, in <module>
load_entry_point('snapcraft==3.1', 'console_scripts', 'snapcraft')()
File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/cli/__main__.py", line 81, in run
run_snapcraft(prog_name="snapcraft")
File "/snap/snapcraft/2496/lib/python3.5/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/snap/snapcraft/2496/lib/python3.5/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/snap/snapcraft/2496/lib/python3.5/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/snap/snapcraft/2496/lib/python3.5/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/snap/snapcraft/2496/lib/python3.5/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/cli/lifecycle.py", line 253, in snap
_execute(steps.PRIME, parts=[], pack_project=True, output=output, **kwargs)
File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/cli/lifecycle.py", line 110, in _execute
project_config = project_loader.load_config(project)
File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/internal/project_loader/__init__.py", line 47, in load_config
return Config(project)
File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/internal/project_loader/_config.py", line 242, in __init__
build_tools=self.build_tools,
File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/internal/project_loader/_parts_config.py", line 52, in __init__
self._process_parts()
File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/internal/project_loader/_parts_config.py", line 71, in _process_parts
self.load_part(part_name, plugin_name, properties)
File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/internal/project_loader/_parts_config.py", line 186, in load_part
definitions_schema=self._validator.definitions_schema,
File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/_plugin_loader.py", line 41, in load_plugin
plugin_name, plugin_class, part_schema, definitions_schema
File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/_plugin_loader.py", line 112, in _validate_pull_and_build_properties
part_schema, definitions_schema, plugin.schema()
File "/root/project/snap/plugins/my_plugin.py", line 15, in schema
schema['required'].append('my-property')
KeyError: 'required'
We would appreciate it if you anonymously reported this issue.
No other data than the traceback and the version of snapcraft in use will be sent.
Would you like to send this error data? (Yes/No/Edit/Always) [no]:
Note that I added the option to 'Edit' which would launch an editor with the traceback so someone could remove any awkward information and then send it.
Evaluation history
No evaluation history available.