Eclipse Migration Toolkit for Java
Project state: Incubating
Summary: The Eclipse Migration Toolkit for Java is a tooling project for assisting the Java version migration. The project provides static/dynamic tools and documents that support the migration of Java...

Eclipse Migration Toolkit for Java offers a toolkit that simplifies the migration of Java applications from previous versions of OpenJDK, especially those deemed as Long Term Service (LTS) release versions.

The toolkit contains core rule-based services available through different user interfaces, including a command-line interface (CLI), build automation tool plugins, a Java agent, and some other popular DevOps tooling as the project sees fit. Finally, it will produce various report formats (TEXT, JSON, HTML) to help developers migrate to the Java version.

Participants in the project are responsible for developing, managing, and supporting technologies that:

Develop the rule-based services for the Java version migration. LTS versions are the primary focus.

Define the rule set for the best coverage in Incompatible/Internal/Deprecated/Removed JDK API usage, closely collaborate with the OpenJDK community, and maintain/enrich them along with the new OpenJDK release.

Develop the rule-based service for Java options migration across different OpenJDK versions

Define the ruleset to identify the Removed/Deprecated/Replaced/Recommended options while upgrading to the new JDK version.

Define the dependency checking rules for popular third-party libraries and engage third-party communities to maintain the validating relationship between the version of the third-party library and their supported Java release.

Implement the mechanism to analyze and detect the dependencies on the internal structure layout of JDK classes via Reflection API and the incompatibility issues introduced by Java modularity.

Support the integration with the automation build tools, such as Maven, Gradle, etc., via plugins.

Develop various friendly user interfaces, which rely on core rule-based services to assist the users for easy migration, including CLI, Web UI, and Agent.

Provide the results in different formats highlighting areas that need changes for the migration.

Provide documentation assistance for different version migrations.

Integrate with JDK built-in tools: jdeps and jdeprscan.

Project leads: ddongjac (Denghui Dong)
Committers: chengang (gang chen), ddongjac (Denghui Dong), sanhonglsh (Sanhong Li), yanglong1010 (Long Yang)