Skip to content
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

Generate an "All Build Items" documentation page #12147

Merged
merged 3 commits into from
Sep 22, 2020

Conversation

gastaldi
Copy link
Contributor

@gastaldi gastaldi commented Sep 16, 2020

This file is generated by running the following command in the root:

jbang .github/quarkusbuilditemdoc.java --outputFile target/asciidoc/generated/quarkus-all-build-items.adoc --dirs core/deployment core/test-extension extensions

Fixes #9945

@gastaldi gastaldi requested review from geoand and gsmet September 16, 2020 18:16
@gastaldi gastaldi marked this pull request as draft September 16, 2020 18:17
[%header,cols=2*]
|===
|Class Name |Description
| https://github.com/quarkusio/quarkus/blob/master/extensions/agroal/spi/src/main/java/io/quarkus/agroal/spi/JdbcDriverBuildItem.java[`io.quarkus.agroal.spi.JdbcDriverBuildItem`, window="_blank"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

@machi1990 machi1990 Sep 16, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This way, we could just use the script proposed in the description of this PR to generate this file which will point to source of the latest releases (which is not master since it can contain changes that are not yet released). Moreover, we'll avoid committing this file since it can be generated. Much like what we have now for the configuration reference docs

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmmm, not a bad idea. Perhaps something I can provide that in a separate PR. Thanks!

| https://github.com/quarkusio/quarkus/blob/master/extensions/agroal/spi/src/main/java/io/quarkus/agroal/spi/JdbcDataSourceSchemaReadyBuildItem.java[`io.quarkus.agroal.spi.JdbcDataSourceSchemaReadyBuildItem`, window="_blank"]
| +++A build item which can be used to order build processors which need a datasource's schema to be ready (which really means that the tables have been created and any migration run on them) for processing.+++
| https://github.com/quarkusio/quarkus/blob/master/extensions/agroal/deployment/src/main/java/io/quarkus/agroal/deployment/AggregatedDataSourceBuildTimeConfigBuildItem.java[`io.quarkus.agroal.deployment.AggregatedDataSourceBuildTimeConfigBuildItem`, window="_blank"]
| +++<i>No Javadoc found</i>+++
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder what can we do with the undocumented items and what can we do about the quality of the existing items? Perhaps as the first step, we should define some guidelines for documenting the BuildItems.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, something needs to be added to the extension author guide about this.

Path path = Paths.get(line);
JavaClassSource source = Roaster.parse(JavaClassSource.class, path.toFile());
// Ignore deprecated annotations
if (!source.hasAnnotation(Deprecated.class)) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to provide inside Quarkus core an annotation to be able to restrict a BuildItem to be listed here, like @NotDocumented or @NotExposed or @Private.
Some build items are designed to be used inside the extension only, and they cannot be made package private always so we need a finer way to control the inclusion in the page.

@gastaldi gastaldi force-pushed the build_items_doc branch 2 times, most recently from fad9045 to 3e5e591 Compare September 18, 2020 15:48
@gastaldi
Copy link
Contributor Author

I added the attributes too. Let me know if that looks better before I mark this PR ready to review

@gastaldi gastaldi force-pushed the build_items_doc branch 4 times, most recently from df42d15 to 7dbd5b8 Compare September 21, 2020 15:01
@gastaldi gastaldi marked this pull request as ready for review September 21, 2020 15:21
@gastaldi gastaldi marked this pull request as draft September 21, 2020 15:28
@gastaldi gastaldi force-pushed the build_items_doc branch 3 times, most recently from 26ab81f to 8d6205f Compare September 21, 2020 19:28
This file is generated by running the following command in the root:

```bash
jbang .github/quarkusbuilditemdoc.java --outputFile target/asciidoc/generated/config/quarkus-all-build-items.adoc --dirs core/deployment core/test-extension extensions
```

Fixes quarkusio#9945
@gastaldi gastaldi changed the title Add build-items.adoc Generate an "All Build Items" documentation page Sep 22, 2020
@gastaldi gastaldi marked this pull request as ready for review September 22, 2020 17:29
@gastaldi gastaldi added this to the 1.9.0 - master milestone Sep 22, 2020
@gastaldi gastaldi merged commit 410da22 into quarkusio:master Sep 22, 2020
@gastaldi gastaldi deleted the build_items_doc branch September 22, 2020 21:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create a "All Build Items" page
7 participants