IntelliJ plugin for continuous OpenAPI linting using the Spectral OpenAPI linter

Overview

Spectral IntelliJ Plugin

SIT

This plugin is a wrapper for the tool Spectral, a linter for OpenApi schemas. It supports all Jetbrains IDEs starting at version 2020.3.

Features

Automatic Linting

Automatic linting of your OpenApi specifications and highlighting in your editor

Customizable Ruleset

Specify your own ruleset in the plugins settings, under Preferences -> Tools -> Spectral -> Ruleset. There you can select a file on your local machine or just paste the URL of a ruleset available on the internet e.g.: Schwarz IT API linting rules

The default ruleset comes bundled with the plugin and uses Spectrals recommended OAS ruleset.

Customizable File Matching pattern

The customization of file matching is possible under Preferences -> Tools -> Spectral -> Included files. By default, every JSON file will be linted with default pattern **.json by the plugin, when json file is opened. You can adjust this to **openapi*.json(e.g. matches openapi.json), so that some other json files, such as composer. json, package.json, will not be included and linted automatically.

Installation

From the Jetbrains Marketplace

The latest version of the plugin is available on the Jetbrains marketplace. To install it you can follow these steps:

  1. Open your Jetbrains IDE
  2. Go to Preferences -> Plugins and search for "Spectral"
  3. Click install on the first result

Building from source

  1. Checkout this repository
  2. Run ./gradlew buildPlugin
  3. Install the generated archive under build/distributions/spectral-intellij-plugin*.zip in your IDE ( See Install plugin from disk)
