intellij-platform-gradle-plugin icon indicating copy to clipboard operation
intellij-platform-gradle-plugin copied to clipboard

please push JetBrains Java Runtime to the Maven repository

Open lizongbo opened this issue 2 years ago • 1 comments

Is your feature request related to a problem? Please describe. I'm working on an IDEA plugin in a private network where components must be fetched through a dedicated Nexus repository that can synchronize resources from https://www.jetbrains.com/intellij-repository/releases . So when I run gradlew build, I can't get the JetBrains Java Runtime with the following error message:

[gradle-intellij-plugin :] Cannot download JetBrains Java Runtime 'jbr_jcef-17.0.6-windows-x64-b829.9' 
[gradle-intellij-plugin :initializeIntelliJPlugin] Cannot resolve the latest Gradle IntelliJ Plugin version
org.gradle.api.GradleException: Cannot resolve the latest Gradle IntelliJ Plugin version
        at org.jetbrains.intellij.utils.LatestVersionResolver$Companion.fromGitHub(LatestVersionResolver.kt:31)
2023-06-04 10:34:02,930 [   1554]   WARN - #c.j.p.PluginClassPathRuntimeCustomizer - There was more than one class loaded in Projector Plugin classloader - this is likely a bug!
2023-06-04 10:34:05,859 [   4483]   WARN - #c.i.o.e.i.FontFamilyServiceImpl - no such method: sun.font.Font2D.getTypographicFamilyName()String/invokeVirtual
java.lang.NoSuchMethodException: no such method: sun.font.Font2D.getTypographicFamilyName()String/invokeVirtual
        at java.base/java.lang.invoke.MemberName.makeAccessException(MemberName.java:976)
        at java.base/java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1117)

2023-06-04 10:34:05,868 [   4492]   WARN - #c.i.o.e.i.FontFamilyServiceImpl - no such method: sun.font.Font2D.getTypographicSubfamilyName()String/invokeVirtual
java.lang.NoSuchMethodException: no such method: sun.font.Font2D.getTypographicSubfamilyName()String/invokeVirtual
        at java.base/java.lang.invoke.MemberName.makeAccessException(MemberName.java:976)
        at java.base/java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1117)
        at java.base/java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:3649)
        at java.base/java.lang.invoke.MethodHandles$Lookup.findVirtual(MethodHandles.java:2680)
        at com.intellij.util.MethodHandleUtil.getPublicMethod(MethodHandleUtil.kt:21)
2023-06-04 10:34:17,601 [  16225] SEVERE - #c.i.o.a.i.ApplicationImpl - IntelliJ IDEA 2023.1.2  Build #IC-231.9011.34
2023-06-04 10:34:17,602 [  16226] SEVERE - #c.i.o.a.i.ApplicationImpl - JDK: 17.0.7; VM: OpenJDK 64-Bit Server VM; Vendor: Eclipse Adoptium
2023-06-04 10:34:17,603 [  16227] SEVERE - #c.i.o.a.i.ApplicationImpl - OS: Windows 10
2023-06-04 10:34:20,061 [  18685]   WARN - #c.i.u.j.JBCefApp - JCEF is manually disabled in headless env via 'ide.browser.jcef.headless.enabled=false'

I can download "com.jetbrains.intellij.idea:ideaIC:2023.1.2" .

Describe the solution you'd like Please provide jbr_jcef-17.0.6-windows-x64-b829.9 in the intellij-repositor

Additional context see the full log:

idea_plugin_project_gradlew_build_log.txt

lizongbo avatar Jun 04 '23 16:06 lizongbo

Long term, I think it would be better to push it into the underlying OS as a package, not just into Maven.

daym avatar Jul 24 '23 20:07 daym

We do not plan to publish JBR to Maven Central. With the 2.0 release, the dependency management is now reworked, so you'll be able to manually build the location where JBRs are stored (through the Ivy repository). Anyway, we promote now usage of the bundled JBR over the one fetched from the remote repositories.

Feel free to create a new issue after switching to 2.0 if you'll still face any inconveniences when using JBR as a dependency.

hsz avatar Apr 03 '24 13:04 hsz