Skip to content

Commit

Permalink
Merge pull request #103 from asyncapi/Support-2024.2-IDE-releases
Browse files Browse the repository at this point in the history
feat: support 2024.2
  • Loading branch information
Pakisan authored Aug 27, 2024
2 parents 32933ea + 94dd100 commit 0619484
Show file tree
Hide file tree
Showing 11 changed files with 153 additions and 141 deletions.
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -126,4 +126,7 @@ gradle-app.setting

# End of https://www.toptal.com/developers/gitignore/api/gradle,intellij

.DS_Store
.DS_Store
/.idea
.intellijPlatform
.kotlin
9 changes: 0 additions & 9 deletions .idea/kotlinScripting.xml

This file was deleted.

4 changes: 2 additions & 2 deletions .idea/kotlinc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<ivy-module version="2.0">
<info organisation="bundledPlugin" module="org.jetbrains.plugins.yaml" revision="2024.2.0.2+665"/>
<configurations>
<conf name="default" visibility="public"/>
</configurations>
<publications>
<artifact name="/Users/pavelbodyachevskiy/.gradle/caches/8.10/transforms/44bd0f87823f31d8ddf00a60fee2320c/transformed/ideaIC-2024.2.0.2/plugins/yaml" type="directory" conf="default"/>
</publications>
<dependencies/>
</ivy-module>
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,37 @@
# Changelog

