This message was deleted.
# community-support
s
This message was deleted.
v
It would maybe be easier if you simply provide the sources under both names server-side
Not sure if there is even a hacky way to do what you intend.
j
It’s impossible to share sources under different names — it’s not a matter of just
ideaIU
which lacks sources, but:
Copy code
"ideaIU"
"clion"
"pycharmPY"
"pycharmPC"
"goland"
"phpstorm"
"riderRD"
"JetBrainsGateway"
"android-studio"
That multiplied by the number of releases… It’s just impossible.
a
Are
com.jetbrains.intellij.idea:ideaIU
and
com.jetbrains.intellij.idea:ideaIC
published to a Maven repo using Gradle? As in, is there Gradle module metadata available? Or are they just published to a file server, and the IJ plugin has a Ivy pattern to resolve the files?
In 1.x, there was Ivy file created for handling such a case, like:
Copy code
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0" xmlns:m="<https://ant.apache.org/ivy/maven>">
  <info organisation="com.jetbrains" module="ideaIU" revision="2022.3.3" publication="20230823100005"/>
  <configurations>
    <conf name="default" visibility="public"/>
    <conf name="compile" visibility="public"/>
    <conf name="sources" visibility="public"/>
  </configurations>
  <publications>
    <artifact name="lib/3rd-party-native" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/3rd-party-rt" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/app" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/async-profiler-windows" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/async-profiler" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/byte-buddy-agent" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/error-prone-annotations" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/external-system-rt" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/externalProcess-rt" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/forms_rt" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/groovy" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/idea_rt" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/intellij-coverage-agent-1.0.682" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/intellij-test-discovery" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/jps-model" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/jsch-agent" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/jsp-base" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/junit4" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/platform-objectSerializer-annotations" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/platform-statistics-devkit" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/protobuf" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/rd" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/stats" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/testFramework" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/tools-testsBootstrap" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/util" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/util_rt" type="jar" ext="jar" conf="compile"/>
    <artifact name="lib/ant/lib/ant" type="jar" ext="jar" conf="compile"/>
    <artifact name="ideaIC" type="sources" ext="jar" conf="sources" m:classifier="sources"/>
  </publications>
</ivy-module>
But with 2.0 version I use dependency transformers for extracting
ideaIU.zip
and picking proper JAR files.
And that works:
But the remaining issue is that
ideaIU
doesn’t provide sources (as IntelliJ Ultimate isn’t OSS), but it’s based on IntelliJ Community. Therefore, we can attach
ideaIC-sources.jar
for plugin developers, but it belongs to another module: not
com.jetbrains.intellij.idea:ideaIU:2023.2
but
com.jetbrains.intellij.idea:*ideaIC*:2023.2
FTR, the Ivy approach was able to:
a
I think the Ivy approach is pretty good. It makes sense to define the link between the dependency and the sources on the server side. The Gradle equivalent of that Ivy file is Gradle Module Metadata, which isn't available at the moment, "The specified key does not exist" https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/idea/ideaIC/2023.2/ideaIC-2023.2.module