mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-13 06:59:44 +07:00
2.0 KiB
2.0 KiB
Fast PR Guide
In order to get your pull requests merged with any futher complications (inside community repository) it is advised to follow these:
- Make sure your commits are prefixed with
[jewel] <Jewel YouTrack Id>to ensure distinction of commits and ensure automation works. - Prefix the PR name with
[jewel]and ideally withjewellabel. - Avoid creating pull requests from chains of feature branches (branching from feature branches), this is possible, but can cause issues if combined with squashing/amending the commits. If you do this, ensure you properly rebase all of the branches.
- Ideally squash the commits, this is not a requirement, but beware that your feature branch might became unsuable if we squash the commits as part of the cherry-pick process.
Adding modules
When adding modules, there is multiple tests ensuring quality of community project. These rules should be folowed in addition to rules above:
- Ensure that .idea/modules.xml is sorted alphabetically
- Source roots declared in the module .iml should match the folder structure. Do not add source roots that don't exist and vice versa.
- In resource folder, file called
<module name>.xmlshould be placed that contains the V2 Plugin configuration. For sake of Jewel/platform modules, it is essential to alteast declare module dependencies in this file. - Make sure that
.imlfiles are not being modified after being changed by the IDE dialogs.
Adding dependencies
- Library for new dependency has to be stated inside CommunityLibraryLicenses.kt. If you are adding part of library already added, you still need to add the alternative library name to this file.
- Alternatively, library used by multiple modules might be added to community/libraries as a separate module containing only the dependency.
- Try not to use "exported" flag in dependencies.
- Make sure that dependencies already contained in the platform are not included as transitive dependencies. (same applies if the current module depends on module with this dependency already added.)