Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better documentation and examples for extension developers #6938

Closed
sbrptdev2 opened this issue Sep 20, 2024 · 0 comments
Closed

Better documentation and examples for extension developers #6938

sbrptdev2 opened this issue Sep 20, 2024 · 0 comments

Comments

@sbrptdev2
Copy link

sbrptdev2 commented Sep 20, 2024

This is a very general issue, admittedly, but currently it is quite tedious to figure out simple (and not necessarily simple) tasks at times, especially for non-Java developers.

For example:

  • How to add additional context menus (ex. right-click triggered) in ComponentProviderAdapter classes. Or in general, how to attach such events and leverage Ghidra's internal API
  • How to do intra-program operations from an extension. For example, given a project, how to perform processing on two (or more) distinctive program databases, and how to deliver the results to the user.
  • In general, more visual documentation of the widgets as they are used in Ghidra and how to deploy them in extensions or modifications to Ghidra itself.
  • How to debug common issues such as an extension not being loaded, despite no obvious compilation issues.
  • How to handle inconsistent states : for example, if the bin directory in an extension is removed, Eclipse will nto be able to immediately recover, instead wrongly reporting several package-local definitions are missing (ex. FooClass from the extension being referenced from BarClass will yield an error, even when they are both within the same package and directory).

I believe a loosely coupled set of examples illustrating common challenges could be beneficial. ChatGPT is what many folks will resort to without it, and it can be trusted about as much as rolling a dice (at least in this particular area).

I have thus far fared well by reading the source code, but that does not negate the fact that it could be easier to have some more documentation for external developers.

@NationalSecurityAgency NationalSecurityAgency locked and limited conversation to collaborators Sep 22, 2024
@ryanmkurtz ryanmkurtz converted this issue into discussion #6947 Sep 22, 2024

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant