flow icon indicating copy to clipboard operation
flow copied to clipboard

Auto-detection for Hilla's endpoints

Open mshabarov opened this issue 1 year ago • 2 comments

Describe your motivation

Vaadin Flow adds endpoints generation Node Tasks (see NodeTasks::addEndpointServicesTasks) if Hilla's views are present and base Hilla class is in class path. This, however, doesn't take into account a presence of endpoint classes marked by AtEndpoint or AtBrowserCallable, which leads to wrong detection and not generating the endpoints in the end.

Describe the solution you'd like

Vaadin Flow can check:

  • the presence and content of a frontend/generated/openapi.json file (if this file exists at the point where we need to take a decision in Flow about starting the generator), specifically the "tags" json array.
  • presence of any AtEndpoint or AtBrowserCallable annotations in the project.

Additional context

Vaadin 24.4.

mshabarov avatar Feb 26 '24 10:02 mshabarov

Can we also prevent running TaskGenerateEndpoint if there are no endpoint annotated classes? (I mean when potential Hilla views are detected, but there are no endpoint implementations)

mcollovati avatar Feb 26 '24 10:02 mcollovati

Yeah, it would be reasonable to skip it. Let's also check if skipping it has any side effects.

mshabarov avatar Feb 26 '24 10:02 mshabarov