How do intellij.version and sinceBuild (untilBuild) relate to each other? - intellij-idea

I have version in intellij block in build.gradle.kts:
intellij {
version.set("2021.2.1")
type.set("IC")
plugins.set(listOf("android"))
}
and patchPluginXml:
patchPluginXml {
sinceBuild.set("212")
untilBuild.set("223.*")
}
here sinceBuild is set accordingly to intellij.version. but is this correct? which relations should have this properties? can I set sinceBuild lower than intellij.version?

The version in the intellij block is the version (number) of IntelliJ gradle will use to build the plugin.
As a result, this is also the IntelliJ version used for the sandbox IDE when you run gradle runIde.
The sinceBuild and untilBuild are the version numbers that specify the range of IntelliJ versions the plugin (build with version) supports.
You basically give users a guarantee that your plugin works with any IntelliJ version within this range.
When you upload a plugin to the market place, your plugin will be verified against all these versions by the IntelliJ Plugin Verifier.
You can also do this yourself with the runPluginVerifier task.
So, yes, you can set sinceBuild lower than version and probably should.
More often than not you want to test and build for the newest release while still supporting a few older versions.
With your current settings (version is 2021.2.1, sinceBuild is 212, and untilBuild is 223.*), your plugin will be built with 2021.2.1 and you promise users that your plugin will work with any IntelliJ version from 2021.2.1 until 2022.3.*.
When anyone tries to install your plugin with an IntelliJ older or newer than the specified range they will get a message saying that your plugin is not compatible with their IntelliJ version.

Related

InteliJ desktop compose project compile issue

I am making a desktop app using Kotlin compose(IntelliJ version 2021.2.1). My project is still running but I am getting these compile errors in the kotlin compose code.
"Check your module classpath for missing or conflicting dependencies"
Here are my project configurations
As a solution, I removed cashe in .gradle and restart IDE with invalidating cashe but didn't work. and changed JDK versions and kotlin versions as well but still getting the same output.
Your project uses pretty outdated versions of both kotlin and Compose.
Check out that your Compose Multiplatform IDE Support plugin is up to date, the latest version for today is 1.0.0-alpha4-build331
Latest versions of plugins for build.gradle.kts:
kotlin("jvm") version "1.5.21"
id("org.jetbrains.compose") version "1.0.0-alpha3"

Kotlin 5.21 in IntelliJ IDEA

I have imported an existing Maven project into IntelliJ IDEA 2021.2. The Maven project uses Kotlin version 1.5.21. However, I get a warning that the version in Maven is incompatible with the version of the IntelliJ plugin, which is 1.5.10 and is the latest available. Is there a way to use Kotlin 1.5.21 in the latest version of IDEA?
Try Settings > Languages & Frameworks > Kotlin > Update channel > Early Access Preview 1.5.x
I don't think the difference in version really matters, but this might be interesting for you.
You can't update to the newest version of Kotlin plugin on 2021.2 for now. See - https://youtrack.jetbrains.com/issue/KTIJ-18848

Protocol Buffer Editor for IntelliJ

I'm running with IntelliJ version 2019.2 Ultimate, which is the version I purchased (i.e. perpetual license for this version).
And, I'm tyring to install a Protocol Buffer plugin for IDEA from https://plugins.jetbrains.com/plugin/14004-protocol-buffer-editor
Since it would not install (not even available in the Marketplace from the IDE), I decided to try to build it from this source: https://github.com/jvolkman/intellij-protobuf-editor and I managed to build the plugin jar.
Tried to install it manually to the IDE but it wont accept the plugin (similar to all the jars from the release page)
Is there a way to have Protocol Buffer plugin work with IntelliJ 2019.2 (and related versions)?

Custom Intellij plugin not working in older version from the version its created on

I have created a Intellij idea plugin with java and gradle by using intelli idea 2020.2.2 and its working fine in intellij 2020.2.2 and its higher version but while i am trying to use it in older versions like 2020.1.X or other older version its not working show "Incompatible with this installation" issue.
I want to use this custom plugin also with older verion.enter image description here

Lombok incompatible with IntelliJ 2020.2

After the last update to IntelliJ 2020.2 i get the Error:
Plugin "Lombok" is incompatible (until build 201.SNAPSHOT < IC-202.6397.94).
I've searched for the problem, but it seems that i'm the only one who has the problem with this IntelliJ version.
The solution for me was:
Uninstall Lombok Plugin
Invalidate Caches & Restart
Install Lombok plugin 0.30 EAP
Invalidate Caches & Restart
Additional issues mentioned here.
I made an update this morning. Everything works. Intellj indicates that it is not compatible, but treats it correctly when updating. The validation of Intellj is incorrect because Lombok delivers the compatibility in the same version.
See: https://plugins.jetbrains.com/plugin/6317-lombok
A new version of lombok was released here:
Lombok
Just download the .jar file and install the plugin from disk.
It seems that IntelliJ is not installing automatically new version of lombok plugin.
Let's uninstall -> restart IDE -> Install Lombok plugin. (now you will have new version installed)
I had the same problem for 3 plugins, I solved by:
File -> Invalidated caches / restart
The plugin is incompatible with the new version of IntelliJ.
Before validating update to version 2020.2 IntelliJ displays a message of incompatibles plugins and Lombok is one of them:
You have the option to go back to IntelliJ version 2020.1 and wait for an update of Lombok
Just take the last Intellij 2020.2 RC build (which fix this bug) on : https://confluence.jetbrains.com/display/IDEADEV/IDEA+2020.2+latest+builds
And be careful to also install last lombok intellij plugin (0.30.1).
This issue is detailed on https://github.com/mplushnikov/lombok-intellij-plugin/issues/649 and is not entirelly the fault of the plugin (that's why intellij RC must be also installed)
Obviously this solution should be preferred while waiting for a final Intellij 2020.2.1 version.
More detailled information on https://youtrack.jetbrains.com/issue/IDEA-248146 (minimum build version for fix is IntelliJ IDEA 2020.2.1 RC Build #IC-202.6948.36, built on August 18, 2020)
A new version of the Lombok plugin is bundled with newer versions of IntelliJ. If you have an older version of the plugin already installed and you upgrade IntelliJ, IntelliJ may get stuck in a state that requires manually uninstalling the older plugin.
It appears this is because the older Lombok plugin is incompatible with the newer version of IntelliJ, and the newer plugin is bundled, so it can neither be uninstalled nor upgraded. However, they are not properly treated as two separate plugins, resulting in a plugin incompatible with the installed version of IntelliJ, can't be upgraded, and can't be uninstalled.
To get rid of this conflict:
stop IntelliJ
delete the plugin directory from the file system; If you have Jetbrains Toolbox, go to IntelliJ IDEA settings, and copy the install location. Remove the Lombok plugin directory rm -rf lombok-plugin
start IntelliJ
feel free to enable the Lombok plugin, and this would be the bundled one now.
Installed latest version(2020.3) of intellij and issue resolved for me.
I basically had to reinstall it twice. This is what I did to resolve the issue:
Uninstall the plugin
Invalidate caches and restart
Install the plugin (issue remained)
Uninstalled the plugin a second time
Restart (no invalidate cache this time)
Install plugin again (issue resolved)
I think someone else mentioned that the plugin does not get installed correctly the first time.