Skip to content

Latest commit

 

History

History
239 lines (152 loc) · 11.8 KB

File metadata and controls

239 lines (152 loc) · 11.8 KB

Eclipse m2e - Release notes

2.0.2

Support for colored Maven console printouts

M2E now supports colored console printouts for Maven builds launched in the IDE out of the box.

This is built on top of the new support for colored Console content, which is added to Eclipse-Platform in the 2022-09/4.25 release (which is therefore required). In the Run/Debug-configuration of a Maven Build launch it can be controlled if the printout is colored or not (i.e. the value of Maven's style.color property). The default is Auto, which enables colored print-outs if colored Console printout is generally enabled in the workspace.

2.0.1

Require Java 17 or above

Running m2e now requires a Java-17 (or higher) compliant JRE.

Removed legacy WTP-SSE based editor

The legacy textual editor is removed as it doesn't receive enough update/maintenance. The editor based on Generic Editor and LemMinX-Maven is now the only one distributed by m2e.

Inclusion of m2e-apt plugins for annotation processors

m2e-apt plugins that were so far included in JBoss Tools were migrated into m2e and are shipped by default with m2e installations. So annotation processing should be better supported out of the box.

Inclusion of maven archiver connector

m2e mavenarchiver connector so far part of some external repository were migrated into m2e and are shipped by default with m2e installations.

Stop caching of Maven-projects for legacy clients

For for clients that request setup MojoExecution outside of MavenBuilder context the MavenProject is not longer cached any more. In general MojoExecutions should be set up within the scope of MavenExecutionContext.

Multiple API breakage

This major release improves (and cleans up) various legacy APIs. Some clients may require to update their code if they use removed APIs. This commit can be used as an example of how to adapt to newer APIs. Usually, calling mavenProjectFacade.createExecutionContext().execute(...) is a good replacement to removed APIs.

1.20.1

Sign *.jnilib files for macOS

Embedded *.jnilib files are now signed for macOS to fulfill macOS-notarization requirements.

1.20.0

📢 This is most probably the last 1.x release of m2e. m2e will then start working on a 2.0 version, with some disruptive changes. If you're using m2e in your application and rely on its API, please consider following closely future development to facilitate integration of further versions.

Automatically launch and attach Remote-Application-Debugger when Maven plug-in starts a forked JVM that waits for a debugger

If a Maven plug-in like Maven-Surefire, Tycho-Surefire or Tycho-Eclipserun launches a separate ("forked") JVM process in debug mode, so that it waits for a debugger being attached and prints a line like Listening for transport dt_socket at address: <port-number>, M2E now detects such lines and automatically launches a Remote-Application-Debugger in the context of the workspace project being build at that time and using the printed port. As usual the debugger stops at encountered break-points so one can step through the code or analyze the state of variables.

For example to debug a test executed by the Maven-surefire plug-in within a Maven build, one only has to specify the property maven.surefire.debug=true in the Maven launch-configuration and the debugger will just stop at the break-points in the executed tests:

grafik

Further information, how to activate the debug mode of forked JVMs for the plug-ins mentioned above, can be found at the following links:

Improved links to JUnit test-reports and project pom.xml in the Console of a Maven build

Clicking on the link placed at the name of a running test-class now opens the JUnit view that displays the test-reports of the executed tests:

grafik

For each project build a link is now added to the project's headline, which opens the project's pom.xml file when clicked:

grafik

In case of a build failure another link, that opens the pom.xml of the failed project, is added to the line that that describes the failure at the very end of the Maven build print-out:

grafik

the m2e-pde editor now supports generation of a feature from a location:

In the wizard it is now possible to request generation of a feature

grafik

If the option is checked the wizard contains a new page to enter basic infos

grafik

If one likes he can add additional plugins as well that should be mentioned in the feature (but this step is optional)

grafik

Afterwards this will end up in the target source and one can add/edit/adjust additional data, effectivly everything the feature.xml supports is allowed here:

grafik

Include and use Maven 3.8.4

Maven 3.8.4 is now used internally in m2e. This allows to benefit from various improvements of recent Maven versions

Improved LemMinX-based editor with newer LemMinX-Maven

LemMinX-Maven 0.5.1 is now used and provide many major improvements. A noticeable one is the search.maven.org engine is now used instead of the indexer. This will greatly improve the "warmup" time of the editor. Other bugfixes and performance improvements have a very positive and visible impact on the user experience when using the Generic Editor.

Other noticeable changes

1.19.0

Generic Editor with LemMinX-Maven used as default source editor

The legacy WTP-based pom editor is not included by default anymore. The LemMinX-Maven based editor is now referenced by default from the main feature, but as optional, so it can still be uninstalled, and the legacy editor can be manually installed instead.

The new editor brings more powerful pom.xml understanding and edition features; and evolves much faster than the WTP-based one.

1.18.2

the m2e-pde editor now supports adding more than one dependency per target location:

grafik grafik

<target name="multipleElements">
<locations>
	<location includeDependencyScope="compile" includeSource="true" missingManifest="generate" type="Maven">
		<dependency>
			<groupId>org.eclipse.jetty</groupId>
			<artifactId>jetty-server</artifactId>
			<version>11.0.3</version>
			<type>jar</type>
		</dependency>
		<dependency>
			<groupId>org.eclipse.jetty</groupId>
			<artifactId>jetty-servlet</artifactId>
			<version>11.0.3</version>
			<type>jar</type>
		</dependency>
	</location>
</locations>
</target>

Old target formats are automatically converted.

the m2e-pde editor now supports adding additional maven repoistories for a target location:

grafik

<target name="extraRepository">
	<locations>
		<location includeDependencyScope="compile" includeSource="true" missingManifest="generate" type="Maven">
			<dependencies>
				<dependency>
				  <groupId>edu.ucar</groupId>
				  <artifactId>cdm</artifactId>
				  <version>5.0.0</version>
				</dependency>
			</dependencies>
			<repositories>
				<repository>
					<id>unidata-all</id>
					<url>https://artifacts.unidata.ucar.edu/repository/unidata-all/</url>
				</repository>
			</repositories>
		</location>
	</locations>
</target>

Multiple fixes and improvement in LemMinX based editor

With upgrade to newer LemMinX-Maven, the edition of pom.xml with the Generic Editor receives several comfortable fixes and improvements.

One way synchronization for jpms directives from maven compiler arguments to .classpath file

Extract jpms arguments (--add-exports,--add-opens,--add-reads,--patch-module) from the maven-compiler-plugin compiler arguments if any. Dispatch the arguments in the right container (if the target module is part of JRE then in JreContainer else in M2eContainer) and transform them into eclipse classpath attributes (add-exports, add-opens, add-reads, patch-module)

Improved m2e development workflow

Many improvements happened in m2e to facilitate the setup and maintenance of the development environment. See details in CONTRIBUTING.md.

Older releases

1.18.1

Main changes:

  • Use newer guava 30.1
  • Code cleanups
  • Improve project structure, documentation and other files to ease contributions

1.18.0

1.17.2

Main contents:

  • Upgrade dependencies and build toolchain: Most noticeably, Guava 30.1 is now used
  • Improvements to the LemMinX-Based pom editor, mainly through upgrade to newer Wild Web Developer and LemMinX-Maven releases
  • Improvements & fixes to Maven PDE Target Platform location editor
  • High-resolution icons ➡️🐛📝
  • Performance improvement/fix in the Run Configuration with Verifying launch attributes job ➡️🐛📝

📝 Release notes for 1.17.1 and former releases are available at https://projects.eclipse.org/projects/technology.m2e/releases/