I’m trying to implement a ProjectOpenProcessor.
As far as I understand, I’m supposed to call com.intellij.openapi.project.ex.ProjectManagerEx#openProjectAsync in openProjectAsync. This needs a OpenProjectTask, but pretty much everything of OpenProjectTask is internal or restricted.
intellij-community is invoking a builder closure, which is @Internal, too:
@Internal
inline fun OpenProjectTask(buildAction: OpenProjectTaskBuilder.() -> Unit): OpenProjectTask {
return OpenProjectTaskBuilder().build(buildAction)
}
For example, I want to value to OpenProjectTask.projectRootDir, which itself is @Experimental. But the constructor is @Internal, I can’t instantiate the builder because of internal `@Internal
inline fun OpenProjectTask` and so on.
How is this API supposed to be used by 3rd-party plugins?