Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support 2024.2 #103

Merged
merged 5 commits into from
Aug 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading