Skip to content
This repository was archived by the owner on Mar 12, 2022. It is now read-only.

Commit 0682b44

Browse files
committed
Update build environment to use 2018.3 and include tooling from symfony plugin
1 parent 2daf6db commit 0682b44

File tree

6 files changed

+122
-8
lines changed

6 files changed

+122
-8
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ before_install:
2121

2222
env:
2323
- IDEA_VERSION="IU-182.3208.16" PHP_PLUGIN_VERSION="182.3208.33" BLADE_PLUGIN_VERSION="182.2949.27"
24+
- IDEA_VERSION="IU-2018.2.4" PHP_PLUGIN_VERSION="182.4505.42" BLADE_PLUGIN_VERSION="182.3911.19"
2425
- IDEA_VERSION="IU-2018.1" PHP_PLUGIN_VERSION="181.4203.565" BLADE_PLUGIN_VERSION="181.4203.565"
2526
- IDEA_VERSION="IU-2017.3.5" PHP_PLUGIN_VERSION="173.4301.34" BLADE_PLUGIN_VERSION="173.4127.29"
2627

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: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,19 @@ buildscript {
99
}
1010

1111
plugins {
12-
id "org.jetbrains.intellij" version "0.2.18"
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'
1821

1922
intellij {
2023
version ideaVersion
24+
updateSinceUntilBuild false
2125
plugins = [
2226
"com.jetbrains.php:${phpPluginVersion}",
2327
"com.jetbrains.php.blade:${bladePluginVersion}",
@@ -26,14 +30,26 @@ intellij {
2630
'properties'
2731
]
2832
pluginName 'Laravel Plugin'
33+
}
2934

30-
patchPluginXml {
31-
sinceBuild '173'
32-
}
35+
patchPluginXml {
36+
sinceBuild '173'
37+
changeNotes = htmlFixer('src/main/resources/META-INF/change-notes.html')
38+
}
39+
40+
publishPlugin {
41+
username System.getenv('IJ_REPO_USERNAME')
42+
password System.getenv('IJ_REPO_PASSWORD')
3343
}
3444

3545
group 'de.espend.idea.laravel'
36-
version '0.15'
46+
47+
def details = versionDetails()
48+
if (details.isCleanTag) {
49+
version = "${details.lastTag}"
50+
} else {
51+
version = "${details.lastTag}.${details.gitHash}-SNAPSHOT"
52+
}
3753

3854
wrapper {
3955
gradleVersion '4.3.1'

gradle.properties

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1-
ideaVersion = IU-182.3208.16
2-
phpPluginVersion = 182.3208.33
3-
bladePluginVersion = 182.2949.27
1+
#ideaVersion = IU-183.3283.2
2+
#phpPluginVersion = 183.3283.10
3+
#bladePluginVersion = 183.3283.10
4+
5+
ideaVersion = IU-2018.2.4
6+
phpPluginVersion = 182.4505.42
7+
bladePluginVersion = 182.3911.19
48

59
#ideaVersion = IU-2018.1
610
#phpPluginVersion = 181.4203.565

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: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<html><ul>
2+
<li>fc9e56c Allow double backlash route namespaces (Cedric Ziel)</li>
3+
<li>eeea6ca Test with 2018.2 (Cedric Ziel)</li>
4+
<li>708f6b5 Migrate Storage annotation to shorthand variant (Cedric Ziel)</li>
5+
<li>7fe0795 Update build to use stable 2018.1 dependencies (Cedric Ziel)</li>
6+
<li>ad38b20 Remove removed id property from storage annotation (Cedric Ziel)</li>
7+
<li>a03b9b1 Gradle-ify the build (Cedric Ziel)</li>
8+
<li>c4d3422 build 0.15 (Daniel Espendiller)</li>
9+
<li>626cf37 provide references for assets #170 (Daniel Espendiller)</li>
10+
<li>06e77c2 fix performance issue for Blade linemarkers: targets must be attached to leaf elements #161 (Daniel Espendiller)</li>
11+
<li>7126f98 provide directory navigation for Blade template strings (Daniel Espendiller)</li>
12+
<li>8bc7c41 remove old api workaround for unknown directive parameter content extraction (Daniel Espendiller)</li>
13+
<li>5c143fe add Blade template name path navigation; fix path namespace filter (Daniel Espendiller)</li>
14+
<li>c11e39e fix "component" and "slot" navigation (Daniel Espendiller)</li>
15+
<li>f9d56b7 Config files matching refactored + tests added (Adel)</li>
16+
<li>8fe0748 provide lazy and cached resolver for template names in all Blade linemarker (Daniel Espendiller)</li>
17+
<li>561804f Remove unneeded reference (Adel)</li>
18+
<li>44c3b85 convert Blade template include navigation to lazy target implementation (Daniel Espendiller)</li>
19+
<li>539a4a9 convert Blade template file navigation to lazy target implementation (Daniel Espendiller)</li>
20+
<li>d020c70 replace cost intensive template resolving on path visiting (Daniel Espendiller)</li>
21+
<li>c5be079 optimize global Blade path usages; add tests for template visiting (Daniel Espendiller)</li>
22+
<li>eb59230 provide tests for template resolving; optimize some api calls (Daniel Espendiller)</li>
23+
<li>be82908 Migrate FileBasedIndexImpl usage to FileBasedIndex (Daniel Espendiller)</li>
24+
<li>a7a46f1 Blade COMPONENT_DIRECTIVE must also be indexed as file include (Daniel Espendiller)</li>
25+
<li>bddf8d2 provide indexer for all Blade include directives and use some new Blade apis #165 (Daniel Espendiller)</li>
26+
<li>f65cfd3 cleanup plugin.xml changelog and provide footer template (Daniel Espendiller)</li>
27+
<li>2e041b2 use new directory SLOT_DIRECTIVE and COMPONENT_DIRECTIVE for completion parameter pattern #167 (Daniel Espendiller)</li>
28+
<li>eeef0e5 prepare tests for Blade index visiting migration (Daniel Espendiller)</li>
29+
<li>2404dbc support Blade includeWhen, includeFirst for template references #152 #158 #142 (Daniel Espendiller)</li>
30+
<li>207e66f replace deprecated ScalarIndexExtension usages in indexing process (Daniel Espendiller)</li>
31+
<li>5d2aa60 Create CODE_OF_CONDUCT.md (Daniel Espendiller)</li>
32+
<li>1e5f1b7 add author docs (Daniel Espendiller)</li>
33+
<li>7dfcde5 Fix typo (Luiz)</li>
34+
<li>d277c68 add PayPal.me link for donation (Daniel Espendiller)</li>
35+
<li>e87a561 fix travis testing environment (Daniel Espendiller)</li></ul></html>

0 commit comments

Comments
 (0)