Skip to content

Latest commit

 

History

History
66 lines (47 loc) · 3.99 KB

CONTRIBUTING.md

File metadata and controls

66 lines (47 loc) · 3.99 KB

Contributing

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 and anything that you build and share using our components.

Communication channels

  • Communication is primarily done using issues.
  • If you need support as soon as possible and you can't wait for any pull request, feel free to use our support.
  • As a last resort measure or on otherwise important matter you may also contact us directly.

Ways to help

  • Report bugs
    Create an issue or send a pull request
  • Send pull requests
    If you want to contribute code, check out the development instructions below.
    • However when contributing new features, please first discuss the change you wish to make via issue with the owners of this repository before making a change. Otherwise your work might be rejected and your effort was pointless.

We also encourage you to read the contribution instructions by GitHub.

Developing

Software Requirements

You should have the following things installed:

  • Git
  • Java 21 - should be as unmodified as possible (Recommended: Eclipse Adoptium)
  • Gradle (shipped inside the repo as Gradle Wrapper - also available inside IntelliJ)

Recommended setup

  • Install IntelliJ (Community Edition is sufficient)
    • Install the following plugins:
    • Import the project
    • Ensure that everything is encoded in UTF-8
    • Ensure that the JDK/Java-Version is correct

Development environment

See also JetBrains Docs for developing IntelliJ Plugins

The plugin is built with gradle, but you don't need to install it if you build with the IntelliJ gradle plugin (check out the prerequisites). If you don't intend to use the IntelliJ gradle plugin, you can use native gradle (replace ./gradlew by gradle).

Start idea and import the build.gradle file with "File > Open". Then in the "Import Project from Gradle" window, make sure you check "Use gradle 'wrapper' task configuration" before clicking "Finish". You now have a gradle wrapper installed (gradlew) that you can use on the command line to generate idea folders:

# Initialize idea folders
./gradlew cleanIdea idea

IntelliJ should refresh and the project is now configured as a gradle project. You can find IntelliJ gradle tasks in "Gradle > Gradle projects > template-placeholder > Tasks > intellij". To run the plugin, use the runIde task:

# Run the plugin (starts new idea)
./gradlew runIde

Releasing Build

Before releasing:

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