Skip to content

Latest commit

 

History

History
107 lines (82 loc) · 5.16 KB

File metadata and controls

107 lines (82 loc) · 5.16 KB

Contributing

Before you start with your contribution, we assume you have completed the developer setup and picked your first issue.

Now, to get started with your implementation follow these steps:

  1. Ensure your fork is in sync:

    git checkout main
    git pull upstream main
    git push
  2. Create a new feature branch:

    git checkout -b feature/«issue-id»-«brief-feature-description»
  3. Implement your changes, improvements, or fixes.

  4. Test your changes:

    mvn clean install

    If that fails, fix your changes and rerun the tests.

  5. Commit your changes:

    git add ...
    git commit -m "#«issue-id»: «description»"
  6. Keep your feature branch up-to-date:

    If some days have passed meanwhile you should merge changes that meanwhile happened on the official IDEasy repo:

    git pull upstream main
  7. Push your changes: Once you are complete and everything is merged and committed, you can push your local feature branch and make it a remote branch of your fork on github:

    git push -u origin feature/«issue-id»-«brief-feature-description»
  8. Create pull-request:

    Now you can go to https://github.com/devonfw/ideasy/pulls and create the pull-request (PR) for your new feature. Therefore, watch for the light yellow box at the top and click the green Compare & pull request button. For further steps and details see pull-request documentation.

Create a new commandlet

Urls

Many programs have a download link that depends on the operating system.

For a new tool, create an url-updater in the updater folder in the current repository. The Name needs to be equal to the one of both the tool and the commandlet.

There are four available parent classes of url-updaters, that can be used. They mainly differentiate in the way, available versions are detected.

Note: The WebsiteUrlUpdater should not be used if other viable options are available.

The updaters use the function doAddVersion(), where the downloadUrl, OS and architecture can be specified for each version. Example

VersionIdentifiers can also be used if e.g. the downloadUrl changed after a specific version, or certain versions are not intended to be available. Example

Once a day, the UpdateInitiator will run the updaters through GitHub Actions and fill the ide-URL repository with new version/tools that are identified by the Updaters.

Commandlet

Use an existing commandlet like Java as a reference. Create a sub-package and a class with the name of the tool.

LICENSE

Find the license for the new tool and add the tool to the table of Third party components of the LICENSE. If the license itself does not exist, add it to the end of the file as a new section.

Settings

The ide-settings repository allows project-specific configurations of the IDE tools. For your own settings, fork the repository, adjust the configuration and specify the repository URL during installation. Important notes on configuration and especially configuration files can be found in the configuration. In the configuration files many variables can be defined.

Documentation

When reading this guide online on GitHub, see the directory tree on the left side-bar to navigate and browse the documentation folder. In case you are reading this from your cloned git repository locally, use your IDE of file explorer to browes it. Please study the documentation that explains many important aspects of IDEasy. As a developer it is espcially important to study the coding-conventions and Definition of Done. Further, please browse the JavaDoc of the source-code to understand the different types and structures of our project. To get started see our design diagram that needs PlantUml support to be viewed (e.g. via IntelliJ with according plugin). This diagram gives you a good overview of the most important types in the code-base.