Comments
  • External references are not properly resolved using relative location

    External references are not properly resolved using relative location

    When I use $ref to refer a schema from external file (using relative path) the plugin incorrectly tries to locate this file relatively to "temp" directory, not the directory of main spec file. The expected behavior is described here: https://swagger.io/docs/specification/using-ref/:

    Remote Reference – $ref: 'document.json' Uses the whole document located on the same server and in the same location.

    • The element of the document located in the same folder – $ref: 'document.json#/myElement'
    • The element of the document located in the parent folder – $ref: '../document.json#/myElement'
    • The element of the document located in another folder – $ref: '../another-folder/document.json#/myElement'

    See attached file with an example. Plugin displays the error: ENOENT: no such file or directory, open 'c:\Users....\AppData\Local\Temp\included-openapi.yml'

    Same file is successfully processed with VS Code, Swagger Editor, etc.

    ref-issue.zip

    bug good first issue 
    opened by anikitin 4
  • Auto-reload or manual reload of Spectral ruleset file

    Auto-reload or manual reload of Spectral ruleset file

    I began using your great plugin for OpenAPI spec linting and noticed one thing. If I modify spectral ruleset file in the IDE (the same one I indicated in plugin settings) the changes are not automatically picked up by linter. So if I have API spec file opened I need to close it and then open again to ensure my changes in ruleset are applied.

    Would be really nice to have:

    • auto-detection of changes in local spectral ruleset which is used by plugin
    • an option (button) to reload ruleset and re-process open files (it might help if auto-detection is difficult, or ruleset has transitively included rulesets in different files, or ruleset is loaded via HTTP)
    enhancement 
    opened by anikitin 2
  • How can I debug the plugin?

    How can I debug the plugin?

    There are some strange issues, some my OpenAPI files are not properly handled by Spectral plugin, problems view is stuck and is not updated if I make changes... I cannot find the pattern. Swagger-cli and idea OpenAPI plugin handle this file properly.

    How can I see logs of Spectral plugin or debug output to nail down the issues?

    opened by anikitin 1
  • Enhancement: display plugin name and rule ID in the problem message

    Enhancement: display plugin name and rule ID in the problem message

    Since I also work with VS Code Spectral plugin I noticed one really helpful feature: VS Code plugin displays linter message with two additional fields which are really important for troubleshooting:

    • The name of the plugin which reported the error (one can have multiple ones contributing to the same problems list)
    • The name of the Spectral rule which triggered the message

    I wonder if similar visualization can be added to Idea plugin... Also would be great to see some debug output from plugin when it is handling a file if something goes wrong...

    vscode

    enhancement 
    opened by anikitin 1
  • spectral detected the php composer.json package file as openAPI documentation file

    spectral detected the php composer.json package file as openAPI documentation file

    Plugin detected the complete content in composer.json as invalid openAPI documentation in PhpStorm IDE. After I disabled the spectral plugin, then IDE will not detect the composer.json as invalid. see screenshot.

    Invalid detection: Screenshot 2022-02-05 at 16 23 10

    after disable plugin Screenshot 2022-02-05 at 16 29 56

    should it possible, if plugins should have whitelist or blacklist and should detect the openAPI file only?

    opened by vikbert 1
  • Added support for multiple glob patterns & improved debugging

    Added support for multiple glob patterns & improved debugging

    • Added support for specifying multiple glob patterns inside "included Files". They can be separated using a semicolon.
    • Improved debugging by writing the error message of spectral to the error log in case its execution fails
    • Made the changelog look a bit better by removing the tags around the dates
    opened by markbrockhoff 0
  • On Startup

    On Startup

    Description:

    -> Please provide a detailed description of your issue and a way to reproduce it

    Stacktraces:

    java.lang.UnsupportedOperationException: Failed to map jar://C:/Users/Tom.CORP/FaaWorkspace/FLXM/xsd_toJava_gen.zip!/ (filesystem com.intellij.openapi.vfs.impl.jar.JarFileSystemImpl@39a58096) into nio Path
    	at com.intellij.openapi.vfs.VirtualFile.toNioPath(VirtualFile.java:164)
    	at com.schwarzit.spectralIntellijPlugin.FileListener.lambda$prepareChange$0(FileListener.java:36)
    	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)
    	at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602)
    	at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
    	at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
    	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
    	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    	at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
    	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    	at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647)
    	at com.schwarzit.spectralIntellijPlugin.FileListener.prepareChange(FileListener.java:38)
    	at com.intellij.openapi.vfs.newvfs.AsyncEventSupport.lambda$runAsyncListeners$1(AsyncEventSupport.java:90)
    	at com.intellij.openapi.application.ReadAction.lambda$run$1(ReadAction.java:59)
    	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:873)
    	at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:68)
    	at com.intellij.openapi.application.ReadAction.run(ReadAction.java:58)
    	at com.intellij.openapi.vfs.newvfs.AsyncEventSupport.runAsyncListeners(AsyncEventSupport.java:90)
    	at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl.runAsyncListeners(RefreshQueueImpl.java:155)
    	at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl.lambda$queueSession$1(RefreshQueueImpl.java:93)
    	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$OTelMonitor.callWrapped(NonBlockingReadActionImpl.java:746)
    	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$OTelMonitor$MonitoredComputation.call(NonBlockingReadActionImpl.java:778)
    	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.insideReadAction(NonBlockingReadActionImpl.java:573)
    	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$attemptComputation$3(NonBlockingReadActionImpl.java:537)
    	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1086)
    	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:71)
    	at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:63)
    	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:128)
    	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:109)
    	at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:68)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:190)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:591)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:666)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:622)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:590)
    	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:177)
    	at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:68)
    	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:106)
    	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:71)
    	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.attemptComputation(NonBlockingReadActionImpl.java:537)
    	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$transferToBgThread$1(NonBlockingReadActionImpl.java:444)
    	at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:243)
    	at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:29)
    	at com.intellij.util.concurrency.BoundedTaskExecutor$1.executeFirstTaskAndHelpQueue(BoundedTaskExecutor.java:216)
    	at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:212)
    	at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:205)
    	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
    	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
    	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
    	at java.base/java.lang.Thread.run(Thread.java:833)
    
    
    opened by TasMot 0
  • Spectra Plugin failed

    Spectra Plugin failed

    Description:

    -> Please provide a detailed description of your issue and a way to reproduce it

    Stacktraces:

    java.lang.UnsupportedOperationException: Failed to map jar://C:/Users/Tom.CORP/.m2/repository/org/springframework/data/spring-data-jpa/2.6.5/spring-data-jpa-2.6.5.jar!/META-INF/spring.factories (filesystem com.intellij.openapi.vfs.impl.jar.JarFileSystemImpl@20a7bcd1) into nio Path
    	at com.intellij.openapi.vfs.VirtualFile.toNioPath(VirtualFile.java:164)
    	at com.schwarzit.spectralIntellijPlugin.FileListener.lambda$prepareChange$0(FileListener.java:36)
    	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)
    	at java.base/java.util.Collections$2.tryAdvance(Collections.java:4853)
    	at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
    	at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
    	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
    	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    	at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
    	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    	at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647)
    	at com.schwarzit.spectralIntellijPlugin.FileListener.prepareChange(FileListener.java:38)
    	at com.intellij.openapi.vfs.newvfs.AsyncEventSupport.lambda$runAsyncListeners$1(AsyncEventSupport.java:90)
    	at com.intellij.openapi.application.ReadAction.lambda$run$1(ReadAction.java:59)
    	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:873)
    	at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:68)
    	at com.intellij.openapi.application.ReadAction.run(ReadAction.java:58)
    	at com.intellij.openapi.vfs.newvfs.AsyncEventSupport.runAsyncListeners(AsyncEventSupport.java:90)
    	at com.intellij.openapi.vfs.newvfs.AsyncEventSupport$1.before(AsyncEventSupport.java:54)
    	at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:655)
    	at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:621)
    	at com.intellij.util.messages.impl.MessageBusImplKt.executeOrAddToQueue(MessageBusImpl.kt:466)
    	at com.intellij.util.messages.impl.ToDirectChildrenMessagePublisher.publish$intellij_platform_core(CompositeMessageBus.kt:259)
    	at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:421)
    	at jdk.proxy2/jdk.proxy2.$Proxy52.before(Unknown Source)
    	at com.intellij.openapi.vfs.impl.VirtualFileManagerImpl.lambda$notifyPropertyChanged$2(VirtualFileManagerImpl.java:210)
    	at com.intellij.openapi.application.WriteAction.lambda$run$1(WriteAction.java:86)
    	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithClass(ApplicationImpl.java:943)
    	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:969)
    	at com.intellij.openapi.application.WriteAction.run(WriteAction.java:85)
    	at com.intellij.openapi.vfs.impl.VirtualFileManagerImpl.lambda$notifyPropertyChanged$3(VirtualFileManagerImpl.java:207)
    	at com.intellij.openapi.application.constraints.ConstrainedTaskExecutor.lambda$submit$1(ConstrainedTaskExecutor.java:41)
    	at com.intellij.openapi.application.constraints.ConstrainedTaskExecutor.lambda$submit$4(ConstrainedTaskExecutor.java:64)
    	at com.intellij.openapi.application.constraints.BaseConstrainedExecution$Companion.scheduleWithinConstraints$inner(BaseConstrainedExecution.kt:67)
    	at com.intellij.openapi.application.constraints.BaseConstrainedExecution$Companion.access$scheduleWithinConstraints$inner(BaseConstrainedExecution.kt:39)
    	at com.intellij.openapi.application.constraints.BaseConstrainedExecution$Companion$scheduleWithinConstraints$inner$$inlined$Runnable$1.run(Runnable.kt:24)
    	at com.intellij.openapi.application.impl.AppUIExecutorImpl$later$1$schedule$$inlined$Runnable$1.run(Runnable.kt:20)
    	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
    	at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:21)
    	at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
    	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:813)
    	at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:429)
    	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:74)
    	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:114)
    	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:36)
    	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
    	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:779)
    	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:730)
    	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:724)
    	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:749)
    	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:909)
    	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:756)
    	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$5(IdeEventQueue.java:437)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:774)
    	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:436)
    	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
    	at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:615)
    	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:434)
    	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:813)
    	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:480)
    	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
    	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
    	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
    	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
    	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
    	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
    
    
    opened by TasMot 0
  • Update version of embedded spectral

    Update version of embedded spectral

    The version of the embedded spectral is 6.2.1.

    The latest version of spectral is 6.6.0.

    Unfortunately, the older version contains backward compatibility issues, most significantly around how aliases are defined. (see https://github.com/stoplightio/spectral/pull/2085 and https://github.com/stoplightio/spectral/pull/2033)

    The latest spectral URL style guide makes use of aliases; without the latest version of spectral, this style guide cannot be used as is.

    opened by yspotts 0
  • Error

    Error

    Description:

    -> Please provide a detailed description of your issue and a way to reproduce it

    Stacktraces:

    java.lang.UnsupportedOperationException: Failed to map dbSrc:///59652a91 (filesystem com.intellij.database.dataSource.srcStorage.DbSrcFileSystem@21784f81) into nio Path
    	at com.intellij.openapi.vfs.VirtualFile.toNioPath(VirtualFile.java:162)
    	at com.schwarzit.spectralIntellijPlugin.FileListener.lambda$prepareChange$0(FileListener.java:36)
    	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:176)
    	at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1632)
    	at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127)
    	at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502)
    	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488)
    	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
    	at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
    	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    	at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:543)
    	at com.schwarzit.spectralIntellijPlugin.FileListener.prepareChange(FileListener.java:38)
    	at com.intellij.openapi.vfs.newvfs.AsyncEventSupport.lambda$runAsyncListeners$1(AsyncEventSupport.java:90)
    	at com.intellij.openapi.application.ReadAction.lambda$run$1(ReadAction.java:52)
    	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:865)
    	at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:61)
    	at com.intellij.openapi.application.ReadAction.run(ReadAction.java:51)
    	at com.intellij.openapi.vfs.newvfs.AsyncEventSupport.runAsyncListeners(AsyncEventSupport.java:90)
    	at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl.runAsyncListeners(RefreshQueueImpl.java:147)
    	at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl.lambda$scheduleAsynchronousPreprocessing$4(RefreshQueueImpl.java:107)
    	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.insideReadAction(NonBlockingReadActionImpl.java:521)
    	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$attemptComputation$3(NonBlockingReadActionImpl.java:486)
    	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1084)
    	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:75)
    	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:158)
    	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:115)
    	at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:57)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:624)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:698)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:646)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:623)
    	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175)
    	at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:57)
    	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:112)
    	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:75)
    	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.attemptComputation(NonBlockingReadActionImpl.java:486)
    	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$transferToBgThread$1(NonBlockingReadActionImpl.java:407)
    	at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:246)
    	at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:32)
    	at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:225)
    	at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:213)
    	at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:214)
    	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    	at java.base/java.security.AccessController.doPrivileged(Native Method)
    	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    	at java.base/java.lang.Thread.run(Thread.java:829)
    
    opened by mnomansadiq 0
  • IDE error occurred

    IDE error occurred

    Description:

    -> Please provide a detailed description of your issue and a way to reproduce it

    Stacktraces:

    com.intellij.diagnostic.PluginException: annotator: com.schwarzit.spectralIntellijPlugin.SpectralExternalAnnotator@42f922d1 (class com.schwarzit.spectralIntellijPlugin.SpectralExternalAnnotator) [Plugin: com.schwarzit.spectral-intellij-plugin]
    	at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:23)
    	at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:83)
    	at com.intellij.codeInsight.daemon.impl.ExternalToolPass.processError(ExternalToolPass.java:274)
    	at com.intellij.codeInsight.daemon.impl.ExternalToolPass.doApply(ExternalToolPass.java:240)
    	at com.intellij.codeInsight.daemon.impl.ExternalToolPass.doApply(ExternalToolPass.java:229)
    	at com.intellij.codeInsight.daemon.impl.ExternalToolPass$1.lambda$run$1(ExternalToolPass.java:196)
    	at com.intellij.openapi.application.ReadAction.lambda$run$1(ReadAction.java:59)
    	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:941)
    	at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:68)
    	at com.intellij.openapi.application.ReadAction.run(ReadAction.java:58)
    	at com.intellij.codeInsight.daemon.impl.ExternalToolPass$1.lambda$run$2(ExternalToolPass.java:193)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:608)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:683)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:639)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:607)
    	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175)
    	at com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(BackgroundTaskUtil.java:365)
    	at com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(BackgroundTaskUtil.java:343)
    	at com.intellij.codeInsight.daemon.impl.ExternalToolPass$1.run(ExternalToolPass.java:191)
    	at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:332)
    	at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:322)
    	at com.intellij.util.ui.update.MergingUpdateQueue.lambda$flush$1(MergingUpdateQueue.java:271)
    	at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:285)
    	at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:240)
    	at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:241)
    	at com.intellij.util.Alarm$Request.runSafely(Alarm.java:388)
    	at com.intellij.util.Alarm$Request.run(Alarm.java:377)
    	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    	at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:223)
    	at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:241)
    	at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:31)
    	at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:214)
    	at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:212)
    	at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:203)
    	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
    	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
    	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
    	at java.base/java.lang.Thread.run(Thread.java:833)
    Caused by: com.intellij.diagnostic.PluginException: Range must be inside element being annotated: (0,921); but got: (945,949)
    	at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:23)
    	at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:83)
    	at com.intellij.codeInsight.daemon.impl.B.range(B.java:169)
    	at com.schwarzit.spectralIntellijPlugin.SpectralExternalAnnotator.lambda$apply$2(SpectralExternalAnnotator.java:104)
    	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
    	at com.schwarzit.spectralIntellijPlugin.SpectralExternalAnnotator.apply(SpectralExternalAnnotator.java:100)
    	at com.schwarzit.spectralIntellijPlugin.SpectralExternalAnnotator.apply(SpectralExternalAnnotator.java:29)
    	at com.intellij.codeInsight.daemon.impl.AnnotationHolderImpl.applyExternalAnnotatorWithContext(AnnotationHolderImpl.java:249)
    	at com.intellij.codeInsight.daemon.impl.ExternalToolPass.doApply(ExternalToolPass.java:237)
    	... 40 more
    
    
    opened by Orussa 0
  • Error when opening Intellij after installing the plugin

    Error when opening Intellij after installing the plugin

    Description:

    After installing this plugin, I get the below error whenever I open a new project and the Lint ruleset does not work

    Stacktraces:

    java.lang.UnsupportedOperationException: Failed to map dbSrc:///d319e386 (filesystem com.intellij.database.dataSource.srcStorage.DbSrcFileSystem@5499d1fc) into nio Path
    	at com.intellij.openapi.vfs.VirtualFile.toNioPath(VirtualFile.java:164)
    	at com.schwarzit.spectralIntellijPlugin.FileListener.lambda$prepareChange$0(FileListener.java:36)
    	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)
    	at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602)
    	at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
    	at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
    	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
    	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    	at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
    	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    	at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647)
    	at com.schwarzit.spectralIntellijPlugin.FileListener.prepareChange(FileListener.java:38)
    	at com.intellij.openapi.vfs.newvfs.AsyncEventSupport.lambda$runAsyncListeners$1(AsyncEventSupport.java:90)
    	at com.intellij.openapi.application.ReadAction.lambda$run$1(ReadAction.java:59)
    	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:941)
    	at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:68)
    	at com.intellij.openapi.application.ReadAction.run(ReadAction.java:58)
    	at com.intellij.openapi.vfs.newvfs.AsyncEventSupport.runAsyncListeners(AsyncEventSupport.java:90)
    	at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl.runAsyncListeners(RefreshQueueImpl.java:155)
    	at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl.lambda$queueSession$1(RefreshQueueImpl.java:93)
    	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.insideReadAction(NonBlockingReadActionImpl.java:536)
    	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$attemptComputation$3(NonBlockingReadActionImpl.java:501)
    	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1154)
    	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:75)
    	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:158)
    	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:115)
    	at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:66)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:608)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:683)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:639)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:607)
    	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175)
    	at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:66)
    	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:112)
    	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:75)
    	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.attemptComputation(NonBlockingReadActionImpl.java:501)
    	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$transferToBgThread$1(NonBlockingReadActionImpl.java:408)
    	at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:241)
    	at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:31)
    	at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:214)
    	at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:212)
    	at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:203)
    	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
    	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
    	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
    	at java.base/java.lang.Thread.run(Thread.java:833)
    
    
    opened by pexa-nkarunanandham 0
