mirror of
https://github.com/JetBrains/intellij-platform-plugin-template.git
synced 2024-10-27 20:44:05 +00:00
README - wip
This commit is contained in:
parent
52df2ead71
commit
13903416b7
68
README.md
68
README.md
@ -12,6 +12,8 @@ developers by preconfiguring the project scaffold, CI and linking to the proper
|
||||
everything in the most straightforward manner.
|
||||
<!-- Plugin description end -->
|
||||
|
||||
If you're still not sure, what is this about - read our introduction of [What is the IntelliJ Platform?][docs:intro]
|
||||
|
||||
We can highlight here the following parts:
|
||||
|
||||
- Gradle configuration
|
||||
@ -31,18 +33,62 @@ idea behind the GitHub Templates: by creating a new project using the current te
|
||||
and no reference to this repository - it is the cut corner for creating a new repository with copy-pasting the content
|
||||
or cloning repositories and clearing the history by your own.
|
||||
|
||||
The only thing that you have to do is clicking the **Use this template** button.
|
||||
The only thing that you have to do is clicking the <kbd>Use this template</kbd> button.
|
||||
|
||||
![Use this template][file:getting-started_use-this-template.png]
|
||||
|
||||
After creating your blank project from the template, there will be the [Template Cleanup][file:template_cleanup.yml]
|
||||
workflow triggered to override or remove template-specific configuration, like plugin name, current changelog, etc.
|
||||
workflow triggered to override or remove the template-specific configuration, like plugin name, current changelog, etc.
|
||||
When done, project is ready to be cloned on your local environment and opened with the [IntelliJ IDEA][download-ij].
|
||||
|
||||
As a last step, it is required to manually specify the `pluginName` and `pluginGroup` in the `gradle.properties` file.
|
||||
As the last step, you have to manually review the configuration variables described in the
|
||||
[gradle.properties][file:gradle.properties] file, *optionally* move sources from the *com.github.username.repository*
|
||||
package to the one that fits you the most and start implementing your ideas.
|
||||
|
||||
## Gradle
|
||||
|
||||
TODO
|
||||
The recommended way of the plugin development is using the [Gradle][gradle] setup with
|
||||
[gradle-intellij-plugin][gradle-intellij-plugin] installed. The gradle-intellij-plugin provides tasks to run the IDE
|
||||
with your plugin and to publish your plugin to the Marketplace Repository.
|
||||
|
||||
IntelliJ Plugin Template project provides already preconfigured Gradle configuration, however feel free to follow
|
||||
the [Using Gradle][docs:using-gradle] articles for better understanding and customisation of your build.
|
||||
|
||||
The most significant parts of the current configuration are:
|
||||
- Configuration written with [Gradle Kotlin DSL][gradle-kotlin-dsl]
|
||||
- Kotlin support with possibility to write Java code
|
||||
- Plugin XML patching with the latest *change notes* from the `CHANGELOG.md` file
|
||||
- Plugin XML patching with the *description* from the `README.md` file
|
||||
- Code linting with [detekt][detekt]
|
||||
- [Plugin publishing][docs:publishing] using token
|
||||
|
||||
Project specific configuration file - [gradle.properties][file:gradle.properties] - contains:
|
||||
|
||||
```properties
|
||||
pluginGroup = org.jetbrains.plugins.template
|
||||
pluginName = Template
|
||||
pluginVersion = 0.0.2
|
||||
pluginSinceBuild = 193
|
||||
pluginUntilBuild = 202
|
||||
|
||||
platformType = IC
|
||||
platformVersion = 2020.1
|
||||
platformDownloadSources = true
|
||||
```
|
||||
|
||||
|
||||
|
||||
| Property name | Description |
|
||||
| ------------- | ----------- |
|
||||
| `pluginGroup` | Package name - after *using* the template, will be set to `com.gtihub.username.repo`. |
|
||||
| `pluginName` | Name of the plugin displayed in the Marketplace and Plugins Repository. |
|
||||
| `pluginVersion` | Current version of the plugin. |
|
||||
| `pluginSinceBuild` | `since-build` attribute of the <idea-version> tag. |
|
||||
| `pluginUntilBuild` | `until-build` attribute of the <idea-version> tag. |
|
||||
| `platformType` | The type of IDE distribution. |
|
||||
| `platformVersion` | |
|
||||
| `platformDownloadSources` | |
|
||||
|
||||
|
||||
## Sample Code
|
||||
|
||||
@ -79,7 +125,7 @@ Cannot find org.jetbrains.plugins.template. Note that you need to upload the plu
|
||||
|
||||
## Useful Links
|
||||
|
||||
- [IntelliJ Platform SDK DevGuide][sdk-docs]
|
||||
- [IntelliJ Platform SDK DevGuide][docs]
|
||||
- [IntelliJ SDK Code Samples][code-samples]
|
||||
- [JetBrains Platform Slack][slack]
|
||||
- [IntelliJ IDEA Open API and Plugin Development][forum]
|
||||
@ -88,13 +134,23 @@ Cannot find org.jetbrains.plugins.template. Note that you need to upload the plu
|
||||
|
||||
[gh-template]: https://help.github.com/en/enterprise/2.20/user/github/creating-cloning-and-archiving-repositories/creating-a-repository-from-a-template
|
||||
[gh-actions]: https://help.github.com/en/actions
|
||||
[sdk-docs]: https://www.jetbrains.org/intellij/sdk/docs
|
||||
[code-samples]: https://github.com/JetBrains/intellij-sdk-code-samples
|
||||
[gradle-intellij-plugin]: https://github.com/JetBrains/gradle-intellij-plugin
|
||||
[releases]: https://github.com/JetBrains/intellij-plugin-template/releases
|
||||
[marketplace-plugin-page]: https://plugins.jetbrains.com/plugin/0-TODO
|
||||
[slack]: https://plugins.jetbrains.com/slack
|
||||
[forum]: https://intellij-support.jetbrains.com/hc/en-us/community/topics/200366979-IntelliJ-IDEA-Open-API-and-Plugin-Development
|
||||
[keep-a-changelog]: https://keepachangelog.com
|
||||
[detekt]: https://detekt.github.io/detekt
|
||||
[download-ij]: https://www.jetbrains.com/idea/download
|
||||
[gradle]: https://gradle.org
|
||||
[gradle-kotlin-dsl]: https://docs.gradle.org/current/userguide/kotlin_dsl.html
|
||||
|
||||
[docs]: https://www.jetbrains.org/intellij/sdk/docs
|
||||
[docs:intro]: https://www.jetbrains.org/intellij/sdk/docs/intro/intellij_platform.html
|
||||
[docs:using-gradle]: https://www.jetbrains.org/intellij/sdk/docs/tutorials/build_system.html
|
||||
[docs:publishing]: https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/publishing_plugin.html
|
||||
|
||||
[file:getting-started_use-this-template.png]: ./.github/readme/getting-started_use-this-template.png
|
||||
[file:gradle.properties]: ./gradle.properties
|
||||
[file:template_cleanup.yml]: ./.github/workflows/template-cleanup.yml
|
||||
|
Loading…
Reference in New Issue
Block a user