Solvedgradle intellij plugin Integrate intellij-plugin-verifier

It would be nice if there was some kind of integration with the intellij-plugin-verifier to detect potential compatibility issues before the plugin is published. @serejke

16 Answers

✔️Accepted Answer

I've written a workaround for this problem in my Randomness plugin.

It will download the IDEs for you, so you don't have to pre-install them somewhere. Just copy the task from the link above, configure it (see below), and run it. That's it. This way, you don't have any OS-dependent paths in your configuration anywhere, and other people can replicate it without having to follow complicated instructions.

The IDEs are stored in the Gradle cache using the same method as the Gradle IntelliJ plugin, so you don't have to repeatedly download the IDEs.

You can configure it as follows:

runPluginVerifier {
    /// Required params
    // Name of the zip of your plugin in `build/distributions` (without `.zip`)
    pluginFileName = "intellij-randomness-$version"
    // The IDEs you want to verify against
    ides = ["IC-2018.1", "CL-2019.3"]

    /// Optional params
    // The version of the verifier plugin to use
    verifierVersion = "1.222"

Other Answers:

I've updated the script by copying the essential parts of the IdeaDependencyManager into the script (which is only a few lines anyway). Like the manager, the dependency is added to a separate, detached configuration, so it won't bloat your distribution files.

I don't really plan on expanding or improving it much further because it is, after all, only a workaround for a problem that is much better solved by integrating it into the Gradle IntelliJ plugin.

Thanks @YannCebron for letting me know about this issue 🙌

I just included in build.gradle:

apply from:''

runPluginVerifier {
    pluginFileName = "<name>-<version>"
    ides = ["IC-2019.3.5"]
    verifierVersion = "1.241"


./gradlew runPluginVerifier

it works like a charm. Thanks @FWDekker 👏

Related Issues:

gradle intellij plugin Integrate intellij-plugin-verifier
I've written a workaround for this problem in my Randomness plugin It will download the IDEs for you...
gradle No version of NDK matched the requested version 20.0.5594570. Versions available locally: 21.0.6113669
Can you check if there is any ndk-data locally in your sdk-directory? My SDK-Manager didn't show an ...
gradle 5.0 - OutOfMemoryError: Java heap space
you are using the latest version of gradle wrapper? (./gradlew -v should give you the latest gradle ...
gradle Allow the plugin DSL to expand properties as part of the version
Just to be clear my original post is not about plugin resolution management The plugin DSL that is u...
gradle Failed to build in Cl build machine
If you are using official Docker image with Gradle then make sure that gradle can access directory w...
kotlin dsl samples SourceSets - Groovy -> Kotlin DSL
@JLLeitschuh Thanks For Java Groovy DSL: How can I convert this to convert this to Kotlin? I have no...
gradle Could not determine Java version using executable (Java 10 build 10+44)
@namax's solution worked for me config gradle home to libexec path for me it's wish help ...
gradle Gradle 5.0-rc-* fails with OutOfMemoryError: GC overhead limit exceeded on multi-project build
Please make sure you have set enough memory in the project's The default was chang...
gradle JUnit Platform aka JUnit 5 Support
Just a quick update: Thanks to @ajoberstar's spikes and a discussion with the JUnit team we have a g...
spotless How to setup spotless for a git pre commit hook that only check changed files
Understood Following is my workaround now Hope it helps someone else who want to achieve this too. ...
kotlin dsl samples Using apply(from...) partial files android
@eskatos can you publish a demo with Android? I can't solve this problem too... ...
gradle Tooling API throws StreamCorruptedException: invalid type code: FF
I'm getting a similar exception but with invalid type code: 00 and with Java 1.8 and Gradle 5.4.1 in...
gradle Gradle Build daemon crashes if the environment variables contain non-ASCII characters
Can confirm this Expected Behavior Gradle daemon should not get killed unexpectedly Current Behavior...
jib Can't use Jib with Quarkus
@gunnarmorling @geoand @maxandersen @cmoulliard @OneCricketeer @sureshg @dgageot @saturnism @daggero...
gradle Could not determine java version from '10.0.1'[MAC OSX High Sierra]
Hope I'm in not too late Current Behavior While I was compiling jd-gui ...
gradle Design Specification for JUnit 5 Support
Do we have an (at least approximate) release date on this? I'm baffled that JUnit 5 and Gradle don't...
gradle Simple Java Scanner Input Gives NoSuchElementException
You can add this to the end of your build.gradle to define standardInput. When I attempt to compile ...
gradle jacoco hard requires test.exec
The JaCoCo plugin creates the jacocoTestReport task and wires it to the default test task I know it'...
gradle Regression when multi-module project's root project name has same name with nested module's directory
Why don't you try setting buildName? I have a multimodule project that the first level project name ...
gradle IntelliJ IDEA Gradle sync with Zulu 11.0.7 JDK on macOS throws newly created daemon process has a different context than expected
Uninstalling java zulu and installing open JDK worked for me I use sdkman and had the same problem w...
nextflow Syntax enhancement aka DLS-2
Ok just upload 19.0.0.modules-draft5-SNAPSHOT Things starts to become exciting This is a request for...
micronaut core No bean of type [javax.persistence.EntityManager] exists with Hibernate and Graal
I finally made the application run successfully with this change: bufferings/micronaut-hibernate-gra...
idea gitignore All files are marked as ignored
All right fix has been released with v3.1.2 Now it has to be accepted by the Jetbrains team. ...
idea gitignore NoClassDefFoundError, Version 3.2.0 on IntelliJ 2019.2
Ok let me clarify the whole situation here because we run into some chaos here .ignore plugin was su...
intellij rust Debugging broken in 2021.2 on Linux (LLDB)
Thanks for everyone helping us reproduce the issue! We've built a new LLDB bundle (based on LLVM ver...
flutter intellij Can't wrap widget list with new widget assist by Alt+Enter
@wisit-phusi I thought you may disable Dart Quick Assists (Alt+Enter) from IDE To make sure please o...
flutter intellij Android Studio device list shows "loading" and no devices connected
Search everywhere (Shift + Shift): Search for restart flutter daemon: Device should appear after thi...
flutter intellij Auto complete import is ignoring package imports
Fixed with those steps: Switched to beta and back to master clearing .packages .dart_tool directory ...
flutter intellij 'Build Project' action doesn't work for flutter projects
For anyone looking for a workaround From @darrellpf on April 30 ...
flutter intellij An improved console for logging.
I use the logging package for printing logs Being able to filter for loggerName (or parts of the .-s...
flutter intellij Android Studio stuck when creating new Flutter project(macOS)
Hi @HLQ-Struggle This is probably due to insufficient disk permission Can you please make sure you'v...
junit5 java.lang.NoSuchMethodError: org.junit.platform.commons.util.ReflectionUtils.tryToLoadClass Migrating to 5.4.0
Fixed by replacing: with: JDK: 11 Spring Boot: 2.1.2.RELEASE JUnit: 5.4.0 Maven: 3.6.0 Surefire: 3.0...
kotlinx.coroutines Introduce StateFlow
@erikc5000 @igorwojda Indeed the naming for constructor functions is quite a controversial issue her...
android ktx No resource identifier found for attribute 'appComponentFactory' in package 'android'
try this code cordova plugin add cordova-android-support-gradle-release --variable ANDROID_SUPPORT_V...
kotlinx.coroutines Compilation error on the androidTest configuration after updating to 1.3.6
I found 2 workarounds: Exclude the duplicated files: Exclude the kotlinx-coroutines-debug dependency...
kotlinx.coroutines Flow.shareIn and stateIn operators
📣 There is an important question on the design of sharing operators we need community help with ...
okhttp Android O StrictMode: Untagged socket detected
there would be negligible value to having such a tag Suppose a dev team sets penaltyDeath() for all ...
mockk Bug: Newer Objenesis 2.7 introduced in 1.9.3 is failing in Android Instrumented Tests
Any news on this? This can be worked-around globally by forcing objenesis 2.6: I am running the late...
koin java.lang.NoSuchMethodError: No virtual method elapsedNow-UwyO8pc()D in class Lkotlin/time/TimeMark
As a temp workaround you should set your KoinApplication.logger() to Level.ERROR or Level.NONE Or ju...
kotlinx.coroutines Default dispatcher and UI dispatcher support for iOS
@kamerok below is the implementation I'm currently using Updated for coroutines 1.0 and implemented ...
mockito kotlin How to mock a suspend function on an existing mock object?
With mockito-kotlin:2.1.0 : I'm not entirely sure though. I have mock A built and given to me Now I ...
koin Injection of ViewModels scoped to navGraphViewModels()
Here is a working version using viewModelStoreOwner and sharedViewModel : Is your feature request re...
mockk Cannot mockkstatic for Kotlin companion object static method
I believe that in this scenario as the calls are delegated to the companion object you should mock t...
kotlinx.serialization kotlin Multiplatform module: build errors
I received the same error message (Cannot access 'Serializable': it is internal in '') but ...
springdoc openapi using https
I fixed this with this: Given that the current url for swagger-ui uses https Then the generated serv...
Exposed Multiple databases
Syntactically I would find it more pleasing to have something like this: And when it's called withou...
kotlinx.coroutines Replacing Java Timer with Kotlin Coroutine Timer
You are welcome to use your startCoroutineTimer solution but we don't plan to a function like startC...
kotlinx.coroutines Help newbies to handle exceptions in coroutines
You can switch to async instead of launch and use await instead of join This way exceptions will per...
okhttp stream was reset: CANCEL and PROTOCOL_ERROR
The same problem happened in Http2 the okhttp version is 3.8.0 does it have a solution? ...
lwjgl3 Provide support for ARM64/M1 devices (Windows and macOS)
We're all green! 🎉 Users with access to ARM hardware should now be able to build and test LWJGL 3 l...