Releases(v1.0.2)
Owner
Schwarz IT
Schwarz IT
This plugin adds cfn-nag linting support to CloudFormation yaml and json files.

cfn-nag-intellij-plugin This plugin adds cfn-nag linting support to CloudFormation yaml and json files. Cfn-nag must be installed separately. Installa

MMT Digital 6 Jun 23, 2022
OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)

OpenAPI Generator Master (5.4.x): 6.0.x (6.0.x): ⭐ ⭐ ⭐ If you would like to contribute, please refer to guidelines and a list of open tasks. ⭐ ⭐ ⭐ ‼️

OpenAPI Tools 14.8k Dec 30, 2022
OpenAPI JSON Schema Generator allows auto-generation of API client libraries with a focus on JSON schema given an OpenAPI Spec

OpenAPI JSON Schema Generator IMPORTANT: before the first release, one will need to build the project locally to use the enhancements, bug fixes in th

OpenAPI Tools 5 Dec 31, 2022
An intelliJ plugin providing a UI layer for git-flow, which in itself is a collection of Git extensions to provide high-level repository operations for Vincent Driessen's branching model.

Git Flow Integration Plus for Intellij An intelliJ plugin providing a UI layer for git-flow, which in itself is a collection of Git extensions to prov

RubinCarter 35 Nov 8, 2022
Find solutions for the Cognizant Early Engagement Program [ Continuous Skill Development ].

