Closed LecrisUT closed 1 year ago
Thanks for raising this ticket. In general, this Plugin Template is focused on providing a template for IntelliJ-based IDEs; therefore, TeamCity is not even considered here. As for enabling the possibility of running other IDEs locally in an easy way — that's something that will be covered with the IntelliJ Platform Gradle Plugin 2.0 (now known as Gradle IntelliJ Plugin).
In general, this Plugin Template is focused on providing a template for IntelliJ-based IDEs; therefore, TeamCity is not even considered here.
Understandable, but that one is archived. Any chance of getting a modern setup for that?
As for enabling the possibility of running other IDEs locally in an easy way — that's something that will be covered with the IntelliJ Platform Gradle Plugin 2.0 (now known as Gradle IntelliJ Plugin).
Thanks for the info, was completely unaware of that. Any documentation for 2.0 and/or how the feature will work?
But I think it is still non-trivial for newcomers how to setup a multi-project environment, e.g. (:, :plugin, :clion, :idea
), especially to newcomers to gradle. Any ideas on some documentation for that?
To my comparison to the rust plugin some key tips are:
runIde
, prepareSandbox
(and other like buildSearchableOptions
) should not be run on all projects, only on :plugin
:plugin
should contain runIde
as well as packaging tasks like publishPlugin
and patchPluginXml
Still unclear is:
idea-plugin.content.module
is supposed to work in plugin.xml
. Do you only need to setup an xml file in ${project}/src/main/resources/${name}.xml
and make sure the package
field and file name are equivalent with module
?plugins
manually when using gradle/libs.version.toml
? Is there an easier way to the the plugin id?intellij
for the ide subprojects. In rust plugin it doesn't set type.set(...)
, but I found that when I adapt it locally it doesn't build without it. What magic does one have to do there, and how to link runide
of :plugin
to it?As for the TeamCity template, I reached folks from TC to see if they have any plans.
The 2.0-SNAPSHOT
will be publicly announced whenever it becomes available — including 2.0
branch docs and a migration guide from 1.x
.
In general, 2.0
will focus on bringing better support and documentation for multi-module projects in different variations — which was actually not covered in the current state of the Gradle plugin. That includes also the possibility to apply just IntelliJ SDK in submodules without enhancing them with all tasks and extra configurations.
As for idea-plugin.content.module
— I'm not yet sure about it. We'll see!
Does one still have to specify plugins manually when using
gradle/libs.version.toml
? Is there an easier way to the the plugin id?
You'll still have to use the Gradle's plugins { }
to apply the Gradle plugin to the project or submodule. That'll remain, however the Gradle plugin ID will change.
how to configure intellij for the ide subprojects. In rust plugin it doesn't set type.set(...), but I found that when I adapt it locally it doesn't build without it. What magic does one have to do there, and how to link runide of :plugin to it?
This will change in 2.0
as we're dropping the intellij.type
and intellij.version
in favor of defining the dependency to the given IntelliJ SDK using the Gradle's dependencies { }
closure.
And again — no worries, everything will be explained in the upcoming docs and migration guides whenever 2.0-SNAPSHOT
will be ready.
runide
work on different IDEs, as well as other issuesThese can be implemented as different branches