IntelliJ Kotlin build does nothing - kotlin

I have seen the following issue repeatedly while building multiple Kotlin projects using IntelliJ IDEA Ultimate Build #IU-222.3739.54 (August 2022) and Kotlin plugin 222-1.7.10-release-334-IJ3739.54:
After making a change to existing sources and attempting to run a functional test I get an error such as:
Kotlin: Cannot find a parameter with this name: plan_type
The change I just made was adding the said enumeration to an existing enum class. Checking the logs I see mention of the alleged compilation error that gets displayed in the IDE:
2022-09-06 18:03:51,521 [1573161] INFO - #c.i.c.ComponentStoreImpl - Saving appEditorSettings took 15 ms, FileTypeManager took 14 ms
2022-09-06 18:04:14,831 [1596471] INFO - #c.i.c.i.CompileDriver - COMPILATION STARTED (BUILD PROCESS)
2022-09-06 18:04:15,975 [1597615] INFO - #c.i.c.s.BuildManager - Using preloaded build process to compile /Users/lexluthor/Workspaces/billing-service
2022-09-06 18:04:15,994 [1597634] INFO - #o.j.k.i.s.r.KotlinCompilerReferenceIndexStorage - KCRI storage is closed
2022-09-06 18:04:16,013 [1597653] INFO - #c.i.c.b.CompilerReferenceServiceBase - backward reference index reader is closed
2022-09-06 18:05:33,532 [1675172] INFO - #o.j.k.i.s.r.KotlinCompilerReferenceIndexStorage - KCRI storage is opened: took 50 ms for 1 storages (filling map: 47 ms, flush to storage: 3 ms)
2022-09-06 18:05:33,551 [1675191] INFO - #c.i.c.b.CompilerReferenceServiceBase - backward reference index reader is opened
2022-09-06 18:05:33,886 [1675526] INFO - #c.i.c.i.CompilerUtil - COMPILATION FINISHED (BUILD PROCESS); Errors: 1; warnings: 0 took 79046 ms: 1 min 19sec
2022-09-06 18:05:34,264 [1675904] INFO - #c.i.c.s.BuildManager - BUILDER_PROCESS [stdout]: Build process started. Classpath: /Users/lexluthor/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/222.3739.54/IntelliJ IDEA.app/Contents/plugins/java/lib/jps-launcher.jar
2022-09-06 18:05:46,991 [1688631] INFO - #c.i.c.ComponentStoreImpl - Saving Project(name=billing-service, containerState=COMPONENT_CREATED, componentStore=/Users/lexluthor/Workspaces/billing-service)RunManager took 18 ms
COMPILATION FINISHED (BUILD PROCESS); Errors: 1
There doesn't appear to be any mention of the said error anywhere else in the log output. Here's some additional observations I have made:
The issue only occurs when building a Kotlin project using Gradle and the language version is 1.7.0 or 1.7.10. The issue does not occur if I set the language version to either 1.6.21 or 1.7.20-Beta.
The issue only occurs when using the IntelliJ IDEA builder under Gradle Settings: Preferences | Build, Execution, Deployment | Build Tools | Gradle | Gradle Projects | Build and run | Build and run using. Switching to the Gradle builder in the aforementioned settings allows me to build the project without any errors. Subsequently switching back to the IntelliJ IDEA builder after a successful Gradle build appears to fix the issue in the IDE.
The issue cannot be easily reproduced on a trivial project. I have not been able to reproduce the issue using a demo project generated using Spring Initilzr but I experience this issue frequently while making trivial changes to existing, medium-size, Kotlin projects and the previous two conditions are met.
I have searched the issue in JetBrains YouTrack without success..

I received an answer to this question from JetBrains technical support that I thought of sharing here for the benefit of anyone else who has come across this issue:
From my checking, your issue looks the same as the https://youtrack.jetbrains.com/issue/KT-53168/
There is a bug in the incremental compilation which is fixed in the 1.7.20-Beta.
You could use the 1.7.20-Beta for it currently or use other workarounds (like Gradle builder)

Related

Intellij Project- Can't Get Cucumber Feature to Compile, Error: javac 19 was used to compile java sources