Cognizant-Early-Engagement Early Engagement is a learning portal offered by Cognizant, where you can learn basic concepts of Java, Sql, Web Develepome

Saravana Kumar 176 Jan 3, 2023
This is a Maven plugin designed to help developers automatizing the creation of code classes from YML files based on AsyncApi and OpenAPI.

SCS MultiApi Maven Plugin This is a Maven plugin designed to help developers automatizing the creation of code classes from YML files based on AsyncAp

Corunet 0 Dec 20, 2022
Supports the development of Spryker applications with Intellij Integration.

SprykerKit - intellij plugin for spryker file generation integrated into your ide Supports the development of Spryker applications with Intellij IDEA.

valantic CX 3 Oct 13, 2022
Tuya 37 Dec 26, 2022
OpenApi Generator - REST Client Generator

Quarkus - Openapi Generator Welcome to Quarkiverse! Congratulations and thank you for creating a new Quarkus extension project in Quarkiverse! Feel fr

Quarkiverse Hub 46 Jan 3, 2023
Community extension to generate a Java client from the provided Camunda 7 OpenAPI descitpion and also warp it into Spring Boot

Camunda Engine OpenAPI REST Client Java and Spring Boot This community extension is a convenience wrapper around the generated Java client from the Ca

Camunda Community Hub 29 Dec 28, 2022
trying to create a plugin using the spigot api! this plugin will be responsible for delivering the products according to the settings!

