Skip to content

Commit 31d0930

Browse files
committed
add MAINTENANCE.md
1 parent 0cfc705 commit 31d0930

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed

MAINTENANCE.md

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Maintaining the plugin
2+
3+
## Forging a new release
4+
5+
The plugin is released manually, based on a git tag.
6+
7+
A gradle plugin automatically determines the current tag and / or if this
8+
is a snapshot release.
9+
10+
To build the plugin, execute the gradle task `buildPlugin`.
11+
12+
```bash
13+
./gradlew clean buildPlugin
14+
```
15+
16+
The artifact zip can then be found in `build/distributions`. This is the
17+
final result which can be uploaded to the JetBrains repository.
18+
19+
The checklist for a new release should be the following:
20+
21+
* ensure the project is currently on the latest commit on the `master` branch
22+
You can enforce this by pulling and resetting with the `--hard` flag
23+
* make sure there are no staged changes
24+
* prepare the changelog:
25+
* execute `./prepare-release.sh` to write the changelog to disk
26+
* manually copy the relevant parts to `CHANGELOG.md`
27+
* commit the changed files (preferrable with a meaningful commit message
28+
`Prepare release 0.16.xxx`)
29+
* tag a release (`git tag 0.x.xxx`)
30+
* push the changed code and the tag to the remote (`git push && git push --tags`)
31+
* build the plugin on the tag (`./gradlew clean buildPlugin`)
32+
33+
## Upload to JetBrain Plugin repository
34+
35+
The plugin can be updated in two different ways.
36+
37+
### Manual upload
38+
39+
Upload the produced ZIP file to the JetBrains repository manually
40+
41+
### Semi-automatic upload through gradle
42+
43+
The IntelliJ gradle plugin ships a task to upload the release
44+
automatically. This will include the changelog generated earlier.
45+
46+
Execute the following gradle task:
47+
48+
```bash
49+
IJ_TOKEN=yourtoken ./gradlew clean buildPlugin publishPlugin
50+
```
51+
52+
Token documentation:
53+
54+
* http://www.jetbrains.org/intellij/sdk/docs/plugin_repository/api/plugin_upload.html
55+
* https://www.jetbrains.com/help/hub/Manage-Permanent-Tokens.html

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Key | Value
1313
Plugin Url | https://plugins.jetbrains.com/plugin/9674
1414
ID | de.espend.idea.php.phpunit
1515
Changelog | [CHANGELOG](CHANGELOG.md)
16+
Build and Deployment | [MAINTENANCE](MAINTENANCE.md)
1617
Origin Fork | [maxfilatov/phpuaca](https://git.1-hub.cnmaxfilatov/phpuaca/)
1718

1819
## Installation

0 commit comments

Comments
 (0)