Inject... stopped to import and uses FQN in Kotlin

Hello community,

since a few days I have a very strange problem with CUBA Studio’s “Inject…” tool. Up until then, when choosing some component via “Inject…”, the according class and the class javax.inject.Inject were imported and the instance property and @Inject annotation used short class names. Now, if I inject a component this way, the resulting code uses fully qualified names and looks like e.g.

@javax.inject.Inject
private lateinit var persistence: com.haulmont.cuba.core.Persistence

This happens even if the annotation or the component classes are already in the import list. This is a bit annoying, as I have to manually remove the package names and add the needed imports on every injection. However, it is a behaviour specific to Kotlin. A quick test showed that things seem to work as expected for Java classes. Any ideas what broke here and how to fix it?

CUBA Studio version: 2020.2
Kotlin plugin version: 202-1.5.31-release-542-IJ8194.7

Thanks a lot for any help!

Hello,
thank you for feedback, this problem is already known and we are working for it. You can see ticket here

1 Like