Edit: having a hard time posting links because it says it needs to be code? I'll post links to images in the comments.
New to all things Java related, trying out Cucumber School and the first project is driving me crazy. I've searched Google high and low but I keep getting the error below. I'll post screenshots that anyone may find relevant below that, too.
Here's the output:
Executing pre-compile tasks...
Running 'before' tasks
Checking sources
Copying resources... shouty
Parsing java… tests of shouty
Checking dependencies… tests of shouty
Dependency analysis found 0 affected files
Errors occurred while compiling module 'tests of shouty'
javac 19 was used to compile java sources
Finished, saving caches…
Compilation failed: errors: 1; warnings: 0
Executing post-compile tasks...
Compilation failed: errors: 1; warnings: 0
Synchronizing output directories...
10/16/2022 8:36 AM - Build completed with 1 error and 0 warnings in 2 sec, 13 ms
If there's anything else I can provide, please let me know. Thank you in advance!

JOOQ 3.17.1 appears to be generating source that won't work with Java 11

After upgrading to jooq 3.17.1 I get the following error:
Error:
/home/runner/work/waste-coordinator/waste-coordinator/webapp/target/generated-sources/jooq/com/myapp/portal/backend/jooq/tables/LoadView.java:[521,84]
text blocks are not supported in -source 11 Error: (use -source 15
or higher to enable text blocks)
It appears to me that it is generating source that is not compatible with JDK11. Is there a flag in the generator somewhere that can make it generate JDK 11 compatible code?
Edit: now I am getting the following compile error
[ERROR] COMPILATION ERROR : [INFO]
------------------------------------------------------------- [ERROR] /usr/local/code/sferion/WasteCoordinator/data/src/main/java/com/wastecoordinator/data/JOOQGenerator.java:[4,24]
cannot access org.jooq.codegen.GenerationTool bad class file:
/Users/benstpierre/.m2/repository/org/jooq/jooq-codegen/3.17.1/jooq-codegen-3.17.1.jar(/org/jooq/codegen/GenerationTool.class)
class file has wrong version 61.0, should be 55.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
Is jooq 3.17 not compatible with JDK 11?
You can download the right distribution to work with JDK 11 from here if you're licensed:
https://www.jooq.org/download/versions
Note that starting from jOOQ 3.17, the jOOQ Open Source Edition increased the baseline JDK version to Java 17, see:
https://github.com/jOOQ/jOOQ/issues/12430
https://blog.jooq.org/3-17-0-release-with-computed-columns-audit-columns-pattern-matching-reactive-transactions-and-kotlin-coroutine-support/
jOOQ is a bit early here, given that Spring will increase their own baseline only later in 2022:
https://spring.io/blog/2021/09/02/a-java-17-and-jakarta-ee-9-baseline-for-spring-framework-6
But jOOQ will continue to provide paid support for older JDKs for quite a while, still. At the same time, jOOQ 3.14 - 3.16 will receive patches for another while, too.

Problems in IntelliJ since version 2022.1 / java.lang.NoClassDefFoundError

