Skip to content

Commit 1b06ffe

Browse files
authored
Merge pull request #1235 from cedricziel/prepare-release
Prepare first gradle-based release (0.16.166)
2 parents 51956c6 + 826a2d5 commit 1b06ffe

File tree

5 files changed

+133
-5
lines changed

5 files changed

+133
-5
lines changed

CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,35 @@ Changelog
1111
* 0.10.x: PhpStorm 7 (no support)
1212
* 0.9.x: PhpStorm 6 (no support)
1313

14+
## 0.16.166
15+
16+
<ul>
17+
<li>28a81b49 Add 2018.3 to build matrix (Cedric Ziel)</li>
18+
<li>79623036 Inline Callback (Cedric Ziel)</li>
19+
<li>9a2e7042 Fixed Symfony installer version selection to use https (Thomas Schulz)</li>
20+
<li>0e8c1f44 Move back to JBList to support legacy platform (Cedric Ziel)</li>
21+
<li>243d9896 Move write action out of AWT event for PhpServiceArgumentIntention (Cedric Ziel)</li>
22+
<li>4b6c480d Adjust resource path for bundle file creation (Cedric Ziel)</li>
23+
<li>e8a58704 Remove unnecessary null check (Cedric Ziel)</li>
24+
<li>26e9e8b6 Update PHP plugin version to 182.3684.42 in 2018.2 build (Cedric Ziel)</li>
25+
<li>e8d51e22 Adapt to changed YAML Psi to find the first KeyValue mapping (Cedric Ziel)</li>
26+
<li>1eb302b0 Fix whitespace issues in fixtures (Cedric Ziel)</li>
27+
<li>88c8dc0b Update build environment to 2018.2 stable (Cedric Ziel)</li>
28+
<li>fba2ded5 Add YAML const GoTo Target for Symfony 3.2+ style constants (Cedric Ziel)</li>
29+
<li>6cdd1695 Add inspection and quick fix for fuzzy service class names (Cedric Ziel)</li>
30+
<li>4eda083a Remove unused imports (Cedric Ziel)</li>
31+
<li>9ccf2e55 Use adequate casing for sentence (Cedric Ziel)</li>
32+
<li>83475218 Drop unnecessary condition (Cedric Ziel)</li>
33+
<li>eed2fca0 When able to, detect Symfony 4 "public" directory (Cedric Ziel)</li>
34+
<li>1fb795a3 Small cleanups (Cedric Ziel)</li>
35+
<li>d46aadf9 Fix Yaml Inspection for deprecated structure (Cedric Ziel)</li>
36+
<li>6af47fd3 Update intelli gradle plugin to 0.3.3 (Cedric Ziel)</li>
37+
<li>eaa23c6d Add 2018.2 to build matrix (Cedric Ziel)</li>
38+
<li>147d6d09 Migrate Project structure to use gradle (#1164) (Cedric Ziel)</li>
39+
<li>1d727c39 fix travis 2017.3.x build (Daniel Espendiller)</li>
40+
<li>6f6a15fa Fix anchor/querystring order (Massimiliano Arione)</li>
41+
<li>ad7742e4 Fix link to asset function (Massimiliano Arione)</li></ul>
42+
1443
## 0.16.165
1544
* Prevent duplicate same targets in yaml targets eg for class navigation
1645
* Refactoring bundle loading, replacing HashMaps with ArrayList for non unique bundle project names

MAINTENANCE.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
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/distrubutions`. 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_REPO_USERNAME=youruser IJ_REPO_PASSWORD=yourpassword ./gradlew clean buildPlugin publishPlugin
50+
```

build.gradle

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,12 @@ buildscript {
99
}
1010

1111
plugins {
12-
id "org.jetbrains.intellij" version "0.3.3"
12+
id "org.jetbrains.intellij" version "0.3.11"
13+
id 'com.palantir.git-version' version "0.11.0"
1314
}
1415

16+
def htmlFixer = { htmlFile -> file(htmlFile).text.replace('<html>', '').replace('</html>', '') }
17+
1518
apply plugin: 'idea'
1619
apply plugin: 'org.jetbrains.intellij'
1720
apply plugin: 'java'
@@ -31,14 +34,26 @@ intellij {
3134
'properties'
3235
]
3336
pluginName 'Symfony Plugin'
37+
}
3438

