question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Document and expose documentation of BuildItems in an automated fashion

See original GitHub issue

A big value of extensions is the BuildItem model. We need to document them so other extension writers can discover and use them. They are also part of the extension contract.

  1. document all “public” BuildItem with adequate JavaDoc
  2. build an anotation processor that will collect the BuildItems and generate a list of them per extension and a documentation (summary?).

Issue Analytics

  • State:open
  • Created 4 years ago
  • Comments:8 (7 by maintainers)

github_iconTop GitHub Comments

2reactions
dmlloydcommented, Feb 4, 2020

It would be nice if we could use structural means to validate that a build item is “public”: that is, it must be public (obviously) but must also reside in an spi module (not deployment).

Do you mean module or package?

Module. Build items not in separate spi modules historically cause dependency issues.

0reactions
Ladicekcommented, Feb 6, 2020

I have some experience with generating documentation from annotations using an annotation processor and a Maven plugin (see https://github.com/Ladicek/ann-docu-gen, which is a prototype I built in my free time and then used in an internal project).

I can see how I’d collect build steps and generate documentation for them, but build items are not annotated in any way and when present in an spi module, there doesn’t have to be any annotation at all. For example, I’m just looking at the quarkus-kubernetes-spi module (because I’m at least a little familiar with the Kubernetes extension), and it only has 4 classes = build items, no annotation whatsoever, so not sure how an annotation processor would catch any of them. It would be possible to look for build steps and collect build items from them, but then the annotation processor wouldn’t have access to the source of all the build items (e.g. to the ones in quarkus-kubernetes-spi) and would only generate a very limited documentation.

One idea that would be more generally applicable, but would also help here: if we used annotations to indicate API stability (@API-style), the annotation processor could look for them (and then check superclasses to figure out what is a build item).

EDIT: I guess what I wanted to say is: I’d volunteer to work on this, but I see an insurmountable issue before I could even get started 😃

Read more comments on GitHub >

github_iconTop Results From Across the Web

Contribute to quarkusio/quarkus - GitHub
Make https://quarkus.io/guides/all-builditems reuse the same style as ... Document and expose documentation of BuildItems in an automated fashion ...
Read more >
Build Items - Quarkus
A build item that allows extension to configure the native-image compiler to effectively ignore certain configuration files in specific jars. The property ...
Read more >
Law Enforcement Clothing Documentation Form | EVAWI
Collect and photograph clothing/evidence based on victim's history. • Focus on clothing worn closest to genitals or areas where body fluids possibly made ......
Read more >
Application Automation | Foreword - Flylib.com
You can build Office documents by automating Office applications. ... To create a style by example, format a paragraph with the formatting attributes...
Read more >
Application Automation - Springer Link
applications, such as Microsoft Office and Corel Office, expose rich object ... You can build Office documents by automating Office applications.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found