As of today, when I try to run some of my programs in IntelliJ today, this message was shown:
Executing pre-compile tasks...
Loading Ant configuration...
Running Ant tasks...
Running 'before' tasks
Checking sources
Finished, saving caches…
Module 'Listen' production: java.lang.NoClassDefFoundError: com/intellij/DynamicBundle
Executing post-compile tasks...
Loading Ant configuration...
Running Ant tasks...
Synchronizing output directories...
13.04.22, 14:54 - Build completed with 1 error and 0 warnings in 4 sec, 39 ms
This line is printed in red: Module 'Listen' production: java.lang.NoClassDefFoundError: com/intellij/DynamicBundle
I don't really have too much of an idea where I should look for the problem.
It seems to not have anything to do with the project itself. I already created a new Project and created a Hello World-program, which resulted in the same error.
Remarkably, yesterday my IntelliJ IDEA version was updated to version 2022.1.
Runtime version: 11.0.14.1+1-b2043.25 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
I have no idea either whether it has anything to do with the new version either.
I maintain another Project, which uses Scala language. That one is messed up even more:
Cannot process toolwindow sbt
java.lang.AbstractMethodError: Missing implementation of resolved method 'abstract com.intellij.openapi.externalSystem.settings.AbstractExternalSystemSettings getSettings(com.intellij.openapi.project.Project)' of abstract class com.intellij.openapi.externalSystem.service.task.ui.AbstractExternalSystemToolWindowFactory.
at com.intellij.openapi.externalSystem.service.task.ui.AbstractExternalSystemToolWindowFactory.shouldBeAvailable(AbstractExternalSystemToolWindowFactory.java:35)
at com.intellij.toolWindow.ToolWindowSetInitializerKt.beanToTask(ToolWindowSetInitializer.kt:262)
at com.intellij.toolWindow.ToolWindowSetInitializerKt.beanToTask(ToolWindowSetInitializer.kt:248)
at com.intellij.toolWindow.ToolWindowSetInitializerKt.access$beanToTask(ToolWindowSetInitializer.kt:1)
at com.intellij.toolWindow.ToolWindowSetInitializerKt$computeToolWindowBeans$1.accept(ToolWindowSetInitializer.kt:278)
at com.intellij.toolWindow.ToolWindowSetInitializerKt$computeToolWindowBeans$1.accept(ToolWindowSetInitializer.kt)
at com.intellij.openapi.extensions.impl.ExtensionPointImpl.processWithPluginDescriptor(ExtensionPointImpl.java:301)
at com.intellij.toolWindow.ToolWindowSetInitializerKt.computeToolWindowBeans(ToolWindowSetInitializer.kt:274)
at com.intellij.toolWindow.ToolWindowSetInitializer$1.get(ToolWindowSetInitializer.kt:101)
at com.intellij.toolWindow.ToolWindowSetInitializer$1.get(ToolWindowSetInitializer.kt:83)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
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)
Any advice?
Best
Stapelüberläufer
I had the same problem after upgrading to Intellij 2022.1
For me, the fix came from Gen's answer. I also had an old Scala plugin, and just removed it as I'm not using it anymore.
If you are looking to upgrade it, go to File -> Settings -> Plugins. From there just hit Upgrade for the plugins you want. After that restart the IDE.
I found that Scala plugin was not updated and updating it to at least version 2022.1.13 fixed it for me.
I upgraded to Intellij 2022.1 and encountered this issue when trying to sync the old gradles projects that used to work for me :
Caused by: java.lang.NoClassDefFoundError: org/gradle/internal/impldep/com/google/common/collect/Lists
Cleaning the caches folder's content (Gradle_HOME/caches) resolved this issue for me
Make sure to also check that the SDK is correctly configured for your project (Java 17 by default) and the Gradle home is well specified in the Settings>Gradle section.
For info, I'm using Java 8 and Gradle 5.5.1 (yes I know :))
Just upgrade the Scala Plugin and its done!
visiting
scala plugin's page
and install it from there worked for me on ultimate version 2022.2.3

Gradle build doing nothing on WSL

I'm writing a Kotlin program, and using Gradle as the build system, as is customary in that language. I usually work on Windows, but it's time to start testing on Linux, so using WSL for that. Installed Gradle, cloned a copy of my code in WSL...
(base) a#DESKTOP-4B7M920:~/ayane$ gradle -version
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/usr/share/java/groovy-all.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
------------------------------------------------------------
Gradle 4.4.1
------------------------------------------------------------
Build time: 2012-12-21 00:00:00 UTC
Revision: none
Groovy: 2.4.16
Ant: Apache Ant(TM) version 1.10.5 compiled on March 28 2019
JVM: 11.0.7 (Ubuntu 11.0.7+10-post-Ubuntu-2ubuntu218.04)
So far so good, that warning happens sometimes, doesn't seem to portend immediate trouble.
This is my build file, that works on Windows:
(base) a#DESKTOP-4B7M920:~/ayane$ cat build.gradle.kts
plugins {
kotlin("jvm") version "1.3.72"
}
repositories {
jcenter()
}
dependencies {
implementation(kotlin("stdlib"))
testImplementation("org.junit.jupiter:junit-jupiter:5.6.2")
}
tasks.test {
useJUnitPlatform()
testLogging {
events("passed", "skipped", "failed")
}
}
Here goes.
(base) a#DESKTOP-4B7M920:~/ayane$ gradle build
> Task :buildEnvironment
------------------------------------------------------------
Root project
------------------------------------------------------------
classpath
No dependencies
BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed
<-------------> 0% WAITING
Uh? I could understand if it threw an error because some prerequisite or other was unavailable. But no error, just nothing? What's going on?
You are using the newest version at this time of the Kotlin plugin for Gradle (1.3.72). However, you are using a really old version of Gradle (4.4.1). As you can read from the Kotlin documentation:
The Kotlin Gradle plugin 1.3.72 works with Gradle 4.9 and later.
It is unfortunate that the plugin doesn't check for this and give a more proper error message instead of just silently doing nothing. I guess you could create an issue for Jetbrains on this if you like.
Just as has been mentioned in the comment to your question, I also highly recommend using the wrapper. It ensures that the project is built with a particular declared version of Gradle that you, the build author, has decided on. Otherwise, you will have to document how to set up the environment correctly, including what version of Gradle to install.
Same thing goes for Java: be sure to clearly document which version is required or supported.
As for building in WSL, the only issue I've ever had with it was a remote build cache not working. This was because I had configured Git to checkout with POSIX line endings (LF) for source files, whereas the cache were populated on a Windows machine using CRLF line endings). It doesn't sound like you are using that feature, but other than that, everything has been working fine for me in WSL.

