We would absolutely love to get the community involved, and we welcome any form of contributions – comments and questions on different communication channels, issues and pull request in the repositories, and anything that you build and share using our components.
Twitter: https://twitter.com/xdevsoftware
Mail: [email protected]
- Report bugs: File issues on GitHub.
- Send pull requests: If you want to contribute code, check out the development instructions below.
We encourage you to read the contribution instructions by GitHub also.
You should have the following things installed:
- Git
- Java 11 or 17 - should be as unmodified as possible (Recommended: Eclipse Adoptium)
- Maven
- Install
IntelliJ
(Community Edition is sufficient)- Install the following plugins:
- Save Actions - Provides save actions, like running the formatter or adding
final
to fields - SonarLint - CodeStyle/CodeAnalysis
- Checkstyle-IDEA - CodeStyle/CodeAnalysis
- Save Actions - Provides save actions, like running the formatter or adding
- Import the project
- Ensure that everything is encoded in
UTF-8
- Ensure that the JDK/Java-Version is correct
- To enable AUTOMATIC reloading/restarting while developing and running the app do this (further information in "
SpringBoot-Devtools" section below; Source):
Settings > Build, Execution, Deployment > Compiler
:
EnableBuild project automatically
Settings > Advanced Settings
:
EnableAllow auto-make to start even if developed application is currently running
- To launch the Demo execute the predefined (launch) configuration
Run Demo
- Install the following plugins:
... should automatically be enabled.
If you are changing a file and build the project, parts of the app get restarted.
Bigger changes may require a complete restart.
- Vaadin automatically reloads the UI on each restart.
You can control this behavior with thevaadin.devmode.liveReload.enabled
property (default:true
).
Before releasing:
- Consider doing a test-deployment before actually releasing.
- Check the changelog
If the develop
is ready for release, create a pull request to the master
-Branch and merge the changes
When the release is finished do the following:
- Merge the auto-generated PR (with the incremented version number) back into the
develop
- Ensure that Vaadin Directory syncs the update and maybe update the component / version there