## 2.6.0+jre21
published to:
- [JetBrains marketplace](https://plugins.jetbrains.com/plugin/15673-asyncapi/versions/stable/520779)
- [GitHub](https://github.com/asyncapi/jasyncapi-idea-plugin/releases/tag/2.5.0%2Bjre17)

### Added

- IDEA 2024.2

### Fixed

- No fixes included

### Changed

- bump actions/checkout from 3 to 4
- bump actions/setup-node from 3 to 4
- bump actions/stale from 5.2.0 to 9.0.0
- bump amannn/action-semantic-pull-request from 5.2.0 to 5.5.3
- bump com.fasterxml.jackson.core:jackson-core from 2.15.0 to 2.17.2
- bump com.fasterxml.jackson.dataformat:jackson-dataformat-yaml from 2.15.0 to 2.17.2
- bump com.fasterxml.jackson.module:jackson-module-kotlin from 2.15.0 to 2.17.2
- bump hmarr/auto-approve-action from 3.2.1 to 4.0.0
- bump jvm from 1.9.23 to 2.0.20
- bump marocchino/sticky-pull-request-comment from 2.5.0 to 2.9.0
- bump org.jetbrains.intellij from 1.17.3 to 1.17.4
- bump org.junit.jupiter:junit-jupiter-api from 5.9.2 to 5.11.0
- bump org.junit.jupiter:junit-jupiter-engine from 5.9.2 to 5.11.0
- bump org.junit.vintage:junit-vintage-engine from 5.9.2 to 5.11.0
- bump pascalgn/automerge-action from 0.15.6 to 0.16.3


## 2.5.0+jre17
published to:
- [JetBrains marketplace](https://plugins.jetbrains.com/plugin/15673-asyncapi/versions/stable/520779)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ cd jasyncapi-idea-plugin

NOTE: This will take a while the first time as it will have to download every single version of IntelliJ IDEA listed in the `runPluginVerifier` section of the `build.gradle.kts` file.
```sh
./gradlew :runPluginVerifier
./gradlew :verifyPlugin
```
... should have no errors
5. install plugin from disk - [JetBrains Instruction](https://www.jetbrains.com/help/idea/managing-plugins.html#install_plugin_from_disk)
Expand Down
191 changes: 88 additions & 103 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,17 +1,36 @@
import org.jetbrains.intellij.platform.gradle.TestFrameworkType
import org.jetbrains.intellij.platform.gradle.tasks.VerifyPluginTask

plugins {
id("org.jetbrains.intellij") version "1.17.4"
id("org.jetbrains.intellij.platform") version "2.0.1"
java
kotlin("jvm") version "2.0.20"
}

group = "com.asyncapi.plugin.idea"
version = "2.5.0+jre17"
version = "2.6.0+jre17"

repositories {
mavenCentral()
intellijPlatform {
defaultRepositories()
}
}

dependencies {
intellijPlatform {
intellijIdeaCommunity("2024.2.0.2", useInstaller = false)

// Plugin Dependencies. Uses `platformBundledPlugins` property from the gradle.properties file for bundled IntelliJ Platform plugins.
bundledPlugins(listOf(
"org.jetbrains.plugins.yaml"
))

instrumentationTools()
pluginVerifier()
testFramework(TestFrameworkType.Platform)
}

implementation("com.fasterxml.jackson.core:jackson-core:2.17.2")
implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.17.2")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.17.2")
Expand All @@ -21,110 +40,76 @@ dependencies {
testRuntimeOnly("org.junit.vintage:junit-vintage-engine:5.11.0")
}

// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2024.1")
plugins.set(listOf("yaml"))
}
tasks.getByName<org.jetbrains.intellij.tasks.PatchPluginXmlTask>("patchPluginXml") {
sinceBuild.set("223")
untilBuild.set("241.*")
changeNotes.set("""
<h3>Added</h3>
<ul>
<li>IDEA 2024.1</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Incorrect validation of Multi Format Schema and bindings</li>
</ul>
<h3>Changed</h3>
<ul>
<li>2.0.0 schema validation and completion:<ul>
<li>Updated allowed extension name: <code>^x-[\w\d\-\_]+${'$'}</code> was changed to <code>^x-[\w\d\.\x2d_]+${'$'}</code></li>
<li>OpenAPI schema v3</li>
<li>Added <code>schemaFormat</code> to messages to recognize properly non AsyncAPI Schemas</li>
<li>Was updated <code>JsonSchema</code> Draft 07</li>
</ul>
</li>
<li>2.1.0 schema validation and completion:<ul>
<li>OpenAPI schema v3</li>
<li>Added <code>schemaFormat</code> to messages to recognize properly non AsyncAPI Schemas</li>
<li>Was updated <code>JsonSchema</code> Draft 07</li>
</ul>
</li>
<li>2.2.0 schema validation and completion:<ul>
<li>OpenAPI schema v3</li>
<li>Added <code>schemaFormat</code> to messages to recognize properly non AsyncAPI Schemas</li>
<li>Was updated <code>JsonSchema</code> Draft 07</li>
</ul>
</li>
<li>2.3.0 schema validation and completion:<ul>
<li>OpenAPI schema v3</li>
<li>Added <code>schemaFormat</code> to messages to recognize properly non AsyncAPI Schemas</li>
<li>Was updated <code>JsonSchema</code> Draft 07</li>
</ul>
</li>
<li>2.4.0 schema validation and completion:<ul>
<li>OpenAPI schema v3</li>
<li>Added <code>schemaFormat</code> to messages to recognize properly non AsyncAPI Schemas</li>
<li>Was updated <code>JsonSchema</code> Draft 07</li>
</ul>
</li>
<li>2.5.0 schema validation and completion:<ul>
<li>OpenAPI schema v3</li>
<li>Added <code>schemaFormat</code> to messages to recognize properly non AsyncAPI Schemas</li>
<li>Was updated <code>JsonSchema</code> Draft 07</li>
</ul>
</li>
<li>3.0.0 schema validation and completion:<ul>
<li>Bindings:<ul>
<li>Solace:<ul>
<li>server binding 0.4.0</li>
<li>operation binding 0.4.0</li>
</ul>
</li>
<li>HTTP:<ul>
<li>message binding 0.3.0</li>
<li>operation binding 0.3.0</li>
</ul>
</li>
</ul>
</li>
// See https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-extension.html
intellijPlatform {
instrumentCode = true

pluginConfiguration {
description = providers.fileContents(
layout.projectDirectory.file("src/main/resources/META-INF/description.html")
).asText

changeNotes = """
<h3>Added</h3>
<ul>
<li>IDEA 2024.2</li>
</ul>
</li>
</ul>
""".trimIndent())
""".trimIndent()
}

pluginVerification {
failureLevel = listOf(
VerifyPluginTask.FailureLevel.INVALID_PLUGIN,
VerifyPluginTask.FailureLevel.COMPATIBILITY_PROBLEMS,
VerifyPluginTask.FailureLevel.NOT_DYNAMIC
)

ides {
ides(listOf(
"2022.3",
"2022.3.1",
"2022.3.2",
"2022.3.3",
"2023.1",
"2023.1.1",
"2023.1.2",
"2023.1.3",
"2023.1.4",
"2023.1.5",
"2023.2",
"2023.2.1",
"2023.2.2",
"2023.2.3",
"2023.2.4",
"2023.2.5",
"2023.3",
"2023.3.1",
"2023.3.2",
"2023.3.3",
"2023.3.4",
"2023.3.5",
"2023.3.6",
"2023.3.7",
"2024.1",
"2024.1.1",
"2024.1.2",
"2024.1.3",
"2024.1.4",
"2024.1.5",
"2024.1.6",
"2024.2",
"2024.2.0.1",
"2024.2.0.2"
))
}
}
}

tasks.getByName<org.jetbrains.intellij.tasks.RunPluginVerifierTask>("runPluginVerifier") {
ideVersions.set(listOf(
"2022.3",
"2022.3.1",
"2022.3.2",
"2022.3.3",
"2023.1",
"2023.1.1",
"2023.1.2",
"2023.1.3",
"2023.1.4",
"2023.1.5",
"2023.2",
"2023.2.1",
"2023.2.2",
"2023.2.3",
"2023.2.4",
"2023.2.5",
"2023.3",
"2023.3.1",
"2023.3.2",
"2023.3.3",
"2023.3.4",
"2023.3.5",
"2023.3.6",
"2024.1"
))
verifierVersion.set("1.365")
tasks {
patchPluginXml {
sinceBuild = "223"
untilBuild = "242.*"
}
}

tasks {
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
13 changes: 13 additions & 0 deletions src/main/resources/META-INF/description.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<p>Edit <a href="https://www.asyncapi.com/">AsyncAPI</a> specifications in the IDE with syntax highlighting, auto-completion and a live preview.</p>
<div>
<h3>Features</h3>
<ul>
<li>Recognition of AsyncAPI specifications</li>
<li>AsyncAPI specification auto-completion</li>
<li>AsyncAPI specification example creation from <code>file -> new -> AsyncAPI specification</code></li>
<li>AsyncAPI specification inspection and validation using <a href="https://github.com/asyncapi/spec-json-schemas">AsyncAPI JSON Schema</a></li>
<li>Local references resolving with auto-completion in AsyncAPI specification</li>
<li>File references resolving with auto-completion in AsyncAPI specification</li>
<li>AsyncAPI specification preview as html in built-in/external browser</li>
</ul>
</div>
22 changes: 0 additions & 22 deletions src/main/resources/META-INF/plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,6 @@
<name>AsyncAPI</name>
<vendor email="[email protected]" url="https://www.asyncapi.com">AsyncAPI</vendor>

<description><![CDATA[
<h2>⚠️ This plugin doesn't support AsyncAPI 1.x</h2>
<p>Plugin to help you easily edit <a href="https://www.asyncapi.com/">AsyncAPI</a> specification files.</p>
<h3>Features</h3>
<ul>
<li>Recognition of AsyncAPI specifications.</li>
<li>AsyncAPI specification auto-completion.</li>
<li>AsyncAPI specification example creation from <code>file -> new -> AsyncAPI specification</code>.</li>
<li>AsyncAPI specification inspection and validation using <a href="https://github.com/asyncapi/spec-json-schemas">AsyncAPI JSON Schema</a>.</li>
<li>Local references resolving with auto-completion in AsyncAPI specification.</li>
<li>File references resolving with auto-completion in AsyncAPI specification.</li>
<li>AsyncAPI specification preview as html in built-in/external browser.</li>
</ul>
]]>
</description>

<!-- please see https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.html
on how to target different products -->
<depends>com.intellij.modules.platform</depends>
Expand All @@ -27,12 +11,6 @@
<extensions defaultExtensionNs="com.intellij">
<!-- Add your extensions here -->

<applicationService serviceImplementation="com.asyncapi.plugin.idea._core.AsyncAPISpecificationRecognizer"/>
<applicationService serviceImplementation="com.asyncapi.plugin.idea._core.AsyncAPISpecificationHtmlRenderer"/>
<applicationService serviceImplementation="com.asyncapi.plugin.idea._core.render.WebSocketRendererProvider"/>
<applicationService serviceImplementation="com.asyncapi.plugin.idea.extensions.web.UrlProvider"/>
<applicationService serviceImplementation="com.asyncapi.plugin.idea._core.AsyncAPIJsonSchemaProvider"/>

<!-- Templates for AsyncAPI specification example -->
<internalFileTemplate name="AsyncAPI specification 2 (yaml)"/>
<internalFileTemplate name="AsyncAPI specification 2 (json)"/>
Expand Down

0 comments on commit 0619484

Please sign in to comment.