KettraShop "simples plugin de ativação de produtos da loja, dentro do Minecraft" ⚙️ Configurações caso você não tenha uma loja virtual para seu servid

SEBASTIAN JN ฅ^•ﻌ•^ฅ 4 Nov 2, 2022
A bukkit/spigot plugin to add custom music discs using the Simple Voice Chat API.

Custom Discs 1.19 A spigot/bukkit fork of henkelmax's Audio Player. Play custom music discs using the Simple Voice Chat API. (The voice chat mod is re

null 21 Dec 22, 2022
✨LiteFlowX is an idea plugin to increase productivity when using the LiteFlow framework.

LiteFlowX English | 简体中文 LiteFlowX is designed to increase productivity when you use the LiteFlow framework. ?? LiteFlowX Features: Support for LiteFl

码农小易 13 Dec 15, 2022
Search API with spelling correction using ngram-index algorithm: implementation using Java Spring-boot and MySQL ngram full text search index

Search API to handle Spelling-Corrections Based on N-gram index algorithm: using MySQL Ngram Full-Text Parser Sample Screen-Recording Screen.Recording

Hardik Singh Behl 5 Dec 4, 2021
An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or to turn an existing project into a devops project using open source software (Git, Docker, Jenkins..)

DevOpsify Description An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or t

obaydah bouifadene 14 Nov 8, 2022
FactionRanking is a plugin that allows server administrators to put factions in competition in different rankings

Description FactionRanking is a plugin that allows server administrators to put factions in competition in different rankings (working for 1.7 and hig

nz 8 Dec 22, 2022
An open source Minecraft plugin that allows operators to control who has access to the nether.

Nether Access Controller Description Nether Access Controller is a Minecraft plugin that allows operators to control access to the nether. It is essen

Daniel Stephenson 2 Feb 12, 2022
Minecraft Hug Plugin

Hug Sometimes virtual hugs are better than IRL hugs because you don't actually have to touch anyone. Hug makes it possible to hug another player on th

Stuart Duncan 5 Sep 7, 2022
GodType is a very simple Bukkit plugin to allow the console (or a player) to chat as a defined name.

GodType GodType is a very simple Bukkit plugin to allow the console (or a player) to chat as a defined name. Config A config.yml file will be created

null 1 Dec 24, 2021