Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[JetBrains] Migrate backend-plugin platform version for 2024.2 #19978

Merged
merged 12 commits into from
Jul 5, 2024

Conversation

mustard-mh
Copy link
Contributor

@mustard-mh mustard-mh commented Jun 28, 2024

Description

Use new beta IntelliJ Platform Plugin which is required by JetBrains IDEs version 2024.2.*

image

Related Issue(s)

Fixes ENT-350, ENT-330

How to test

  • Try open workspace with stable and latest IntelliJ IDEA with repo https://github.com/mustard-mh/spring-petclinic
  • For stable IDEA, everything should work like before
  • For latest IDEA, everything should work like before except tasks terminals
(nit) Port forwarding
curl lama.sh | LAMA_PORT=8000 sh
  • It should show a port forwarding banner on top of the terminal with port-forwarding, click on it to test built-in functionalities are working well
  • In Backend Status Details page (click right top Gitpod icon) > Ports tab, port 8080 should display correct state and functions like open in browser should work

Documentation

Preview status

Gitpod was successfully deployed to your preview environment.

Build Options

Build
  • /werft with-werft
    Run the build with werft instead of GHA
  • leeway-no-cache
  • /werft no-test
    Run Leeway with --dont-test
Publish
  • /werft publish-to-npm
  • /werft publish-to-jb-marketplace
Installer
  • analytics=segment
  • with-dedicated-emulation
  • workspace-feature-flags
    Add desired feature flags to the end of the line above, space separated
Preview Environment / Integration Tests
  • /werft with-local-preview
    If enabled this will build install/preview
  • /werft with-preview
  • /werft with-large-vm
  • /werft with-gce-vm
    If enabled this will create the environment on GCE infra
  • /werft preemptible
    Saves cost. Untick this only if you're really sure you need a non-preemtible machine.
  • with-integration-tests=jetbrains
    Valid options are all, workspace, webapp, ide, jetbrains, vscode, ssh. If enabled, with-preview and with-large-vm will be enabled.
  • with-monitoring

/hold

-  Update Platform Version of JetBrains Backend Plugin (EAP) to 242.18071-EAP-CANDIDATE-SNAPSHOT
@mustard-mh mustard-mh changed the title WIP: JB EAP [JetBrains] Migrate backend-plugin platform version for 2024.2 Jul 3, 2024
@@ -2,7 +2,7 @@
// Licensed under the GNU Affero General Public License (AGPL).
// See License.AGPL.txt in the project root for license information.

rootProject.name = "jetbrains-backend-plugin"
rootProject.name = "gitpod-remote"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to change the name here because new platform plugin will treat it as build result name

@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is required for new platform plugin (beta)

- - "bash"
- "-c"
- >
echo java=21.0.3.fx-zulu > .sdkmanrc
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it requirement only for build time? at runtime any java version will work still with 2024.2?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2024.2 requires java 21

photo_2024-07-05 13 47 39

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, just asking that we don't need to change anything in our images, java 21 then is bundled together with IJ?

// Licensed under the GNU Affero General Public License (AGPL).
// See License.AGPL.txt in the project root for license information.

import io.gitlab.arturbosch.detekt.Detekt
Copy link
Member

@akosyakov akosyakov Jul 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we need to duplicate this file.

We can use build.gradle.kts for latest, and build.gradle-stable.kts.

If someone wants to change they can unload one from IJ and load another.

for building we can pass different with ./gradlew --build-file

Copy link
Contributor Author

@mustard-mh mustard-mh Jul 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Build failed with this change 3cc4494

Searched error Build cache controller already set that it may need --no-build-cache, but after modification, build failed again (if we copy it into build.gradle.kts, it will work):
image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm going to revert that commit

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Base on the reverting, keep different build.gradle-<version>.kts is more useful for me: so that I could keep these two copies and use build.gradle.kts to debug with launcher-dev-server.sh

Copy link
Member

@akosyakov akosyakov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changes make sense to me, but someone should double test that we don't break stable especially

@mustard-mh
Copy link
Contributor Author

mustard-mh commented Jul 5, 2024

Integration tests (for stable) are passed
image

Smoke tested stable IntelliJ IDEA, WebStorm and latest IDEA (terminal broken)

IDEA (stable) IDEA(latest) WebStorm(stable)
image image image

@roboquat roboquat merged commit 3f63730 into main Jul 5, 2024
26 checks passed
@roboquat roboquat deleted the hw/eap-mig branch July 5, 2024 08:09
@akosyakov
Copy link
Member

terminal broken

is it known and going to be fixed?

@mustard-mh
Copy link
Contributor Author

mustard-mh commented Jul 5, 2024

terminal broken

is it known and going to be fixed?

It's not known, I need to ask JetBrains what happends (I see it found no BackendTerminalManager class in idea.log)

As it's EAP versions, we could let it go and make terminal stuff another follow up issue

@mustard-mh
Copy link
Contributor Author

@akosyakov for message above☝️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants