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.
|
everything in the most straightforward manner.
|
||||||
<!-- Plugin description end -->
|
<!-- 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:
|
We can highlight here the following parts:
|
||||||
|
|
||||||
- Gradle configuration
|
- 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
|
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.
|
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]
|
![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]
|
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
|
## 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
|
## Sample Code
|
||||||
|
|
||||||
@ -79,7 +125,7 @@ Cannot find org.jetbrains.plugins.template. Note that you need to upload the plu
|
|||||||
|
|
||||||
## Useful Links
|
## Useful Links
|
||||||
|
|
||||||
- [IntelliJ Platform SDK DevGuide][sdk-docs]
|
- [IntelliJ Platform SDK DevGuide][docs]
|
||||||
- [IntelliJ SDK Code Samples][code-samples]
|
- [IntelliJ SDK Code Samples][code-samples]
|
||||||
- [JetBrains Platform Slack][slack]
|
- [JetBrains Platform Slack][slack]
|
||||||
- [IntelliJ IDEA Open API and Plugin Development][forum]
|
- [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-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
|
[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
|
[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
|
[releases]: https://github.com/JetBrains/intellij-plugin-template/releases
|
||||||
[marketplace-plugin-page]: https://plugins.jetbrains.com/plugin/0-TODO
|
[marketplace-plugin-page]: https://plugins.jetbrains.com/plugin/0-TODO
|
||||||
[slack]: https://plugins.jetbrains.com/slack
|
[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
|
[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
|
[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: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
|
[file:template_cleanup.yml]: ./.github/workflows/template-cleanup.yml
|
||||||
|
Loading…
Reference in New Issue
Block a user