35-
patchPluginXml {
36-
sinceBuild '173'
37-
}
39+
patchPluginXml {
40+
sinceBuild '173'
41+
changeNotes = htmlFixer('src/main/resources/META-INF/change-notes.html')
42+
}
43+
44+
publishPlugin {
45+
username System.getenv('IJ_REPO_USERNAME')
46+
password System.getenv('IJ_REPO_PASSWORD')
3847
}
3948

4049
group 'fr.adrienbrault.idea.symfony2plugin'
41-
version '0.16.165'
50+
51+
def details = versionDetails()
52+
if (details.isCleanTag) {
53+
version = "${details.lastTag}"
54+
} else {
55+
version = "${details.lastTag}.${details.gitHash}-SNAPSHOT"
56+
}
4257

4358
wrapper {
4459
gradleVersion '4.3.1'

prepare-release.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/usr/bin/env bash
2+
echo "<html><ul>" > change-notes.html
3+
git log `git describe --tags --abbrev=0`..HEAD --no-merges --oneline --pretty=format:"<li>%h %s (%an)</li>" >> change-notes.html
4+
echo "</ul></html>" >> change-notes.html
5+
6+
cp change-notes.html src/main/resources/META-INF/
7+
8+
rm change-notes.html
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<html><ul>
2+
<li>28a81b49 Add 2018.3 to build matrix (Cedric Ziel)</li>
3+
<li>79623036 Inline Callback (Cedric Ziel)</li>
4+
<li>9a2e7042 Fixed Symfony installer version selection to use https (Thomas Schulz)</li>
5+
<li>0e8c1f44 Move back to JBList to support legacy platform (Cedric Ziel)</li>
6+
<li>243d9896 Move write action out of AWT event for PhpServiceArgumentIntention (Cedric Ziel)</li>
7+
<li>4b6c480d Adjust resource path for bundle file creation (Cedric Ziel)</li>
8+
<li>e8a58704 Remove unnecessary null check (Cedric Ziel)</li>
9+
<li>26e9e8b6 Update PHP plugin version to 182.3684.42 in 2018.2 build (Cedric Ziel)</li>
10+
<li>e8d51e22 Adapt to changed YAML Psi to find the first KeyValue mapping (Cedric Ziel)</li>
11+
<li>1eb302b0 Fix whitespace issues in fixtures (Cedric Ziel)</li>
12+
<li>88c8dc0b Update build environment to 2018.2 stable (Cedric Ziel)</li>
13+
<li>fba2ded5 Add YAML const GoTo Target for Symfony 3.2+ style constants (Cedric Ziel)</li>
14+
<li>6cdd1695 Add inspection and quick fix for fuzzy service class names (Cedric Ziel)</li>
15+
<li>4eda083a Remove unused imports (Cedric Ziel)</li>
16+
<li>9ccf2e55 Use adequate casing for sentence (Cedric Ziel)</li>
17+
<li>83475218 Drop unnecessary condition (Cedric Ziel)</li>
18+
<li>eed2fca0 When able to, detect Symfony 4 "public" directory (Cedric Ziel)</li>
19+
<li>1fb795a3 Small cleanups (Cedric Ziel)</li>
20+
<li>d46aadf9 Fix Yaml Inspection for deprecated structure (Cedric Ziel)</li>
21+
<li>6af47fd3 Update intelli gradle plugin to 0.3.3 (Cedric Ziel)</li>
22+
<li>eaa23c6d Add 2018.2 to build matrix (Cedric Ziel)</li>
23+
<li>147d6d09 Migrate Project structure to use gradle (#1164) (Cedric Ziel)</li>
24+
<li>1d727c39 fix travis 2017.3.x build (Daniel Espendiller)</li>
25+
<li>6f6a15fa Fix anchor/querystring order (Massimiliano Arione)</li>
26+
<li>ad7742e4 Fix link to asset function (Massimiliano Arione)</li></ul></html>

0 commit comments

Comments
 (0)