mirror of
https://github.com/JetBrains/intellij-platform-plugin-template.git
synced 2024-10-27 20:44:05 +00:00
README update
This commit is contained in:
parent
99e98e4f48
commit
17ef703111
BIN
.github/readme/draft-release.png
vendored
Normal file
BIN
.github/readme/draft-release.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 66 KiB |
BIN
.github/readme/getting-started_use-this-template.png
vendored
BIN
.github/readme/getting-started_use-this-template.png
vendored
Binary file not shown.
Before Width: | Height: | Size: 74 KiB |
BIN
.github/readme/settings-secrets.png
vendored
Normal file
BIN
.github/readme/settings-secrets.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 252 KiB |
BIN
.github/readme/use-this-template.png
vendored
Normal file
BIN
.github/readme/use-this-template.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 71 KiB |
45
README.md
45
README.md
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
[][jb:confluence-on-gh]
|
[][jb:confluence-on-gh]
|
||||||

|

|
||||||
[][jb:slack]
|
[][jb:slack]
|
||||||
|
|
||||||
<!-- Plugin description -->
|
<!-- Plugin description -->
|
||||||
**IntelliJ Platform Plugin Template** is a repository that provides a pure boilerplate for creating a plugin project
|
**IntelliJ Platform Plugin Template** is a repository that provides a pure boilerplate for creating a plugin project
|
||||||
@ -39,7 +39,7 @@ or cloning repositories and clearing the history by your own.
|
|||||||
|
|
||||||
The only thing that you have to do is clicking the <kbd>Use this template</kbd> 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: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 the 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.
|
||||||
@ -72,7 +72,7 @@ Project specific configuration file - [gradle.properties][file:gradle.properties
|
|||||||
```properties
|
```properties
|
||||||
pluginGroup = org.jetbrains.plugins.template
|
pluginGroup = org.jetbrains.plugins.template
|
||||||
pluginName = Template
|
pluginName = Template
|
||||||
pluginVersion = 0.0.2
|
pluginVersion = 0.0.1
|
||||||
pluginSinceBuild = 193
|
pluginSinceBuild = 193
|
||||||
pluginUntilBuild = 202
|
pluginUntilBuild = 202
|
||||||
|
|
||||||
@ -173,7 +173,7 @@ Continuous Integration depends on the [GitHub Actions][gh:actions], which is a s
|
|||||||
your testing and releasing process. Thanks to such automation, you can delegate the testing and verification phases
|
your testing and releasing process. Thanks to such automation, you can delegate the testing and verification phases
|
||||||
to the CI and focus on the development (and writing more tests).
|
to the CI and focus on the development (and writing more tests).
|
||||||
|
|
||||||
In `.github/workflows` directory you may find the following GitHub Actions Workflows defined:
|
In `.github/workflows` directory you may find the following GitHub Actions workflows defined:
|
||||||
|
|
||||||
- [Build](.github/workflows/build.yml)
|
- [Build](.github/workflows/build.yml)
|
||||||
- Triggered on `push` and `pull_request` events
|
- Triggered on `push` and `pull_request` events
|
||||||
@ -192,7 +192,7 @@ In `.github/workflows` directory you may find the following GitHub Actions Workf
|
|||||||
- Overrides JetBrains-specific sentences or package names with the ones specific to the target repository
|
- Overrides JetBrains-specific sentences or package names with the ones specific to the target repository
|
||||||
- Removes redundant files
|
- Removes redundant files
|
||||||
|
|
||||||
Each Workflow file has an accurate documentation provided, so don't hesitate to look through their sources.
|
Each workflow file has an accurate documentation provided, so don't hesitate to look through their sources.
|
||||||
|
|
||||||
### Changelog Maintenance
|
### Changelog Maintenance
|
||||||
|
|
||||||
@ -224,15 +224,41 @@ is the [Keep a Changelog][keep-a-changelog] approach, which brings underneath ru
|
|||||||
> - `Fixed` for any bug fixes.
|
> - `Fixed` for any bug fixes.
|
||||||
> - `Security` in case of vulnerabilities.
|
> - `Security` in case of vulnerabilities.
|
||||||
>
|
>
|
||||||
> <small> Ref.: https://keepachangelog.com/en/1.0.0/ </small>
|
> Ref.: https://keepachangelog.com/en/1.0.0/
|
||||||
|
|
||||||
### Release Flow
|
### Release Flow
|
||||||
|
|
||||||
|
Releasing process depends on the already described workflows - when your main branch receives a new Pull Request
|
||||||
|
or a regular push, [Build](.github/workflows/build.yml) workflow tests your plugin at different angles and prepares
|
||||||
|
a draft release.
|
||||||
|
|
||||||
|
![Release draft][file:draft-release.png]
|
||||||
|
|
||||||
|
Draft release is a working copy of a release, which you can review, before publishing. It has predefined title
|
||||||
|
and git tag name, which is the current plugin's version - i.e. `v0.0.1`. Changelog is provided automatically using
|
||||||
|
the [gradle-changelog-plugin][gh:gradle-changelog-plugin]. There is also an artifact file with built plugin attached.
|
||||||
|
Every next *Build* overrides (or creates one if absent) such a draft to keep your *Releases* page clean.
|
||||||
|
|
||||||
|
By editing the draft and using the <kbd>Publish release</kbd> button, GitHub will tag your repository with the given
|
||||||
|
version and add new entry to the Releases tab. In the next steps, it will notify users that are *watching* repository
|
||||||
|
and trigger the final [Release](.github/workflows/release.yml) workflow.
|
||||||
|
|
||||||
### Publishing Plugin
|
### Publishing Plugin
|
||||||
|
|
||||||
Cannot find org.jetbrains.plugins.template. Note that you need to upload the plugin to the repository at least once manually (to specify options like the license, repository URL etc.). Follow the instructions: https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/publishing_plugin.html
|
Releasing plugin to the Marketplace is a straightforward operation which uses `publishPlugin` Gradle task provided
|
||||||
|
by the [gradle-intellij-plugin][gh:gradle-intellij-plugin]. [Release](.github/workflows/release.yml) workflow automates
|
||||||
|
that process by running the task, when a new release appears in the GitHub Releases section.
|
||||||
|
|
||||||
|
Authorization process relies on the `PUBLISH_TOKEN` secret environment variable, which has to be provided
|
||||||
|
in the repository Settings in the Secrets section.
|
||||||
|
|
||||||
|
![Settings > Secrets][file:settings-secrets.png]
|
||||||
|
|
||||||
|
You can find out how to get that token in the [Providing Your Hub Permanent Token to Gradle][docs:token] article.
|
||||||
|
|
||||||
|
> **Important:**
|
||||||
|
> Before using the automated deployment process, it is required to manually create a new plugin in the Marketplace
|
||||||
|
to specify options like the license, repository URL etc. Follow the [Publishing a Plugin][docs:publishing] instructions.
|
||||||
|
|
||||||
## Useful Links
|
## Useful Links
|
||||||
|
|
||||||
@ -250,11 +276,14 @@ Cannot find org.jetbrains.plugins.template. Note that you need to upload the plu
|
|||||||
[docs:kotlin-ui-dsl]: https://www.jetbrains.org/intellij/sdk/docs/user_interface_components/kotlin_ui_dsl.html
|
[docs:kotlin-ui-dsl]: https://www.jetbrains.org/intellij/sdk/docs/user_interface_components/kotlin_ui_dsl.html
|
||||||
[docs:plugin.xml]: https://www.jetbrains.org/intellij/sdk/docs/basics/plugin_structure/plugin_configuration_file.html
|
[docs:plugin.xml]: https://www.jetbrains.org/intellij/sdk/docs/basics/plugin_structure/plugin_configuration_file.html
|
||||||
[docs:publishing]: https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/publishing_plugin.html
|
[docs:publishing]: https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/publishing_plugin.html
|
||||||
|
[docs:token]: https://www.jetbrains.org/intellij/sdk/docs/tutorials/build_system/deployment.html#providing-your-hub-permanent-token-to-gradle
|
||||||
[docs:using-gradle]: https://www.jetbrains.org/intellij/sdk/docs/tutorials/build_system.html
|
[docs:using-gradle]: https://www.jetbrains.org/intellij/sdk/docs/tutorials/build_system.html
|
||||||
|
|
||||||
[file:getting-started_use-this-template.png]: ./.github/readme/getting-started_use-this-template.png
|
[file:use-this-template.png]: .github/readme/use-this-template.png
|
||||||
|
[file:draft-release.png]: .github/readme/draft-release.png
|
||||||
[file:gradle.properties]: ./gradle.properties
|
[file:gradle.properties]: ./gradle.properties
|
||||||
[file:plugin.xml]: ./src/main/resources/META-INF/plugin.xml
|
[file:plugin.xml]: ./src/main/resources/META-INF/plugin.xml
|
||||||
|
[file:settings-secrets.png]: .github/readme/settings-secrets.png
|
||||||
[file:template_cleanup.yml]: ./.github/workflows/template-cleanup.yml
|
[file:template_cleanup.yml]: ./.github/workflows/template-cleanup.yml
|
||||||
|
|
||||||
[gh:actions]: https://help.github.com/en/actions
|
[gh:actions]: https://help.github.com/en/actions
|
||||||
|
Loading…
Reference in New Issue
Block a user