-
Notifications
You must be signed in to change notification settings - Fork 191
refactor: Move frontend build classes to flow-build-tools #23161
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
Conversation
The idea with flow-build-tools is that it contains classes only used by vaadin-dev-server and the plugins. It is ok for flow-build-tools to depend on flow-server but not the other way around
60451ca to
7b10f2a
Compare
flow-plugins/flow-maven-plugin/src/it/frontend-scanner-tuning-project/pom.xml
Outdated
Show resolved
Hide resolved
|
I don't remember if it has already been discussed, but should |
… plugin ITs Make flow-build-tools dependency provided and optional in integration tests to prevent it from being picked up by ClassFinder as a project dependency. This better simulates real application projects which don't typically depend on build tools directly. Changes: - Add provided+optional scope to 6 ITs that implement TypeScriptBootstrapModifier: - classfinder-lookup - resources-from-project - deps-with-classifier-dups-project - plugin-pinned-deps-project - commercial-banner-build - ignore-maven-deps-from-project - Remove flow-build-tools dependency entirely from frontend-scanner-tuning-project (doesn't implement TypeScriptBootstrapModifier and doesn't need the dependency) All ITs pass successfully with these changes.
Done in #23167 |
Remove TypeScriptBootstrapModifier implementations and flow-build-tools dependencies from integration tests that don't actually test or verify the modifier functionality. This makes the ITs better simulate real application projects that don't implement build-time interfaces. Changes to 5 ITs (resources-from-project, deps-with-classifier-dups-project, plugin-pinned-deps-project, commercial-banner-build, ignore-maven-deps-from-project): - Remove ProjectFlowExtension.java implementations - Remove flow-build-tools dependency entirely Changes to classfinder-lookup IT: - Remove project-level ProjectFlowExtension.java - Remove flow-build-tools dependency - Update verify.bsh to test only addon-level TypeScriptBootstrapModifier - Update description to clarify it tests addon modifier discovery - Now simulates a pure application project that only consumes modifiers from addons This completes the Phase 2 cleanup, making all ITs realistic simulations of either application projects (no TypeScriptBootstrapModifier) or the addon discovery mechanism (flow-addon provides the modifier).
...ven-plugin/src/it/classfinder-lookup/src/main/java/com/vaadin/test/ProjectFlowExtension.java
Outdated
Show resolved
Hide resolved
|
I think this is good enough as a starter. There are still files in |
|



The idea with flow-build-tools is that it contains classes only used by vaadin-dev-server and the plugins. It is ok for flow-build-tools to depend on flow-server but not the other way around
Fixes #22238
Fixes #22778