You can propose contributions by sending pull requests through GitHub.
And of course you can report issues and browse the current ones.
Please read the Eclipse Foundation policy on accepting contributions via Git.
Please read the Code of Conduct.
Your contribution cannot be accepted unless you have an Eclipse Contributor Agreement in place.
Here is the checklist for contributions to be acceptable:
- Create an account at Eclipse
- Add your GitHub user name in your account settings
- Log into the projects portal, look for "Eclipse Contributor Agreement", and agree to the terms.
- Ensure that you sign-off your Git commits with the same email address as your Eclipse Foundation profile.
- Please make sure your code compiles by running
mvn clean verify
which will execute both unit and integration test phases. Additionally, consider using Travis CI to validate your branches before you even put them into pull requests. All pull requests will be validated by Travis CI in any case and must pass before being merged. - When committing, your author email must be the same as your GitHub account,
and make sure that you sign-off every commit (
git commit -s
). - Do not make pull requests from your
master
branch, please use topic branches instead. - When submitting code, please make every effort to follow existing conventions and style in order to keep the code as readable as possible.
- Please provide meaningful commit messages.
- Do not forget to mention the related issue, if any.
- A contribution is not a good contribution unless it comes with unit tests, integration tests and documentation.
Please, consider Coding Style for the different languages used in the codebase as described here: https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style
In order to contribute to the project, you need to configure your java code formatter. Please follow the steps bellow
-
Window -> Preferences -> Java -> Code Style -> Formatter -> Import -> Select this formatter
-
Window -> Preferences -> Java -> Editor -> Save Actions -> Check
Perform the selected actions on save
-> CheckFormat source code
-> Select ->Format all lines
-
File (or IntelliJ IDEA if on MacOS) -> Settings -> Editor -> Code Style -> Java -> Scheme -> Import Scheme (from the settings button) -> Eclipse XML Profile -> Select this formatter -> Copy to Project (from the settings button)
-
File -> Settings -> Tools -> Actions on Save -> Check
Reformat code
- Install the extension Language Support for Java(TM) by Red Hat
- File -> Preferences -> Settings -> java.format.settings.url: Set URL (or local file path) pointing to Eclipse Formatter Profile file.
To format the code using Maven execute the following in the root dir of the project
mvn formatter:format
This project is separated into modules (git subprojects). Some of the modules are standard Java Maven modules and some of them are following the WebJars module structure. The WebJars ones can be found at the dirigiblelabs GitHub page. Their names start with 'ide-', 'api-' and 'ext-' depending on what they are for.
If you want to contribute in any way, you must go through the following steps:
- Fork this repository into your account. Do NOT fork the module you want to work on.
- Open Dirigible IDE. If you do not have access to a deployed instance, run it locally. See README.
- From the sidebar, go to the Git perspective and clone the module you will be working on. Use the master/main branch.
- Go to the Workbench perspective (the first item in the sidebar) and make your changes. For front-end modules, this will automatically apply the changes in real time and make the development process faster.
- Return to the Git section, select your module, add all unstaged files from the Staging tab in the bottom panel, then commit and push your changes to the main/master branch.
- Open the forked Dirigible repository (in Dirigible or your favorite IDE), and make sure you have the latest changes from the master branch.
- Checkout to a new branch by giving it either a topic name or a name starting with 'fix-' followed by the issue number.
- Execute
mvn clean install -Pcontent
in the terminal. This will pull all changes from all modules. - Execute
mvn clean install
and wait for the tests to pass. - In case multiple modules get updated, use
git status
to see all changes and then usegit add /path/to/changed/file
to add ONLY the changes in the module which you are responsible for. - Commit and push your changes.
- Create a PR to the master branch in
eclipse/dirigible
by giving it a short but descriptive name and mention the issue number/numbers in the description (See closing issues via PR).