Skip to content

Fixes #5687 : Generate the configuration perspective option tables fr… - #8706

Merged
mattcasters merged 2 commits into
apache:mainfrom
bamaer:5687
Oct 1, 2026
Merged

mattcasters merged 2 commits into
apache:mainfrom
bamaer:5687

Conversation

@bamaer

@bamaer bamaer commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

…om the plugins

The Plugins section of the configuration perspective is now documented from the @ConfigPlugin and @GuiWidgetElement annotations it is built from: 14 plugins, 84 options. A new config-doc module reads the Jandex indexes the build already writes and instantiates each plugin's configClass, so 70 of the 84 defaults are the values the code really uses rather than a copy. The other 14 carry a defaultValue on the annotation, guarded by tests that check each one against what actually loads.

It runs as part of a normal build, so changing an option updates the page describing it, and a CI check fails a pull request whose generated pages no longer match the code. Releases skip it: what is committed has already been checked on merge.

Also fills in 13 options that had no tooltip in the GUI, and rewrites the General and Look & Feel sections, which had four options that no longer exist, five filed under the wrong tab, and around 30 undocumented.

Fixes the welcome dialog option, which read and wrote 'do not show' straight into a checkbox labelled 'show', so ticking it hid the dialog.

Please add a meaningful description for your change here


Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

  • Run mvn clean install apache-rat:check to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
  • If you have a group of commits related to the same change, please squash your commits into one and force push your branch using git rebase -i.
  • Mention the appropriate issue in your description (for example: addresses #123), if applicable.

To make clear that you license your contribution under the Apache License Version 2.0, January 2004
you have to acknowledge this by using the following check-box.

…les from the plugins

The Plugins section of the configuration perspective is now documented from
the @ConfigPlugin and @GuiWidgetElement annotations it is built from: 14
plugins, 84 options. A new config-doc module reads the Jandex indexes the
build already writes and instantiates each plugin's configClass, so 70 of the
84 defaults are the values the code really uses rather than a copy. The other
14 carry a defaultValue on the annotation, guarded by tests that check each
one against what actually loads.

It runs as part of a normal build, so changing an option updates the page
describing it, and a CI check fails a pull request whose generated pages no
longer match the code. Releases skip it: what is committed has already been
checked on merge.

Also fills in 13 options that had no tooltip in the GUI, and rewrites the
General and Look & Feel sections, which had four options that no longer
exist, five filed under the wrong tab, and around 30 undocumented.

Fixes the welcome dialog option, which read and wrote 'do not show' straight
into a checkbox labelled 'show', so ticking it hid the dialog.

@mattcasters mattcasters left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

minor bug. Would merge it as is TBH.

Comment thread docs/hop-user-manual/modules/ROOT/pages/hop-gui/perspective-configuration.adoc Outdated
Comment thread docs/hop-user-manual/modules/ROOT/pages/hop-gui/perspective-configuration.adoc Outdated
Comment thread config-doc/src/main/java/org/apache/hop/config/doc/ConfigDocGenerator.java Outdated
Comment thread config-doc/src/main/java/org/apache/hop/config/doc/ConfigDocGenerator.java Outdated
@bamaer

bamaer commented Oct 1, 2026

Copy link
Copy Markdown
Contributor Author

Thanks Matt, all five addressed:

  • Follow system dark mode: default documented as yes.
  • Dark mode: default now says off on Windows, follows the OS on macOS and other desktops.
  • Enum defaults: the generated cell now shows External browser. I didn't call getLabel() directly, though. The generator's classpath only has the plugin jars, and BaseMessages would pull in HopConfig and the builder's locale, so the output would vary between machines and trip the drift check. It reads <Enum>.<NAME> from the enum's en_US bundle instead, which is the same key getLabel() uses, and falls back to name().
  • configClass failures: the build now fails with an IllegalStateException naming the class and plugin.
  • Welcome dialog write: added theWelcomeDialogOptionIsStoredInverted, which checks both polarities against an in-memory HopConfig. It fails with the ! removed.

@mattcasters
mattcasters merged commit d988694 into apache:main Oct 1, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants