Skip to content

Commit

Permalink
Eclipse 2024-06 support updates
Browse files Browse the repository at this point in the history
  • Loading branch information
mezarin committed Jul 29, 2024
1 parent 8eea9fb commit abf057f
Show file tree
Hide file tree
Showing 39 changed files with 609 additions and 742 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/run-regression-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
fail-fast: false
matrix:
runtime: [ linux, mac, windows ]
targetPlatform: [ 1Q2024 ]
targetPlatform: [ 3Q2024 ]
include:
- runtime: linux
os: ubuntu-latest
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Bundle-Version: 24.0.6.qualifier
Bundle-Activator: io.openliberty.tools.eclipse.ls.plugin.LibertyToolsLSPlugin
Bundle-ActivationPolicy: lazy
Automatic-Module-Name: io.openliberty.tools.eclipse.lsp4e
Bundle-RequiredExecutionEnvironment: JavaSE-17
Bundle-RequiredExecutionEnvironment: JavaSE-21
Require-Bundle: com.google.gson,
org.eclipse.lsp4mp.jdt.core,
org.eclipse.lsp4jakarta.jdt.core,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ Bundle-Name: Liberty Tools
Bundle-Vendor: Open Liberty
Bundle-SymbolicName: io.openliberty.tools.eclipse.product;singleton:=true
Bundle-Version: 24.0.6.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-17
Bundle-RequiredExecutionEnvironment: JavaSE-21
Automatic-Module-Name: io.openliberty.tools.eclipse
Bundle-ActivationPolicy: lazy
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Export-Package: io.openliberty.tools.eclipse;x-friends:="io.openliberty.tools.ec
io.openliberty.tools.eclipse.ui.preferences;x-friends:="io.openliberty.tools.eclipse.tests"
Require-Bundle: org.eclipse.ui,
org.eclipse.m2e.maven.runtime
Bundle-RequiredExecutionEnvironment: JavaSE-17
Bundle-RequiredExecutionEnvironment: JavaSE-21
Automatic-Module-Name: io.openliberty.tools.eclipse.ui
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.cdt.launch.ui,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,12 @@

