From 1d022102ffb175bdadb74c8db6512c9281da3f78 Mon Sep 17 00:00:00 2001 From: jbruell <31685172+jbruell@users.noreply.github.com> Date: Tue, 8 Dec 2020 18:04:12 +0100 Subject: [PATCH] Initial commit --- .github/readme/draft-release.png | Bin 0 -> 34662 bytes .github/readme/run-debug-configurations.png | Bin 0 -> 43071 bytes .github/readme/settings-secrets.png | Bin 0 -> 75131 bytes .github/readme/use-this-template.png | Bin 0 -> 53170 bytes .github/template-cleanup/CHANGELOG.md | 7 + .github/template-cleanup/README.md | 40 +++ .github/template-cleanup/gradle.properties | 22 ++ .github/template-cleanup/settings.gradle.kts | 1 + .github/workflows/build.yml | 246 +++++++++++++++ .github/workflows/release.yml | 70 +++++ .github/workflows/template-cleanup.yml | 77 +++++ .gitignore | 3 + .idea/icon.png | Bin 0 -> 4323 bytes .run/Run IDE with Plugin.run.xml | 23 ++ .run/Run Plugin Tests.run.xml | 23 ++ .run/Run Plugin Verification.run.xml | 25 ++ CHANGELOG.md | 174 +++++++++++ CODE_OF_CONDUCT.md | 4 + LICENSE | 202 ++++++++++++ README.md | 288 ++++++++++++++++++ build.gradle.kts | 128 ++++++++ detekt-config.yml | 8 + gradle.properties | 22 ++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes gradle/wrapper/gradle-wrapper.properties | 5 + gradlew | 185 +++++++++++ gradlew.bat | 89 ++++++ settings.gradle.kts | 1 + .../jetbrains/plugins/template/MyBundle.kt | 21 ++ .../listeners/MyProjectManagerListener.kt | 13 + .../template/services/MyApplicationService.kt | 10 + .../template/services/MyProjectService.kt | 11 + src/main/resources/META-INF/plugin.xml | 19 ++ src/main/resources/META-INF/pluginIcon.svg | 58 ++++ .../resources/messages/MyBundle.properties | 3 + 35 files changed, 1778 insertions(+) create mode 100644 .github/readme/draft-release.png create mode 100644 .github/readme/run-debug-configurations.png create mode 100644 .github/readme/settings-secrets.png create mode 100644 .github/readme/use-this-template.png create mode 100644 .github/template-cleanup/CHANGELOG.md create mode 100644 .github/template-cleanup/README.md create mode 100644 .github/template-cleanup/gradle.properties create mode 100644 .github/template-cleanup/settings.gradle.kts create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/release.yml create mode 100644 .github/workflows/template-cleanup.yml create mode 100644 .gitignore create mode 100644 .idea/icon.png create mode 100644 .run/Run IDE with Plugin.run.xml create mode 100644 .run/Run Plugin Tests.run.xml create mode 100644 .run/Run Plugin Verification.run.xml create mode 100644 CHANGELOG.md create mode 100644 CODE_OF_CONDUCT.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 build.gradle.kts create mode 100644 detekt-config.yml create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle.kts create mode 100644 src/main/kotlin/org/jetbrains/plugins/template/MyBundle.kt create mode 100644 src/main/kotlin/org/jetbrains/plugins/template/listeners/MyProjectManagerListener.kt create mode 100644 src/main/kotlin/org/jetbrains/plugins/template/services/MyApplicationService.kt create mode 100644 src/main/kotlin/org/jetbrains/plugins/template/services/MyProjectService.kt create mode 100644 src/main/resources/META-INF/plugin.xml create mode 100644 src/main/resources/META-INF/pluginIcon.svg create mode 100644 src/main/resources/messages/MyBundle.properties diff --git a/.github/readme/draft-release.png b/.github/readme/draft-release.png new file mode 100644 index 0000000000000000000000000000000000000000..00a4be8f7dbe85bf1160c52ed7779bd051edbd48 GIT binary patch literal 34662 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 B@UZ{@ literal 0 HcmV?d00001 diff --git a/.github/readme/run-debug-configurations.png b/.github/readme/run-debug-configurations.png new file mode 100644 index 0000000000000000000000000000000000000000..d19c09a38a60a42e4de6fbbd2a7e23d17e6e3378 GIT binary patch literal 43071 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�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 literal 0 HcmV?d00001 diff --git a/.github/readme/settings-secrets.png b/.github/readme/settings-secrets.png new file mode 100644 index 0000000000000000000000000000000000000000..a877734c7a5c119cd13077f35f3e65d13878d9e4 GIT binary patch literal 75131 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 literal 0 HcmV?d00001 diff --git a/.github/template-cleanup/CHANGELOG.md b/.github/template-cleanup/CHANGELOG.md new file mode 100644 index 0000000..619f92d --- /dev/null +++ b/.github/template-cleanup/CHANGELOG.md @@ -0,0 +1,7 @@ + + +# %NAME% Changelog + +## [Unreleased] +### Added +- Initial scaffold created from [IntelliJ Platform Plugin Template](https://github.com/JetBrains/intellij-platform-plugin-template) diff --git a/.github/template-cleanup/README.md b/.github/template-cleanup/README.md new file mode 100644 index 0000000..e78124f --- /dev/null +++ b/.github/template-cleanup/README.md @@ -0,0 +1,40 @@ +# %NAME% + +![Build](https://github.com/%REPOSITORY%/workflows/Build/badge.svg) +[![Version](https://img.shields.io/jetbrains/plugin/v/PLUGIN_ID.svg)](https://plugins.jetbrains.com/plugin/PLUGIN_ID) +[![Downloads](https://img.shields.io/jetbrains/plugin/d/PLUGIN_ID.svg)](https://plugins.jetbrains.com/plugin/PLUGIN_ID) + +## Template ToDo list +- [x] Create a new [IntelliJ Platform Plugin Template][template] project. +- [ ] Verify the [pluginGroup](/gradle.properties), [plugin ID](/src/main/resources/META-INF/plugin.xml) and [sources package](/src/main/kotlin). +- [ ] Review the [Legal Agreements](https://plugins.jetbrains.com/docs/marketplace/legal-agreements.html). +- [ ] [Publish a plugin manually](https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/publishing_plugin.html) for the first time. +- [ ] Set the Plugin ID in the above README badges. +- [ ] Set the [Deployment Token](https://plugins.jetbrains.com/docs/marketplace/plugin-upload.html). +- [ ] Click the Watch button on the top of the [IntelliJ Platform Plugin Template][template] to be notified about releases containing new features and fixes. + + +This Fancy IntelliJ Platform Plugin is going to be your implementation of the brilliant ideas that you have. + +This specific section is a source for the [plugin.xml](/src/main/resources/META-INF/plugin.xml) file which will be extracted by the [Gradle](/build.gradle.kts) during the build process. + +To keep everything working, do not remove `` sections. + + +## Installation + +- Using IDE built-in plugin system: + + Preferences > Plugins > Marketplace > Search for "%NAME%" > + Install Plugin + +- Manually: + + Download the [latest release](https://github.com/%REPOSITORY%/releases/latest) and install it manually using + Preferences > Plugins > ⚙️ > Install plugin from disk... + + +--- +Plugin based on the [IntelliJ Platform Plugin Template][template]. + +[template]: https://github.com/JetBrains/intellij-platform-plugin-template diff --git a/.github/template-cleanup/gradle.properties b/.github/template-cleanup/gradle.properties new file mode 100644 index 0000000..59e07b2 --- /dev/null +++ b/.github/template-cleanup/gradle.properties @@ -0,0 +1,22 @@ +# IntelliJ Platform Artifacts Repositories +# -> https://www.jetbrains.org/intellij/sdk/docs/reference_guide/intellij_artifacts.html + +pluginGroup = %GROUP% +pluginName_ = %NAME% +pluginVersion = 0.0.1 +pluginSinceBuild = 201 +pluginUntilBuild = 203.* +# Plugin Verifier integration -> https://github.com/JetBrains/gradle-intellij-plugin#plugin-verifier-dsl +# See https://jb.gg/intellij-platform-builds-list for available build versions +pluginVerifierIdeVersions = 2020.1.4, 2020.2.3, 2020.3 + +platformType = IC +platformVersion = 2020.1 +platformDownloadSources = true +# Plugin Dependencies -> https://www.jetbrains.org/intellij/sdk/docs/basics/plugin_structure/plugin_dependencies.html +# Example: platformPlugins = com.intellij.java, com.jetbrains.php:203.4449.22 +platformPlugins = + +# Opt-out flag for bundling Kotlin standard library. +# See https://kotlinlang.org/docs/reference/using-gradle.html#dependency-on-the-standard-library for details. +kotlin.stdlib.default.dependency = false diff --git a/.github/template-cleanup/settings.gradle.kts b/.github/template-cleanup/settings.gradle.kts new file mode 100644 index 0000000..34ec91d --- /dev/null +++ b/.github/template-cleanup/settings.gradle.kts @@ -0,0 +1 @@ +rootProject.name = "%NAME%" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..f3a0f54 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,246 @@ +# GitHub Actions Workflow created for testing and preparing the plugin release in following steps: +# - validate Gradle Wrapper, +# - run test and verifyPlugin tasks, +# - run buildPlugin task and prepare artifact for the further tests, +# - run IntelliJ Plugin Verifier, +# - create a draft release. +# +# Workflow is triggered on push and pull_request events. +# +# Docs: +# - GitHub Actions: https://help.github.com/en/actions +# - IntelliJ Plugin Verifier GitHub Action: https://github.com/ChrisCarini/intellij-platform-plugin-verifier-action +# +## JBIJPPTPL + +name: Build +on: [push, pull_request] +jobs: + + # Run Gradle Wrapper Validation Action to verify the wrapper's checksum + gradleValidation: + name: Gradle Wrapper + runs-on: ubuntu-latest + steps: + + # Check out current repository + - name: Fetch Sources + uses: actions/checkout@v2 + + # Validate wrapper + - name: Gradle Wrapper Validation + uses: gradle/wrapper-validation-action@v1.0.3 + + # Run verifyPlugin and test Gradle tasks + test: + name: Test + needs: gradleValidation + runs-on: ubuntu-latest + steps: + + # Setup Java 1.8 environment for the next steps + - name: Setup Java + uses: actions/setup-java@v1 + with: + java-version: 1.8 + + # Check out current repository + - name: Fetch Sources + uses: actions/checkout@v2 + + # Cache Gradle dependencies + - name: Setup Gradle Dependencies Cache + uses: actions/cache@v2 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle', '**/*.gradle.kts', 'gradle.properties') }} + + # Cache Gradle Wrapper + - name: Setup Gradle Wrapper Cache + uses: actions/cache@v2 + with: + path: ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} + + # Run detekt, ktlint and tests + - name: Run Linters and Test + run: ./gradlew check + + # Run verifyPlugin Gradle task + - name: Verify Plugin + run: ./gradlew verifyPlugin + + # Build plugin with buildPlugin Gradle task and provide the artifact for the next workflow jobs + # Requires test job to be passed + build: + name: Build + needs: test + runs-on: ubuntu-latest + outputs: + name: ${{ steps.properties.outputs.name }} + version: ${{ steps.properties.outputs.version }} + changelog: ${{ steps.properties.outputs.changelog }} + artifact: ${{ steps.properties.outputs.artifact }} + steps: + + # Setup Java 1.8 environment for the next steps + - name: Setup Java + uses: actions/setup-java@v1 + with: + java-version: 1.8 + + # Check out current repository + - name: Fetch Sources + uses: actions/checkout@v2 + + # Cache Gradle Dependencies + - name: Setup Gradle Dependencies Cache + uses: actions/cache@v2 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle', '**/*.gradle.kts', 'gradle.properties') }} + + # Cache Gradle Wrapper + - name: Setup Gradle Wrapper Cache + uses: actions/cache@v2 + with: + path: ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} + + # Set environment variables + - name: Export Properties + id: properties + shell: bash + run: | + PROPERTIES="$(./gradlew properties --console=plain -q)" + VERSION="$(echo "$PROPERTIES" | grep "^version:" | cut -f2- -d ' ')" + NAME="$(echo "$PROPERTIES" | grep "^pluginName_:" | cut -f2- -d ' ')" + CHANGELOG="$(./gradlew getChangelog --unreleased --no-header --console=plain -q)" + CHANGELOG="${CHANGELOG//'%'/'%25'}" + CHANGELOG="${CHANGELOG//$'\n'/'%0A'}" + CHANGELOG="${CHANGELOG//$'\r'/'%0D'}" + ARTIFACT="${NAME}-${VERSION}.zip" + + echo "::set-output name=version::$VERSION" + echo "::set-output name=name::$NAME" + echo "::set-output name=changelog::$CHANGELOG" + echo "::set-output name=artifact::$ARTIFACT" + + # Build artifact using buildPlugin Gradle task + - name: Build Plugin + run: ./gradlew buildPlugin + + # Upload plugin artifact to make it available in the next jobs + - name: Upload artifact + uses: actions/upload-artifact@v1 + with: + name: plugin-artifact + path: ./build/distributions/${{ needs.build.outputs.artifact }} + + # Verify built plugin using IntelliJ Plugin Verifier tool + # Requires build job to be passed + verify: + name: Verify + needs: build + runs-on: ubuntu-latest + steps: + + # Setup Java 1.8 environment for the next steps + - name: Setup Java + uses: actions/setup-java@v1 + with: + java-version: 1.8 + + # Check out current repository + - name: Fetch Sources + uses: actions/checkout@v2 + + # Cache Gradle Dependencies + - name: Setup Gradle Dependencies Cache + uses: actions/cache@v2 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle', '**/*.gradle.kts', 'gradle.properties') }} + + # Cache Gradle Wrapper + - name: Setup Gradle Wrapper Cache + uses: actions/cache@v2 + with: + path: ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} + + # Set environment variables + - name: Export Properties + id: properties + shell: bash + run: | + PROPERTIES="$(./gradlew properties --console=plain -q)" + IDE_VERSIONS="$(echo "$PROPERTIES" | grep "^pluginVerifierIdeVersions:" | base64)" + + echo "::set-output name=ideVersions::$IDE_VERSIONS" + echo "::set-output name=pluginVerifierHomeDir::~/.pluginVerifier" + + # Cache Plugin Verifier IDEs + - name: Setup Plugin Verifier IDEs Cache + uses: actions/cache@v2 + with: + path: ${{ steps.properties.outputs.pluginVerifierHomeDir }}/ides + key: ${{ runner.os }}-plugin-verifier-${{ steps.properties.outputs.ideVersions }} + + # Run IntelliJ Plugin Verifier action using GitHub Action + - name: Verify Plugin + run: ./gradlew runPluginVerifier -Pplugin.verifier.home.dir=${{ steps.properties.outputs.pluginVerifierHomeDir }} + + # Prepare a draft release for GitHub Releases page for the manual verification + # If accepted and published, release workflow would be triggered + releaseDraft: + name: Release Draft + if: github.event_name != 'pull_request' + needs: [build, verify] + runs-on: ubuntu-latest + steps: + + # Check out current repository + - name: Fetch Sources + uses: actions/checkout@v2 + + # Remove old release drafts by using the curl request for the available releases with draft flag + - name: Remove Old Release Drafts + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + curl -H "Authorization: Bearer $GITHUB_TOKEN" https://api.github.com/repos/$GITHUB_REPOSITORY/releases \ + | tr '\r\n' ' ' \ + | jq '.[] | select(.draft == true) | .id' \ + | xargs -I '{}' \ + curl -X DELETE -H "Authorization: Bearer $GITHUB_TOKEN" https://api.github.com/repos/$GITHUB_REPOSITORY/releases/{} + + # Create new release draft - which is not publicly visible and requires manual acceptance + - name: Create Release Draft + id: createDraft + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: v${{ needs.build.outputs.version }} + release_name: v${{ needs.build.outputs.version }} + body: ${{ needs.build.outputs.changelog }} + draft: true + + # Download plugin artifact provided by the previous job + - name: Download Artifact + uses: actions/download-artifact@v2 + with: + name: plugin-artifact + + # Upload artifact as a release asset + - name: Upload Release Asset + id: upload-release-asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.createDraft.outputs.upload_url }} + asset_path: ./${{ needs.build.outputs.artifact }} + asset_name: ${{ needs.build.outputs.artifact }} + asset_content_type: application/zip diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..382fa91 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,70 @@ +# GitHub Actions Workflow created for handling the release process based on the draft release prepared +# with the Build workflow. Running the publishPlugin task requires the PUBLISH_TOKEN secret provided. + +name: Release +on: + release: + types: [prereleased, released] + +jobs: + + # Prepare and publish the plugin to the Marketplace repository + release: + name: Publish Plugin + runs-on: ubuntu-latest + steps: + + # Setup Java 1.8 environment for the next steps + - name: Setup Java + uses: actions/setup-java@v1 + with: + java-version: 1.8 + + # Check out current repository + - name: Fetch Sources + uses: actions/checkout@v2 + with: + ref: ${{ github.event.release.tag_name }} + + # Publish the plugin to the Marketplace + - name: Publish Plugin + env: + PUBLISH_TOKEN: ${{ secrets.PUBLISH_TOKEN }} + run: ./gradlew publishPlugin + + # Patch changelog, commit and push to the current repository + changelog: + name: Update Changelog + needs: release + runs-on: ubuntu-latest + steps: + + # Setup Java 1.8 environment for the next steps + - name: Setup Java + uses: actions/setup-java@v1 + with: + java-version: 1.8 + + # Check out current repository + - name: Fetch Sources + uses: actions/checkout@v2 + with: + ref: ${{ github.event.release.tag_name }} + + # Update Unreleased section with the current version + - name: Patch Changelog + run: ./gradlew patchChangelog + + # Commit patched Changelog + - name: Commit files + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git commit -m "Update changelog" -a + + # Push changes + - name: Push changes + uses: ad-m/github-push-action@master + with: + branch: main + github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/template-cleanup.yml b/.github/workflows/template-cleanup.yml new file mode 100644 index 0000000..17d6bb9 --- /dev/null +++ b/.github/workflows/template-cleanup.yml @@ -0,0 +1,77 @@ +# GitHub Actions Workflow responsible for cleaning up the IntelliJ Platform Plugin Template repository from +# the template-specific files and configurations. This workflow is supposed to be triggered automatically +# when a new template-based repository has been created. + +name: Template Cleanup +on: + push: + branches: + - main + +jobs: + + # Run cleaning process only if workflow is triggered by the non-JetBrains/intellij-platform-plugin-template repository. + template-cleanup: + name: Template Cleanup + runs-on: ubuntu-latest + if: github.event.repository.name != 'intellij-platform-plugin-template' + steps: + + # Check out current repository + - name: Fetch Sources + uses: actions/checkout@v2 + + # Cleanup project + - name: Cleanup + run: | + export LC_CTYPE=C + export LANG=C + + # Prepare variables + NAME="${GITHUB_REPOSITORY##*/}" + SAFE_NAME=$(echo $NAME | sed 's/[^a-zA-Z0-9]//g' | tr '[:upper:]' '[:lower:]') + ACTOR=$(echo $GITHUB_ACTOR | tr '[:upper:]' '[:lower:]') + GROUP="com.github.$ACTOR.$SAFE_NAME" + + # Replace placeholders in the template-cleanup files + sed -i "s/%NAME%/$NAME/g" .github/template-cleanup/* + sed -i "s/%REPOSITORY%/${GITHUB_REPOSITORY/\//\\/}/g" .github/template-cleanup/* + sed -i "s/%GROUP%/$GROUP/g" .github/template-cleanup/* + + # Replace template package name in project files with $GROUP + find src -type f -exec sed -i "s/org.jetbrains.plugins.template/$GROUP/g" {} + + find src -type f -exec sed -i "s/Template/$NAME/g" {} + + find src -type f -exec sed -i "s/JetBrains/$ACTOR/g" {} + + + # Remove lines marked with #REMOVE-ON-CLEANUP# + find . -type f -exec sed -i '/#REMOVE-ON-CLEANUP#/d' {} + + + # Move content + mkdir -p src/main/kotlin/${GROUP//.//} + cp -R .github/template-cleanup/* . + cp -R src/main/kotlin/org/jetbrains/plugins/template/* src/main/kotlin/${GROUP//.//}/ + + # Cleanup + rm -rf \ + .github/readme \ + .github/template-cleanup \ + .github/workflows/template-cleanup.yml \ + .idea/icon.png \ + src/main/kotlin/org \ + CODE_OF_CONDUCT.md \ + LICENSE + + # Commit modified files + - name: Commit files + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git add . + git commit -m "Template cleanup" + + # Push changes + - name: Push changes + uses: ad-m/github-push-action@master + with: + branch: main + github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e0d53d8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.gradle +.idea +build diff --git a/.idea/icon.png b/.idea/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7a34198d5a3e0a090a81bed05a25902109a3db17 GIT binary patch literal 4323 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 + + + + + + true + true + false + + + \ No newline at end of file diff --git a/.run/Run Plugin Tests.run.xml b/.run/Run Plugin Tests.run.xml new file mode 100644 index 0000000..01650d1 --- /dev/null +++ b/.run/Run Plugin Tests.run.xml @@ -0,0 +1,23 @@ + + + + + + + true + true + false + + + \ No newline at end of file diff --git a/.run/Run Plugin Verification.run.xml b/.run/Run Plugin Verification.run.xml new file mode 100644 index 0000000..af1bc02 --- /dev/null +++ b/.run/Run Plugin Verification.run.xml @@ -0,0 +1,25 @@ + + + + + + + true + true + false + + + + \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..21f353e --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,174 @@ + + +# IntelliJ Platform Plugin Template Changelog + +## [Unreleased] +### Added + +### Changed + +### Deprecated + +### Removed + +### Fixed + +### Security +## [0.7.1] +### Changed +- Upgrade Gradle Wrapper to `6.7.1` +- Dependencies - upgrade `org.jetbrains.intellij` to `0.6.5` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.4.20` +- Update the base platform version to 2020.1 +- Change since/until build to `201-203.*` + +## [0.7.0] +### Added +- Predefined Run/Debug Configurations +- Project icon for development purposes + +### Changed +- Dependencies - upgrade `org.jetbrains.intellij` to `0.6.3` + +## [0.6.1] +### Added +- GitHub Actions - use hash based on `pluginVerifierIdeVersions` in `Setup Plugin Verifier IDEs Cache` step + +### Changed +- Use [Kotlin extension function](https://jetbrains.org/intellij/sdk/docs/basics/plugin_structure/plugin_services.html?search=servic#retrieving-a-service) to retrieve the `MyProjectService` in the `MyProjectManagerListener` +- Dependencies - upgrade `org.jetbrains.intellij` to `0.6.2` +- Update `pluginVerifierIdeVersions` in the `gradle.properties` files + +## [0.6.0] +### Added +- Integration with [IntelliJ Plugin Verifier](https://github.com/JetBrains/intellij-plugin-verifier) through the [Gradle IntelliJ Plugin](https://github.com/JetBrains/gradle-intellij-plugin#plugin-verifier-dsl) `runPluginVerifier` task +- Cache downloaded IDEs used by Plugin Verifier for the verification + +### Changed +- Switch Gradle Wrapper to `-all` to improve the IntelliSense +- Update detekt config to be in line with IJ settings +- Dependencies - upgrade `io.gitlab.arturbosch.detekt` to `1.14.2` +- Dependencies - upgrade `org.jetbrains.intellij` to `0.6.1` +- GitHub Actions - `gradleValidation` update to `gradle/wrapper-validation-action@v1.0.3` +- GitHub Actions - `releaseDraft` update to `actions/download-artifact@v2` + +### Removed +- Remove Third-party IntelliJ Plugin Verifier GitHub Action + +## [0.5.1] +### Added +- Missing properties in the `gradle.properties` template file + +### Changed +- Upgrade Gradle Wrapper to `6.7` +- Dependencies - upgrade `org.jetbrains.changelog` to `0.6.2` + +## [0.5.0] +### Added +- Introduced `platformPlugins` property in `gradle.properties` for configuring dependencies to bundled/external plugins + +### Changed +- Disable "Release Draft" job for pull requests in the "Build" GitHub Actions Workflow +- Dependencies - upgrade `org.jetbrains.intellij` to `0.5.0` +- Dependencies - upgrade `org.jetbrains.changelog` to `0.6.1` +- Dependencies - upgrade `io.gitlab.arturbosch.detekt` to `1.14.1` +- Dependencies - upgrade `org.jlleitschuh.gradle.ktlint` to `9.4.1` +- Remove LICENSE file during the Template Cleanup workflow + +## [0.4.0] +### Added +- Fix default to opt-out of bundling Kotlin standard library in plugin distribution + +### Changed +- GitHub Actions: allow releasing plugin even for the base project +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.4.10` +- Dependencies - upgrade `io.gitlab.arturbosch.detekt` to `1.13.1` + +### Fixed +- `pluginName` variable name collision with `intellij` closure getter in Gradle configuration #29 + +## [0.3.2] +### Changed +- Simplify and optimize GitHub Actions +- Gradle Wrapper upgrade to `6.6.1` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.4.0` +- Dependencies - upgrade `org.jetbrains.intellij` to `0.4.22` +- Dependencies - upgrade `org.jetbrains.changelog` to `0.5.0` +- Dependencies - upgrade `io.gitlab.arturbosch.detekt` to `1.12.0` +- Dependencies - upgrade `org.jlleitschuh.gradle.ktlint` to `9.4.0` +- Rename `master` branch to `main` + +### Fixed +- GitHub Actions - cache Gradle dependencies and wrapper separately + +## [0.3.1] +### Added +- Better handling of the Gradle plugin description extraction from the README file +- GitHub Actions - cache Gradle Wrapper + +### Changed +- Gradle - remove kotlin("stdlib-jdk8") dependency to decrease the plugin artifact size +- Dependencies - bump ktlint to `9.3.0` +- GitHub Actions - make *Update Changelog* job dependent on the *Publish Plugin* + +### Fixed +- Resolve ktlint reports + +## [0.3.1] +### Changed +- GitHub Actions - run plugin verifier against `2019.3` `2020.1` `2020.2` + +### Fixed +- GitHub Actions - Plugin Verifier broken for artifacts with whitespaces in name + +## [0.3.0] +### Added +- Set publish channel depending on the plugin version, i.e. `1.0.0-beta` -> `beta` channel + +### Changed +- Update `org.jetbrains.changelog` dependency to `v0.3.3` +- Update Gradle Wrapper to `v6.5.1` +- Run GitHub Actions Release workflow on `prereleased` event +- GitHub Actions - Release - separate changelog related job from the release + +### Fixed +- Remove vendor website from `plugin.xml` +- Update Template Cleanup workflow test to avoid running it on forks + +## [0.2.0] +### Added +- JetBrains Plugin badges and TODO list for the end users +- `ktlint` integration + +### Changed +- `pluginUntilBuild` set to the correct format: `201.*` +- Bump detekt dependency to `1.10.0` + +### Fixed +- GitHub Actions - Template Cleanup - fixed adding files to git +- Update Template plugin name on cleanup +- Set `buildUponDefaultConfig = true` in detekt configuration + +## [0.1.0] +### Added +- `settings.gradle.kts` for the [performance purposes](https://docs.gradle.org/current/userguide/organizing_gradle_projects.html#always_define_a_settings_file) +- `#REMOVE-ON-CLEANUP#` token to mark content to be removed with **Template Cleanup** workflow + +### Changed +- README proofreading +- GitHub Actions - Update IDE versions for the Plugin Verifier +- Update platformVersion to `2020.1.2` + +## [0.0.2] +### Added +- [Gradle Changelog Plugin](https://github.com/JetBrains/gradle-changelog-plugin) integration + +### Changed +- Bump Detekt version +- Change pluginSinceBuild to 193 + +## [0.0.1] +### Added +- Initial project scaffold +- GitHub Actions to automate testing and deployment +- Kotlin support diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..85ed20d --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,4 @@ +## Code of Conduct + +This project and the corresponding community is governed by the [JetBrains Open Source and Community Code of Conduct](https://confluence.jetbrains.com/display/ALL/JetBrains+Open+Source+and+Community+Code+of+Conduct). Please make sure you read it. + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..9e385b9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2000-2020 JetBrains s.r.o. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 0000000..6a30f1d --- /dev/null +++ b/README.md @@ -0,0 +1,288 @@ +# IntelliJ Platform Plugin Template + +[![official JetBrains project](https://jb.gg/badges/official.svg)][jb:confluence-on-gh] +[![Twitter Follow](https://img.shields.io/twitter/follow/JBPlatform?style=flat)][jb:twitter] +[![Build](https://github.com/JetBrains/intellij-platform-plugin-template/workflows/Build/badge.svg)][gh:build] +[![Slack](https://img.shields.io/badge/Slack-%23intellij--platform--plugin--template-blue)][jb:slack] + +> **TL;DR:** Click the Use this template button and clone it in IntelliJ IDEA. + + +**IntelliJ Platform Plugin Template** is a repository that provides a pure boilerplate template to make it easier to create a new plugin project (check the [Creating a repository from a template][gh:template] article). + +The main goal of this template is to speed up the setup phase of plugin development for both new and experienced developers by preconfiguring the project scaffold and CI, linking to the proper documentation pages, and keeping everything organized. + +[gh:template]: https://help.github.com/en/enterprise/2.20/user/github/creating-cloning-and-archiving-repositories/creating-a-repository-from-a-template + + +If you're still not quite sure what this is all about, read our introduction: [What is the IntelliJ Platform?][docs:intro] + +> **TIP**: Click the Watch button on the top to be notified about releases containing new features and fixes. + +In this README, we will highlight the following elements of template-project creation: + +- [Gradle configuration](#gradle-configuration) +- [Plugin template structure](#plugin-template-structure) + - [Dependency on the Kotlin standard library](#dependency-on-the-kotlin-standard-library) +- [Plugin configuration file](#plugin-configuration-file) +- [Sample code](#sample-code): + - listeners – project and dynamic plugin lifecycle + - services – project-related and application-related services + - actions – basic action with shortcut binding +- [Predefined Run/Debug configurations](#predefined-rundebug-configurations) +- [Continuous integration](#continuous-integration) based on GitHub Actions + - [Changelog maintenance](#changelog-maintenance) with the Gradle Changelog Plugin + - [Release flow](#release-flow) using GitHub Releases + - [Publishing the plugin](#publishing-the-plugin) with the Gradle IntelliJ Plugin +- [Useful links](#useful-links) + +## Getting started + +Before we dive into plugin development and everything related to it, it's worth mentioning the benefits of using GitHub Templates. By creating a new project using the current template, you start with no history and no reference to this repository. This allows you to create a new repository easily without having to copy and paste previous content, clone repositories, or clear the history manually. + +All you have to do is click the Use this template button. + +![Use this template][file:use-this-template.png] + +After using the template to create your blank project, the [Template Cleanup][file:template_cleanup.yml] workflow will be triggered to override or remove any template-specific configurations, such as the plugin name, current changelog, etc. Once this is complete, the project is ready to be cloned to your local environment and opened with [IntelliJ IDEA][jb:download-ij]. + +For the last step, you have to manually review the configuration variables described in the [gradle.properties][file:gradle.properties] file and *optionally* move sources from the *com.github.username.repository* package to the one that works best for you. Then you can get to work implementing your ideas. + +## Gradle configuration + +The recommended method for plugin development involves using the [Gradle][gradle] setup with the [gradle-intellij-plugin][gh:gradle-intellij-plugin] installed. The gradle-intellij-plugin makes it possible to run the IDE with your plugin and publish your plugin to the Marketplace Repository. + +A project built using the IntelliJ Platform Plugin Template includes a Gradle configuration that's already been set up. Feel free to read through the [Using Gradle][docs:using-gradle] articles to better understand your build and learn how to customize it. + +The most significant parts of the current configuration are: +- Configuration written with [Gradle Kotlin DSL][gradle-kotlin-dsl]. +- Kotlin support, with the option to write Java code. +- Integration with the [gradle-changelog-plugin][gh:gradle-changelog-plugin], which automatically patches the change notes and description based on the `CHANGELOG.md` and `README.md` files. +- Integration with the [gradle-intellij-plugin][gh:gradle-intellij-plugin] for smoother development. +- Code linting with [detekt][detekt]. +- [Plugin publishing][docs:publishing] using the token. + +The project-specific configuration file [gradle.properties][file:gradle.properties] contains: + +| Property name | Description | +| ------------------------- | --------------------------------------------------------------------------------------------------------- | +| `pluginGroup` | Package name - after *using* the template, this will be set to `com.github.username.repo`. | +| `pluginName` | Plugin name displayed in the Marketplace and the Plugins Repository. | +| `pluginVersion` | The current version of the plugin. | +| `pluginSinceBuild` | The `since-build` attribute of the tag. | +| `pluginUntilBuild` | The `until-build` attribute of the tag. | +| `platformType` | The type of IDE distribution. | +| `platformVersion` | The version of the IntelliJ Platform IDE that will be used to build the plugin. | +| `platformDownloadSources` | IDE sources downloaded while initializing the Gradle build. | +| `platformPlugins` | Comma-separated list of dependencies to the bundled IDE plugins and plugins from the Plugin Repositories. | + +The properties listed define the plugin itself or configure the [gradle-intellij-plugin][gh:gradle-intellij-plugin] – check its documentation for more details. + +### Dependency on the Kotlin standard library + +Since Kotlin 1.4, a dependency on a standard library (`stdlib`) is added automatically. +In most cases, it is not necessary to distribute this library with a plugin. + +The [gradle.properties][file:gradle.properties] file explicitly alters the default behaviour of the Kotlin Gradle plugin by specifying this opt-out property: + +``` +kotlin.stdlib.default.dependency = false +``` + +For more details, please see: [Dependency on the standard library][kotlin-docs-dependency-on-stdlib] in Kotlin documentation. + +## Plugin template structure + +A generated IntelliJ Platform Plugin Template repository contains the following content structure: + +``` +. +├── .run Predefined Run/Debug Configurations +├── CHANGELOG.md Full change history. +├── LICENSE License, MIT by default +├── README.md README +├── build/ Output build directory +├── build.gradle.kts Gradle configuration +├── detekt-config.yml Detekt configuration +├── gradle +│ └── wrapper/ Gradle Wrapper +├── gradle.properties Gradle configuration properties +├── gradlew *nix Gradle Wrapper binary +├── gradlew.bat Windows Gradle Wrapper binary +└── src Plugin sources + └── main + ├── kotlin/ Kotlin source files + ├── java/ Java source files + └── resources/ Resources - plugin.xml, icons, messages +``` + +In addition to the configuration files, the most crucial part is the `src` directory, which contains our implementation and the manifest for our plugin – [plugin.xml][file:plugin.xml]. + +## Plugin configuration file +The plugin configuration file is a [plugin.xml][file:plugin.xml] file located in the `src/main/resources/META-INF` directory. It provides general information about the plugin, its dependencies, extensions, and listeners. + +```xml + + org.jetbrains.plugins.template + Template + JetBrains + com.intellij.modules.platform + + + + + + + + + + +``` + +You can read more about this file in the [IntelliJ Platform SDK DevGuide][docs:plugin.xml]. + +## Sample code + +The prepared template provides as little code as possible because it is impossible for a general scaffold to fulfill all the specific requirements for all types of plugins (language support, build tools, VCS related tools). The template contains only the following files: + +``` +. +├── MyBundle.kt Bundle class providing access to the resources messages +├── listeners +│ └── MyProjectManagerListener.kt Project Manager listener - handles project lifecycle +└── services + ├── MyApplicationService.kt Application-level service available for all projects + └── MyProjectService.kt Project level service +``` + +These files are located in `src/main/kotlin`. This location indicates the language being used. So if you decide to use Java instead, sources should be located in the `src/main/java` directory. + +## Predefined Run/Debug configurations + +Within the default project structure, there is a `.run` directory provided containing three predefined *Run/Debug configurations* that expose corresponding Gradle tasks: + +![Run/Debug configurations][file:run-debug-configurations.png] + +| Configuration name | Description | +| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Run Plugin | Runs [`:runIde`][gh:gradle-intellij-plugin-running-dsl] Gradle IntelliJ Plugin task. Use the *Debug* icon for plugin debugging. | +| Run Tests | Runs [`:check`][gradle-lifecycle-tasks] Gradle task that invokes `:test` and `detekt`/`ktlint` code inspections. | +| Run Verifications | Runs [`:runPluginVerifier`][gh:gradle-intellij-plugin-verifier-dsl] Gradle IntelliJ Plugin task to check the plugin compatibility against the specified IntelliJ IDEs. | + +## Continuous integration + +Continuous integration depends on [GitHub Actions][gh:actions], a set of workflows that make it possible to automate your testing and release process. Thanks to such automation, you can delegate the testing and verification phases to the CI and instead focus on development (and writing more tests). + +In the `.github/workflows` directory, you can find definitions for the following GitHub Actions workflows: + +- [Build](.github/workflows/build.yml) + - Triggered on `push` and `pull_request` events. + - Runs the *Gradle Wrapper Validation Action* to verify the wrapper's checksum. + - Runs the `verifyPlugin` and `test` Gradle tasks. + - Builds the plugin with the `buildPlugin` Gradle task and provides the artifact for the next jobs in the workflow. + - Verifies the plugin using the *IntelliJ Plugin Verifier* tool. + - Prepares a draft release of the GitHub Releases page for manual verification. +- [Release](.github/workflows/release.yml) + - Triggered on `released` event. + - Publishes the plugin to the Marketplace using the provided `PUBLISH_TOKEN`. + - Sets publish channel depending on the plugin version, i.e. `1.0.0-beta` -> `beta` channel. + - Patches the Changelog and commits. +- [Template Cleanup](.github/workflows/template-cleanup.yml) + - Triggered once on the `push` event when a new template-based repository has been created. + - Overrides the scaffold with files from the `.github/template-cleanup` directory. + - Overrides JetBrains-specific sentences or package names with ones specific to the target repository. + - Removes redundant files. + +All the workflow files have accurate documentation, so it's a good idea to take a look through their sources. + +### Changelog maintenance + +When releasing an update, it is important to let your users know what the new version offers. The best way to do this is to provide release notes. + +The changelog is a curated list that contains information about any new features, fixes, and deprecations. When they are provided, these lists are available in a few different places: the [CHANGELOG.md](./CHANGELOG.md) file, the [Releases page][gh:releases], the *What's new* section of the Marketplace Plugin page, and inside of the Plugin Manager's item details. + +There are many methods for handling the project's changelog. The one used in the current template project is the [Keep a Changelog][keep-a-changelog] approach. + +### Release flow + +The release process depends on the workflows already described above. When your main branch receives a new pull request or a regular push, the [Build](.github/workflows/build.yml) workflow runs multiple tests on your plugin and prepares a draft release. + +![Release draft][file:draft-release.png] + +The draft release is a working copy of a release, which you can review before publishing. It includes a predefined title and git tag, which is the current version of the plugin, for example, `v0.0.1`. The changelog is provided automatically using the [gradle-changelog-plugin][gh:gradle-changelog-plugin]. An artifact file is also built with the plugin attached. Every new Build overrides the previous draft to keep your *Releases* page clean. + +When you edit the draft and use the Publish release button, GitHub will tag your repository with the given version and add a new entry to the Releases tab. Next, it will notify users that are *watching* the repository, and it will trigger the final [Release](.github/workflows/release.yml) workflow. + +### Publishing the plugin + +Releasing a plugin to the Marketplace is a straightforward operation that uses the `publishPlugin` Gradle task provided by the [gradle-intellij-plugin][gh:gradle-intellij-plugin]. The [Release](.github/workflows/release.yml) workflow automates this process by running the task when a new release appears in the GitHub Releases section. + +> **TIP**: Set a suffix to the plugin version to publish it in the custom repository channel, i.e. `v1.0.0-beta` will +> push your plugin to the `beta` [release channel][docs:release-channel]. + +The authorization process relies on the `PUBLISH_TOKEN` secret environment variable, which has to be acquired through the Secrets section of the repository Settings. + +![Settings > Secrets][file:settings-secrets.png] + +You can get that token in the [My Tokens][jb:my-tokens] tab within your Marketplace profile dashboard. + +> **Important:** +> Before using the automated deployment process, it is necessary to manually create a new plugin in the Marketplace +> to specify options like the license, repository URL, etc. Please follow +> the [Publishing a Plugin][docs:publishing] instructions. + +## Useful links + +- [IntelliJ Platform SDK DevGuide][docs] +- [Marketplace Quality Guidelines][jb:quality-guidelines] +- [IntelliJ Platform UI Guidelines][jb:ui-guidelines] +- [Marketplace Paid Plugins][jb:paid-plugins] +- [Kotlin UI DSL][docs:kotlin-ui-dsl] +- [IntelliJ SDK Code Samples][gh:code-samples] +- [JetBrains Platform Slack][jb:slack] +- [JetBrains Platform Twitter][jb:twitter] +- [IntelliJ IDEA Open API and Plugin Development Forum][jb:forum] +- [Keep a Changelog][keep-a-changelog] +- [GitHub Actions][gh:actions] + +[docs]: https://www.jetbrains.org/intellij/sdk/docs +[docs:intro]: https://www.jetbrains.org/intellij/sdk/docs/intro/intellij_platform.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:publishing]: https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/publishing_plugin.html +[docs:release-channel]: https://www.jetbrains.org/intellij/sdk/docs/tutorials/build_system/deployment.html#specifying-a-release-channel +[docs:using-gradle]: https://www.jetbrains.org/intellij/sdk/docs/tutorials/build_system.html + +[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:plugin.xml]: ./src/main/resources/META-INF/plugin.xml +[file:run-debug-configurations.png]: .github/readme/run-debug-configurations.png +[file:settings-secrets.png]: .github/readme/settings-secrets.png +[file:template_cleanup.yml]: ./.github/workflows/template-cleanup.yml + +[gh:actions]: https://help.github.com/en/actions +[gh:code-samples]: https://github.com/JetBrains/intellij-sdk-code-samples +[gh:gradle-changelog-plugin]: https://github.com/JetBrains/gradle-changelog-plugin +[gh:gradle-intellij-plugin]: https://github.com/JetBrains/gradle-intellij-plugin +[gh:gradle-intellij-plugin-running-dsl]: https://github.com/JetBrains/gradle-intellij-plugin#running-dsl +[gh:gradle-intellij-plugin-verifier-dsl]: https://github.com/JetBrains/gradle-intellij-plugin#plugin-verifier-dsl +[gh:releases]: https://github.com/JetBrains/intellij-platform-plugin-template/releases +[gh:build]: https://github.com/JetBrains/intellij-platform-plugin-template/actions?query=workflow%3ABuild + +[jb:confluence-on-gh]: https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub +[jb:download-ij]: https://www.jetbrains.com/idea/download +[jb:forum]: https://intellij-support.jetbrains.com/hc/en-us/community/topics/200366979-IntelliJ-IDEA-Open-API-and-Plugin-Development +[jb:my-tokens]: https://plugins.jetbrains.com/author/me/tokens +[jb:paid-plugins]: https://plugins.jetbrains.com/docs/marketplace/paid-plugins-marketplace.html +[jb:quality-guidelines]: https://plugins.jetbrains.com/docs/marketplace/quality-guidelines.html +[jb:slack]: https://plugins.jetbrains.com/slack +[jb:twitter]: https://twitter.com/JBPlatform +[jb:ui-guidelines]: https://jetbrains.github.io/ui + +[keep-a-changelog]: https://keepachangelog.com +[detekt]: https://detekt.github.io/detekt +[gradle]: https://gradle.org +[gradle-kotlin-dsl]: https://docs.gradle.org/current/userguide/kotlin_dsl.html +[gradle-lifecycle-tasks]: https://docs.gradle.org/current/userguide/java_plugin.html#lifecycle_tasks +[kotlin-docs-dependency-on-stdlib]: https://kotlinlang.org/docs/reference/using-gradle.html#dependency-on-the-standard-library diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..010aab3 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,128 @@ +import io.gitlab.arturbosch.detekt.Detekt +import org.jetbrains.changelog.closure +import org.jetbrains.changelog.markdownToHTML +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + +plugins { + // Java support + id("java") + // Kotlin support + id("org.jetbrains.kotlin.jvm") version "1.4.20" + // gradle-intellij-plugin - read more: https://github.com/JetBrains/gradle-intellij-plugin + id("org.jetbrains.intellij") version "0.6.5" + // gradle-changelog-plugin - read more: https://github.com/JetBrains/gradle-changelog-plugin + id("org.jetbrains.changelog") version "0.6.2" + // detekt linter - read more: https://detekt.github.io/detekt/gradle.html + id("io.gitlab.arturbosch.detekt") version "1.14.2" + // ktlint linter - read more: https://github.com/JLLeitschuh/ktlint-gradle + id("org.jlleitschuh.gradle.ktlint") version "9.4.1" +} + +// Import variables from gradle.properties file +val pluginGroup: String by project +// `pluginName_` variable ends with `_` because of the collision with Kotlin magic getter in the `intellij` closure. +// Read more about the issue: https://github.com/JetBrains/intellij-platform-plugin-template/issues/29 +val pluginName_: String by project +val pluginVersion: String by project +val pluginSinceBuild: String by project +val pluginUntilBuild: String by project +val pluginVerifierIdeVersions: String by project + +val platformType: String by project +val platformVersion: String by project +val platformPlugins: String by project +val platformDownloadSources: String by project + +group = pluginGroup +version = pluginVersion + +// Configure project's dependencies +repositories { + mavenCentral() + jcenter() +} +dependencies { + detektPlugins("io.gitlab.arturbosch.detekt:detekt-formatting:1.14.2") +} + +// Configure gradle-intellij-plugin plugin. +// Read more: https://github.com/JetBrains/gradle-intellij-plugin +intellij { + pluginName = pluginName_ + version = platformVersion + type = platformType + downloadSources = platformDownloadSources.toBoolean() + updateSinceUntilBuild = true + + // Plugin Dependencies. Uses `platformPlugins` property from the gradle.properties file. + setPlugins(*platformPlugins.split(',').map(String::trim).filter(String::isNotEmpty).toTypedArray()) +} + +// Configure detekt plugin. +// Read more: https://detekt.github.io/detekt/kotlindsl.html +detekt { + config = files("./detekt-config.yml") + buildUponDefaultConfig = true + + reports { + html.enabled = false + xml.enabled = false + txt.enabled = false + } +} + +tasks { + // Set the compatibility versions to 1.8 + withType { + sourceCompatibility = "1.8" + targetCompatibility = "1.8" + } + withType { + kotlinOptions.jvmTarget = "1.8" + } + + withType { + jvmTarget = "1.8" + } + + patchPluginXml { + version(pluginVersion) + sinceBuild(pluginSinceBuild) + untilBuild(pluginUntilBuild) + + // Extract the section from README.md and provide for the plugin's manifest + pluginDescription( + closure { + File("./README.md").readText().lines().run { + val start = "" + val end = "" + + if (!containsAll(listOf(start, end))) { + throw GradleException("Plugin description section not found in README.md:\n$start ... $end") + } + subList(indexOf(start) + 1, indexOf(end)) + }.joinToString("\n").run { markdownToHTML(this) } + } + ) + + // Get the latest available change notes from the changelog file + changeNotes( + closure { + changelog.getLatest().toHTML() + } + ) + } + + runPluginVerifier { + ideVersions(pluginVerifierIdeVersions) + } + + publishPlugin { + dependsOn("patchChangelog") + token(System.getenv("PUBLISH_TOKEN")) + // pluginVersion is based on the SemVer (https://semver.org) and supports pre-release labels, like 2.1.7-alpha.3 + // Specify pre-release label to publish the plugin in a custom Release Channel automatically. Read more: + // https://jetbrains.org/intellij/sdk/docs/tutorials/build_system/deployment.html#specifying-a-release-channel + channels(pluginVersion.split('-').getOrElse(1) { "default" }.split('.').first()) + } +} diff --git a/detekt-config.yml b/detekt-config.yml new file mode 100644 index 0000000..f9b8d75 --- /dev/null +++ b/detekt-config.yml @@ -0,0 +1,8 @@ +# Default detekt configuration: +# https://github.com/detekt/detekt/blob/master/detekt-core/src/main/resources/default-detekt-config.yml + +formatting: + Indentation: + continuationIndentSize: 8 + ParameterListWrapping: + indentSize: 8 diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..fae45dc --- /dev/null +++ b/gradle.properties @@ -0,0 +1,22 @@ +# IntelliJ Platform Artifacts Repositories +# -> https://www.jetbrains.org/intellij/sdk/docs/reference_guide/intellij_artifacts.html + +pluginGroup = org.jetbrains.plugins.template +pluginName_ = IntelliJ Platform Plugin Template +pluginVersion = 0.7.1 +pluginSinceBuild = 201 +pluginUntilBuild = 203.* +# Plugin Verifier integration -> https://github.com/JetBrains/gradle-intellij-plugin#plugin-verifier-dsl +# See https://jb.gg/intellij-platform-builds-list for available build versions +pluginVerifierIdeVersions = 2020.1.4, 2020.2.3, 2020.3 + +platformType = IC +platformVersion = 2020.1 +platformDownloadSources = true +# Plugin Dependencies -> https://www.jetbrains.org/intellij/sdk/docs/basics/plugin_structure/plugin_dependencies.html +# Example: platformPlugins = com.intellij.java, com.jetbrains.php:203.4449.22 +platformPlugins = + +# Opt-out flag for bundling Kotlin standard library. +# See https://kotlinlang.org/docs/reference/using-gradle.html#dependency-on-the-standard-library for details. +kotlin.stdlib.default.dependency = false diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f GIT binary patch literal 59203 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

K7UpUK$>l@ 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 E2O(~oYXATM literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..1f3fdbc --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..4f906e0 --- /dev/null +++ b/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..107acd3 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..8ada61f --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1 @@ +rootProject.name = "IntelliJ Platform Plugin Template" diff --git a/src/main/kotlin/org/jetbrains/plugins/template/MyBundle.kt b/src/main/kotlin/org/jetbrains/plugins/template/MyBundle.kt new file mode 100644 index 0000000..19e949e --- /dev/null +++ b/src/main/kotlin/org/jetbrains/plugins/template/MyBundle.kt @@ -0,0 +1,21 @@ +package org.jetbrains.plugins.template + +import com.intellij.AbstractBundle +import org.jetbrains.annotations.NonNls +import org.jetbrains.annotations.PropertyKey + +@NonNls +private const val BUNDLE = "messages.MyBundle" + +object MyBundle : AbstractBundle(BUNDLE) { + + @Suppress("SpreadOperator") + @JvmStatic + fun message(@PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any) = getMessage(key, *params) + + @Suppress("SpreadOperator") + @JvmStatic + fun messagePointer(@PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any) = run { + message(key, *params) + } +} diff --git a/src/main/kotlin/org/jetbrains/plugins/template/listeners/MyProjectManagerListener.kt b/src/main/kotlin/org/jetbrains/plugins/template/listeners/MyProjectManagerListener.kt new file mode 100644 index 0000000..627a720 --- /dev/null +++ b/src/main/kotlin/org/jetbrains/plugins/template/listeners/MyProjectManagerListener.kt @@ -0,0 +1,13 @@ +package org.jetbrains.plugins.template.listeners + +import com.intellij.openapi.components.service +import com.intellij.openapi.project.Project +import com.intellij.openapi.project.ProjectManagerListener +import org.jetbrains.plugins.template.services.MyProjectService + +internal class MyProjectManagerListener : ProjectManagerListener { + + override fun projectOpened(project: Project) { + project.service() + } +} diff --git a/src/main/kotlin/org/jetbrains/plugins/template/services/MyApplicationService.kt b/src/main/kotlin/org/jetbrains/plugins/template/services/MyApplicationService.kt new file mode 100644 index 0000000..2997c27 --- /dev/null +++ b/src/main/kotlin/org/jetbrains/plugins/template/services/MyApplicationService.kt @@ -0,0 +1,10 @@ +package org.jetbrains.plugins.template.services + +import org.jetbrains.plugins.template.MyBundle + +class MyApplicationService { + + init { + println(MyBundle.message("applicationService")) + } +} diff --git a/src/main/kotlin/org/jetbrains/plugins/template/services/MyProjectService.kt b/src/main/kotlin/org/jetbrains/plugins/template/services/MyProjectService.kt new file mode 100644 index 0000000..df4b01f --- /dev/null +++ b/src/main/kotlin/org/jetbrains/plugins/template/services/MyProjectService.kt @@ -0,0 +1,11 @@ +package org.jetbrains.plugins.template.services + +import com.intellij.openapi.project.Project +import org.jetbrains.plugins.template.MyBundle + +class MyProjectService(project: Project) { + + init { + println(MyBundle.message("projectService", project.name)) + } +} diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml new file mode 100644 index 0000000..18c852d --- /dev/null +++ b/src/main/resources/META-INF/plugin.xml @@ -0,0 +1,19 @@ + + org.jetbrains.plugins.template + Template + JetBrains + + + + com.intellij.modules.platform + + + + + + + + + + diff --git a/src/main/resources/META-INF/pluginIcon.svg b/src/main/resources/META-INF/pluginIcon.svg new file mode 100644 index 0000000..6132908 --- /dev/null +++ b/src/main/resources/META-INF/pluginIcon.svg @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/messages/MyBundle.properties b/src/main/resources/messages/MyBundle.properties new file mode 100644 index 0000000..78dbb24 --- /dev/null +++ b/src/main/resources/messages/MyBundle.properties @@ -0,0 +1,3 @@ +name=My Plugin +applicationService=Application service +projectService=Project service: {0}