Spoon takes insanely long time to start

I am running Spoon - Pentaho EE V 6.1 on my laptop (8 GB RAM) and allocated 4 G to Spoon. Still it takes 3 minutes and 30 seconds to start. I dont have any plugins and my plugins directory is empty. I have also tried this by closing all applications and processes but with no luck. Am I missing anything obvious?
Sep 22, 2017 10:15:13 AM org.apache.cxf.bus.osgi.CXFExtensionBundleListener addExtensions
INFO: Adding the extensions from bundle org.apache.cxf.cxf-rt-javascript (208) [org.apache.cxf.javascript.JavascriptServerListener]
Sep 22, 2017 10:15:13 AM org.pentaho.caching.impl.PentahoCacheManagerFactory$Reg
istrationHandler$1 onSuccess
INFO: New Caching Service registered
2017/09/22 10:15:27 - General - Logging plugin type found with ID: CheckpointLog Table
2017/09/22 10:18:00,201 ERROR [KarafLifecycleListener] Error in Blueprint Watcher org.pentaho.osgi.api.IKarafBlueprintWatcher$BlueprintWatcherException: Unknown error in KarafBlueprintWatcher at org.pentaho.osgi.impl.KarafBlueprintWatcherImpl.waitForBlueprint(KarafBlueprintWatcherImpl.java:103) at org.pentaho.di.osgi.KarafLifecycleListener$2.run(KarafLifecycleListen er.java:161) at java.lang.Thread.run(Unknown Source)
Caused by: org.pentaho.osgi.api.IKarafBlueprintWatcher$BlueprintWatcherException : Timed out waiting for blueprints to load: pdi-dataservice-server-plugin,pentaho-big-data-impl-shim-initializer,pentaho-big-data-impl-shim-hdfs,pentaho-big-data-impl-shim-hbase,pentaho-big-data-impl-shim-mapreduce,pentaho-big-data-impl-shim-pig,pentaho-big-data-impl-shim-oozie,pentaho-big-data-impl-shim-sqoop,pentaho-big-data-impl-vfs-hdfs,pentaho-big-data-kettle-plugins-common-named-cluster-bridge,pentaho-big-data-kettle-plugins-guiTestActionHandlers,pentaho-big-data-kettle-plugins-hdfs,pentaho-big-data-kettle-plugins-hbase,pentaho-big-data-kettle-plugins-mapreduce,pentaho-big-data-kettle-plugins-pig,pentaho-big-data-kettle-plugins-oozie,pentaho-big-data-kettle-plugins-sqoop,pentaho-hadoop-shims-mapr-osgi-jaas,pentaho-big-data-impl-clusterTests,pentaho-big-data-impl-shim-shimTests,pentaho-yarn-api,pentaho-yarn-impl-shim,pentaho-yarn-kettle-plugin,pentaho-metaverse-core,pentaho-metaverse-web,pentaho-requirejs-osgi-manager,pentaho-angular-bundle,common-ui-6.1.0.1,pentaho-marketplace-di at org.pentaho.osgi.impl.KarafBlueprintWatcherImpl.waitForBlueprint(KarafBlueprintWatcherImpl.java:88)
... 2 more
2017/09/22 10:18:42 - General - Starting agile-bi
2017/09/22 10:18:43 - class org.pentaho.agilebi.platform.JettyServer - WebServer.Log.CreateListener localhost:10001
Finally found the answer. Its a known issue and fixed under Version 7
There seems to be a timing issue in the Karaf Blueprint Watcher where sometimes it will ask a bundle for its blueprint file before the bundle is in RESOLVED state. This triggers a (usually) parallel resolve that causes the bundle to be destroyed immediately after creation.
http://jira.pentaho.com/browse/PDI-15488
http://jira.pentaho.com/browse/PDI-14698
http://jira.pentaho.com/browse/PDI-15574