public class LibertySourcePathComputer implements ISourcePathComputerDelegate {

/**
* Gradle distribution that supports Java 21.
* Gradle version 8.4+ supports Java 21.
*/
private static String GRADLE_DISTRIBUTION_VERISION = "8.8";

ArrayList<IRuntimeClasspathEntry> unresolvedClasspathEntries;

@Override
Expand Down Expand Up @@ -132,7 +138,18 @@ private List<IProject> getProjectDependencies(Project project) throws CoreExcept
}
}
} else {
// Per the GradleConnector documentation, if no Gradle version is defined for the
// build (Gradle wrapper properties file), the connection will use the tooling API's
// version as the Gradle version to run the build.
// Therefore, if a Gradle version is not defined for the build and given that the
// tooling version currently being used is 8.1.1, Gradle 8.1.1
// is downloaded and used by the connector. Gradle 8.1.1 does not support Java 21,
// which causes runtime issues (Unsupported class file major version 65).
// As a workaround, specify a Java 21 compatible Gradle version that the tooling
// can use (i.e. 8.4+). Note that since it is preferable to use the default version
// provided by the tooling API, setting the version can be revised at a later time.
GradleConnector connector = GradleConnector.newConnector();
connector.useGradleVersion(GRADLE_DISTRIBUTION_VERISION);
connector.forProjectDirectory(project.getIProject().getLocation().toFile());
ProjectConnection connection = connector.connect();

Expand Down
2 changes: 1 addition & 1 deletion ci/jenkins/release
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ pipeline {
agent any

tools {
jdk 'java17-semeru'
jdk 'jdk-semeru-21.0.3'
maven 'maven-3.9.6'
}

Expand Down
2 changes: 1 addition & 1 deletion ci/jenkins/run-tests
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ pipeline {
agent any

tools {
jdk 'java17-semeru'
jdk 'jdk-semeru-21.0.3'
xvfb 'gui-test'
maven 'maven-3.9.6'
gradle 'gradle-7.6.1'
Expand Down
48 changes: 24 additions & 24 deletions ci/scans/dependency-only-mend-pom.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2023 IBM Corporation and others.
Copyright (c) 2023, 2024 IBM Corporation and others.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0 which is available at
Expand Down Expand Up @@ -107,7 +107,7 @@ OTHER REFERENCES: https://projects.eclipse.org/projects/eclipse.platform/develo
<mp.ls.version>0.10.0</mp.ls.version>
</properties>

<!-- Updated for Eclipse 2023-12 (4.30.0) -->
<!-- Updated for Eclipse 2024-06 (4.32.0) -->
<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
Expand All @@ -117,12 +117,12 @@ OTHER REFERENCES: https://projects.eclipse.org/projects/eclipse.platform/develo
<dependency>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt</artifactId>
<version>3.19.300</version>
<version>3.19.400</version>
</dependency>
<dependency>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt.core</artifactId>
<version>3.36.0</version>
<version>3.37.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.jdt</groupId>
Expand All @@ -132,105 +132,105 @@ OTHER REFERENCES: https://projects.eclipse.org/projects/eclipse.platform/develo
<dependency>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt.debug.ui</artifactId>
<version>3.13.200</version>
<version>3.13.300</version>
</dependency>
<dependency>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt.launching</artifactId>
<version>3.21.0</version>
<version>3.21.100</version>
</dependency>
<dependency>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt.ui</artifactId>
<version>3.31.0</version>
<version>3.32.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.jface.text</artifactId>
<version>3.24.200</version>
<version>3.25.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.lsp4j</groupId>
<artifactId>org.eclipse.lsp4j</artifactId>
<version>0.21.1</version>
<version>0.22.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.lsp4j</groupId>
<artifactId>org.eclipse.lsp4j.jsonrpc</artifactId>
<version>0.21.1</version>
<version>0.22.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.core.commands</artifactId>
<version>3.11.200</version>
<version>3.12.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.core.expressions</artifactId>
<version>3.9.200</version>
<version>3.9.300</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.core.jobs</artifactId>
<version>3.15.100</version>
<version>3.15.200</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.core.resources</artifactId>
<version>3.20.0</version>
<version>3.20.100</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.core.runtime</artifactId>
<version>3.30.0</version>
<version>3.31.0</version>
</dependency>
<dependency>
<!-- org.eclipse.debug.core, org.eclipse.debug.core.model -->
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.debug.core</artifactId>
<version>3.21.200</version>
<version>3.21.300</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.debug.ui</artifactId>
<version>3.18.200</version>
<version>3.18.300</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.equinox.preferences</artifactId>
<version>3.10.400</version>
<version>3.11.0</version>
</dependency>
<dependency>
<!-- org.osgi.framework, org.eclipse.osgi.service.debug -->
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.osgi</artifactId>
<version>3.18.600</version>
<version>3.19.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.swt</artifactId>
<version>3.124.200</version>
<version>3.125.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.ui</artifactId>
<version>3.205.0</version>
<version>3.205.100</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.ui.ide</artifactId>
<version>3.22.0</version>
<version>3.22.100</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.ui.editors</artifactId>
<version>3.17.100</version>
<version>3.17.200</version>
</dependency>
<dependency>
<!-- org.eclipse.ui.handlers, org.eclipse.ui.plugin -->
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.ui.workbench</artifactId>
<version>3.131.0</version>
<version>3.131.100</version>
</dependency>

<!-- Copy/paste from bundles/io.openliberty.tools.eclipse.lsp4e/pom.xml (there seems to be a more elegant way to do this in Mend if anyone want to take this on -->
Expand Down
11 changes: 6 additions & 5 deletions docs/user-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ This guide provides detailed instructions on how to use Liberty Tools for the Ec
* [Accessing Liberty Tools Operations](#accessing-liberty-tools-operations)
+ [Using the Liberty dashboard view](#using-the-liberty-dashboard-view)
+ [Using the Project Explorer view](#using-the-project-explorer-view)
* [Running your application on Liberty using dev mode](#running-your-application-on-liberty-using-dev-mode-1)
* [Running your application on Liberty using dev mode](#running-your-application-on-liberty-using-dev-mode)
+ [Start](#start)
+ [Start with Configuration](#start-with-configuration)
+ [Start in container](#start-in-container)
Expand Down Expand Up @@ -46,11 +46,12 @@ This guide provides detailed instructions on how to use Liberty Tools for the Ec
| 23.0.12 | 2023-09 - Eclipse v4.29 |
| 24.0.3 | 2023-12 - Eclipse v4.30 |
| 24.0.6 | 2024-03 - Eclipse v4.31 |
| 24.0.9 | 2024-06 - Eclipse v4.32 |

**NOTE:** Tested with each of the `Eclipse IDE for Enterprise Java and Web Developers` and `Eclipse IDE for Java Developers` packages


2. **Java:** The Eclipse IDE itself requires Java 17. However, the application runtime [can be run with other versions of Java](#start-with-configuration), as long as they are supported by Liberty.
2. **Java:** The Eclipse IDE itself requires Java 21. However, the application runtime [can be run with other versions of Java](#start-with-configuration), as long as they are supported by Liberty.
3. [**Liberty Tools**](installation.md)


Expand All @@ -64,7 +65,7 @@ This guide provides detailed instructions on how to use Liberty Tools for the Ec

- Liberty Maven Plugin -> 3.7.1

- Liberty Gradle Plugin -> 3.5.1
- Liberty Gradle Plugin -> 3.8

### Maven and Gradle

Expand All @@ -83,7 +84,7 @@ Since Liberty dev mode uses the Liberty Maven or Gradle plugins to manage a Mave
- Set the Maven/Gradle installation to use.
- click on **Apply and Close** to save your changes.

3. If a Maven/Gradle installation is still not found, Liberty Tools looks at the PATH environment variable for install locations. See the instructions in [the following section](#Docker) which can also apply to finding Maven or Gradle executables.
3. If a Maven/Gradle installation is still not found, Liberty Tools looks at the PATH environment variable for install locations. See the instructions in [the following section](#docker) which can also apply to finding Maven or Gradle executables.

### Docker

Expand Down Expand Up @@ -310,7 +311,7 @@ The Gradle Eclipse plugins (Buildship) run a simple Gradle build upon import (**

If this build does not complete successfully, the Liberty Tools function might not work correctly.

For example, if your project uses a Gradle wrapper at a Gradle version less than v7.3, it does not support Java 17 per [matrix](https://docs.gradle.org/current/userguide/compatibility.html), but the Java 17+ workspace JRE is required for running Liberty Tools.
For example, if your project uses a Gradle wrapper at a Gradle version less than v8.4, it does not support Java 21 per [matrix](https://docs.gradle.org/current/userguide/compatibility.html), but the Java 21+ workspace JRE is required for running Liberty Tools.

One approach to resolve this incompatibility is to configure the preference at:
**Preferences -> Gradle -> Java home** to refer to a Java installation that is compatible with the level of Gradle in your `gradlew` wrapper.
Expand Down
8 changes: 4 additions & 4 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2022 IBM Corporation and others.
Copyright (c) 2022, 2024 IBM Corporation and others.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0 which is available at
Expand Down Expand Up @@ -42,7 +42,7 @@

<!-- default version of the eclipse IDE to run tests against -->
<!-- must be one of the target platform files defined in this project under releng -->
<eclipse.target>1Q2024</eclipse.target>
<eclipse.target>3Q2024</eclipse.target>

</properties>

Expand Down Expand Up @@ -109,7 +109,7 @@
<artifactId>tycho-compiler-plugin</artifactId>
<version>${tycho.version}</version>
<configuration>
<target>17</target>
<target>21</target>
</configuration>
</plugin>
<plugin>
Expand Down Expand Up @@ -191,7 +191,7 @@
<artifactId>target-platform-configuration</artifactId>
<version>${tycho.version}</version>
<configuration>
<executionEnvironment>JavaSE-17</executionEnvironment>
<executionEnvironment>JavaSE-21</executionEnvironment>
<target>
<artifact>
<groupId>io.openliberty.tools.eclipse</groupId>
Expand Down
3 changes: 2 additions & 1 deletion releng/io.openliberty.tools.update/category.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2022, 2023 IBM Corporation and others.
Copyright (c) 2022, 2024 IBM Corporation and others.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0 which is available at
Expand All @@ -20,5 +20,6 @@

<repository-reference location="https://download.eclipse.org/jdtls/milestones/1.34.0/repository" enabled="true" />
<repository-reference location="https://download.eclipse.org/lsp4mp/releases/0.11.3/repository" enabled="true" />
<repository-reference location="https://download.eclipse.org/lsp4j/updates/releases/0.22.0" enabled="true" />
<repository-reference location="https://download.eclipse.org/lsp4jakarta/releases/0.2.1/repository" enabled="true" />
</site>
Loading

0 comments on commit abf057f

Please sign in to comment.