blob: 9f583c274edb2e21ebc96f3da181bf7a4b8e1e20 [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
<!--[if !IE]><!-->
<html lang="en"> <!--<![endif]-->
<head>
<title>M2Eclipse | 1.5 Release Notes</title>
<!-- Meta -->
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="M2Eclipse provides tight integration for Apache Maven into the Eclipse IDE." />
<meta name="author" content="eclipse.org" />
<meta property="twitter:account_id" content="15710507" />
<!-- CSS Global Compulsory-->
<link rel="stylesheet" href="/m2e/assets/plugins/bootstrap/css/bootstrap.css" />
<link rel="stylesheet" href="/m2e/assets/css/style.css" />
<link rel="stylesheet" href="/m2e/assets/css/m2eclipse.css" />
<link rel="shortcut icon" href="/m2e/assets/img/favicon.ico" />
<!-- CSS Implementing Plugins -->
<link rel="stylesheet" href="/m2e/assets/plugins/font-awesome/css/font-awesome.css" />
<!-- GA -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-56202333-1', 'eclipse.org');
ga('send', 'pageview');
</script>
</head>
<body>
<div class="wrap">
<div class="header">
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="navbar-inner">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-responsive-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/m2e/index.html">
<img id="logo-header" src="/m2e/assets/img/m2e_logo.png" alt="M2Eclipse" width="150" height="61" />
</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse navbar-responsive-collapse">
<ul class="nav navbar-nav navbar-left">
<li class="">
<a href="/m2e/m2e-news.html">News</a>
</li>
<li class="">
<a href="/m2e/m2e-downloads.html">Download</a>
</li>
<li class="">
<a href="/m2e/documentation/m2e-documentation.html">Documentation</a>
</li>
<li class="">
<a href="/m2e/m2e-community.html">Community</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div><!-- END header -->
<div class="margin-bottom-20"></div>
<div class="container">
<div class="margin-bottom-100"></div>
<div class="row">
<div class="col-md-3">
<div class="docNavigation affix">
<div class="margin-bottom-30"></div>
<h4 class="headline">Users</h2>
<ul class="unstyled">
<li><a href="/m2e/documentation/m2e-faq.html">FAQ</a></li>
<li><a href="/m2e/documentation/m2e-execution-not-covered.html">Execution Not Covered</a></li>
</ul>
<h4 class="headline">Developers</h2>
<ul class="unstyled">
<li><a href="https://github.com/eclipse-m2e/m2e-core/blob/master/CONTRIBUTING.md">Development Environment Setup</a></li>
</ul>
<h4 class="headline">Extension Developers</h2>
<ul class="unstyled">
<li><a href="/m2e/documentation/m2e-extension-development.html">Getting Started</a></li>
<li><a href="/m2e/documentation/m2e-making-maven-plugins-compat.html">Making Maven Plugins Compatible</a></li>
</ul>
<h4 class="headline">Release Notes</h2>
<ul class="unstyled">
<li><a href="/m2e/documentation/release-notes-116.html">M2Eclipse 1.16</a></li>
<li><a href="/m2e/documentation/release-notes-19.html">M2Eclipse 1.9</a></li>
<li><a href="/m2e/documentation/release-notes-18.html">M2Eclipse 1.8</a></li>
<li><a href="/m2e/documentation/release-notes-17.html">M2Eclipse 1.7</a></li>
<li><a href="/m2e/documentation/release-notes-16.html">M2Eclipse 1.6</a></li>
<li><a href="/m2e/documentation/release-notes-15.html">M2Eclipse 1.5</a></li>
</ul>
</div>
</div>
<div class="col-md-9 docs">
<p><a href="https://www.eclipse.org/m2e">M2Eclipse</a>, released version 1.5.0 a few weeks ago, as part of the annual Eclipse release train, this year known as Luna. <a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&classification=Technology&columnlist=target_milestone%2Ccomponent%2Cassigned_to%2Cresolution%2Cshort_desc%2Cchangeddate&known_name=m2e%201.5&list_id=9536440&product=m2e&query_based_on=m2e%201.5&query_format=advanced&resolution=---&resolution=FIXED&resolution=INVALID&resolution=WONTFIX&resolution=DUPLICATE&resolution=WORKSFORME&resolution=MOVED&resolution=NOT_ECLIPSE&target_milestone=1.5.0%2FLuna%20M1&target_milestone=1.5.0%2FLuna%20M2&target_milestone=1.5.0%2FLuna%20M3&target_milestone=1.5.0%2FLuna%20M4&target_milestone=1.5.0%2FLuna%20M5&target_milestone=1.5.0%2FLuna%20M6&target_milestone=1.5.0%2FLuna%20M7&target_milestone=1.5.0%2FLuna%20RC2">77 Bugs</a> were fixed as part of that release, compatible with both Eclipse Kepler and Luna. I believe it’s a pretty solid one, with numerous interesting fixes and usability improvements that deserve a blog post. So here goes, in no particular order:</p><h1><a href="#improved-project-import-workflow" name="improved-project-import-workflow">Improved project import workflow</a></h1><p>Selecting Maven projects to import used to take an inordinate amount of time, due to a suboptimal - I love that word :-) - Maven Lifecycle Mapping Analysis (LMA). LMA is used to determine whether the projects would require further configuration to operate properly in Eclipse. That LMA is now only run after projects are imported, making selection of projects to import much, <strong>much</strong> faster (&lt; couple seconds vs 1-2 min for the wildfly 8.0 codebase and its 130 projects, for instance)</p><p>After import, lifecycle mapping error markers are collected on imported projects and the discovery service is invoked to find proposals to fix those errors.</p><p>Another improvement to this workflow is the ability to easily import multi-module projects to an Eclipse Working Set. The default name is inferred from the root project but can be overridden manually:</p><p><img src="images/m2e-workingset-import.png" alt="X""/></p><p>More <a href="http://bugs.eclipse.org/436679">performance</a> <a href="http://bugs.eclipse.org/436668">improvements</a> during import itself are to be expected to be included in M2Eclipse 1.6.0.</p><p>See bugs <a href="https://bugs.eclipse.org/409732">409732</a>, <a href="https://bugs.eclipse.org/408042">408042</a> and <a href="https://bugs.eclipse.org/417466">417466</a>.</p><h1><a href="#improved-memory-consumption" name="improved-memory-consumption">Improved memory consumption</a></h1><p>Maven project instance caching strategy has been revisited to reduce memory consumption. For a workspace with 300+ projects for instance, heap memory used went from 2.5GB down to well under 1GB without any noticeable side effects.</p><p>See <a href="https://dev.eclipse.org/mhonarc/lists/m2e-dev/msg01389.html">Igor’s announcement</a> and bug <a href="https://bugs.eclipse.org/410954">410954</a>.</p><h1><a href="#nexus-index-download-disabled-by-default" name="nexus-index-download-disabled-by-default">Nexus index download disabled by default</a></h1><p>Before M2Eclipse 1.5, by default, Nexus indexes were downloaded on new workspace startup, then subsequently once a week. Depending on your internet connection, that whole process could take 15 minutes or more, heavily pegging the CPU. Once the indexes were updated, the size of the workspace would increase by approximately 500 MB. Even though space is relatively cheap these days, those with many workspaces (eg., for testing) or large workspaces, this extra disk usage can add up quickly.</p><p>M2Eclipse 1.5.0 now has this feature disabled by default. You can still enable it in menu:Preferences[Maven &gt; Download repository index updates on startup]. One major downside of having this feature disabled by default though, is Archetype and Artifact/Plugin searches are now much less efficient, as they rely on this indexed content.</p><p>See bug <a href="https://bugs.eclipse.org/404417">404417</a></p><h1><a href="#new-maven-profile-management-ui" name="new-maven-profile-management-ui">New Maven Profile management UI</a></h1><p>The JBoss Tools team contributed its <a href="https://marketplace.eclipse.org/content/maven-profiles-management">Maven Profile management interface</a> to M2Eclipse 1.5.0. This new interface eases switching between profiles.</p><p>Rather than right-clicking on a project, going to the menu:Properties<a href="http://maven.apache.org">Maven</a> page, then manually (mis)typing a list of active or disabled profiles, you can now just use kbd:[Ctrl+Alt+P] to open the new Maven Profile selection interface.</p><p><img src="images/m2e-profile-selection.png" alt="X""/></p><p>The new interface is also accessible from the Maven context menu: Right-click project menu:Maven[Select Maven Profiles…]</p><p>The list of available profiles is inferred from profiles defined in:</p>
<ul>
<li>the project pom.xml</li>
<li>the project’s parent hierarchy</li>
<li>user and global maven settings.xml</li>
</ul><p>When several projects are selected, only the common available profiles are displayed for selection. Common profiles are profiles defined in settings.xml or profiles having the same id in different pom.xml.</p><p>You can learn more about that feature from the original <a href="http://docs.jboss.org/tools/whatsnew/maven/maven-news-3.3.0.M3.html#itemname1">JBoss Tools blog</a></p><p>See bug <a href="https://bugs.eclipse.org/428094">428094</a></p><h1><a href="#easily-update-outdated-projects" name="easily-update-outdated-projects">Easily update outdated projects</a></h1><p>The Update Maven Project dialog (launched via Right-click project menu:Maven[Update Project…] or via kbd:[Alt-F5]), now shows a <em>dirty</em> overlay on projects which need updating.</p><p>Additionally, an &ldquo;Add out-of-date&rdquo; button adds all out-of-date (OOD) projects to the current selection. If an OOD project has not been selected, a warning is shown underneath the selection table with a link equivalent to &ldquo;Add out-of-date&rdquo;. Warning text and &ldquo;Add out-of-date&rdquo; button tooltip show a count of unselected OOD projects.</p><p><img src="images/m2e-select-ood-projects.png" alt="X""/></p><p>See it in action: <a href="http://screencast.com/t/27S0qeca">http://screencast.com/t/27S0qeca</a></p><p>See bug <a href="https://bugs.eclipse.org/422667">422667</a></p><h1>No more <code>Unsupported IClasspathEntry kind=4</code></h1><p>There’s a very popular <a href="http://stackoverflow.com/questions/10564684/how-to-fix-error-updating-maven-project-unsupported-iclasspathentry-kind-4">question on StackOverflow</a> about an M2Eclipse bug that plagued many users of the maven-eclipse-plugin: M2Eclipse would throw <code>Unsupported IClasspathEntry kind=4</code> exceptions on classpath entries generated by the maven-eclipse-plugin (one of the reasons why you should never mix maven-eclipse-plugin and M2Eclipse).</p><p>M2Eclipse 1.5.0 no longer complains about these unsupported classpath entries, but unexpected classpath issues may still arise, should you mix duplicate jars from M2Eclipse and those added by the maven-dependency-plugin.</p><p>See bug <a href="https://bugs.eclipse.org/394042">https://bugs.eclipse.org/394042</a></p><h1><a href="#new-checksum-settings" name="new-checksum-settings">New checksum settings</a></h1><p>Ever connected to a network with limited Internet access or simply stayed at a hotel where you needed to get past a for-pay-firewall, resulting in HTML pages being downloaded instead of jars? There’s nothing better to pollute your local Maven repository. Maven CLI builds can use these flags:</p>
<ul>
<li><p><code>-C</code> - fail build if checksums do not match</p></li>
<li><p><code>-c</code> - warn if checksums do not match</p></li>
</ul><p>M2Eclipse now has a global Checksum Policy available in menu:Preferences<a href="http://maven.apache.org">Maven</a>, that will help you keep your sanity, and your local repository clean:</p><p><img src="images/m2e-checksum-policy-flag.png" alt="X""/></p><p>While M2Eclipse actually won’t create any Warning markers on projects when &ldquo;Warn&rdquo; is selected, it will override existing checksum policies set on repositories.</p><p>See bug <a href="https://bugs.eclipse.org/418674">https://bugs.eclipse.org/418674</a></p><h1><a href="#improved-settings-for-errors-warnings-preferences" name="improved-settings-for-errors-warnings-preferences">Improved settings for Errors/Warnings preferences</a></h1><p>M2Eclipse has been known for generating specific errors that have puzzled more than one user in the past:</p>
<ul>
<li><p><code>Project Configuration is not up-to-date</code> - a change in pom.xml <strong>might</strong> require a full project configuration update.</p></li>
<li><p><code>Plugin execution not covered by lifecycle</code> - M2Eclipse doe not know if it is safe to execute a maven plugin as part of the Eclipse build</p></li>
</ul><p>With the new menu:Preferences[Errors/Warnings] page, users can now decide according to their own needs whether these errors should be downgraded to <code>Warning</code>, or even be ignored entirely.</p><p><img src="images/m2e-warnerrors-prefs.png" alt="X""/></p><p>See bugs <a href="https://bugs.eclipse.org/433776">433776</a>, <a href="https://bugs.eclipse.org/434053">434053</a></p><h1><a href="#maven-runtime-changes" name="maven-runtime-changes">Maven runtime changes</a></h1><p>A few changes have been made with regards to the Maven runtime(s):</p>
<ul>
<li><p>The embedded Maven runtime has been updated to maven 3.2.1.</p></li>
<li><p>The Netty/AsynHttpClient transport layer as been replaced with OkHttp 1.5.4. OkHttp is now the default HTTP client on the Android platform. It brings HTTP 2.0 and SPDY support to artifact downloads. Please note though, NTLM authentication is <a href="https://github.com/square/okhttp/issues/206">not supported</a>.</p></li>
<li><p>Maven runtime installations can now be customized with a name, and additional libraries can be added. Maven Launch configurations now reference the Maven runtime by name, instead of using a hard-coded location so the configuration is more portable.</p></li>
</ul><p>See bugs <a href="https://bugs.eclipse.org/427932">427932</a>, <a href="https://bugs.eclipse.org/418263">418263</a>, <a href="https://bugs.eclipse.org/432436">432436</a></p><h1><a href="#accept-contributions-from-gerrit" name="accept-contributions-from-gerrit">Accept contributions from Gerrit</a></h1><p>In order to lower the contribution barrier and increase contributor diversity, the M2Eclipse project now <a href="https://wiki.eclipse.org/M2E_Development_Environment#Submitting_patches">accepts changes</a> contributed via the <a href="https://code.google.com/p/gerrit/">Gerrit</a> review system. Head over the <a href="http://wiki.eclipse.org/Gerrit">wiki</a> that explains how to use it. Does it work? <a href="https://git.eclipse.org/r/#/q/m2e-core,n,z">Hell yeah</a>! After several significant <a href="http://git.eclipse.org/c/m2e/m2e-core.git/log/?qt=author&q=Anton+Tanasenko">contributions</a>, <a href="https://plus.google.com/107693438225172488731/posts">Anton Tanasenko</a> has joined the M2Eclipse team as commiter!</p><p>Welcome Anton!</p><p>See bug <a href="https://bugs.eclipse.org/374665">374665</a></p><h1><a href="#conclusion" name="conclusion">Conclusion</a></h1><p>With new blood on the m2e team, numerous fixed bugs and some big new features &amp; improvements, m2e 1.5.0 is a pretty exciting release. Hope you guys appreciate this year’s release, before an even better version next time.</p><p>So if you haven’t installed m2e 1.5.0 yet, head over to <a href="https://www.eclipse.org/m2e/download/">https://www.eclipse.org/m2e/download/</a> and have at it.</p><p>We’d love to hear your feedback on the <a href="https://dev.eclipse.org/mailman/listinfo/m2e-users">mailing list</a>, or whether you <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=m2e">report bugs or enhancement requests</a>.</p><p>Article originally taken from the <a href="http://tools.jboss.org/blog/2014-07-08-m2e-1_5-improvements.html">JBoss Blog</a>. Thanks to Fred Bricon for writing up our release notes :-)</p>
</div>
</div>
</div>
</div><!-- END wrap -->
<div class="stickyFooter">
<div class="footer">
<div class="container">
<div class="row">
<div class="col-md-4 md-margin-bottom-40"></div><!--/col-md-4-->
<div class="col-md-4 md-margin-bottom-40"> </div>
<div class="col-md-4">
</div>
</div>
</div>
</div>
<div class="copyright">
<div class="container">
<div class="row">
<div class="col-md-6">
<p class="copyright-space">
<a href="https://www.eclipse.org/">Home</a> | <a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a> | <a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a> | <a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a> | <a href="https://www.eclipse.org/legal/">Legal</a> | <a href="https://www.eclipse.org/org/foundation/contact.php">Contact Us</a>
</p>
</div>
<div class="col-md-6" align="right">
<p class="copyright-space">
Copyright &copy;
2016 The Eclipse Foundation. All Rights Reserved.
</p>
</div>
</div>
</div>
</div>
</div>
<!-- JS Global Compulsory -->
<script type="text/javascript" src="/m2e/assets/plugins/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="/m2e/assets/plugins/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript" src="/m2e/assets/plugins/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="/m2e/assets/plugins/hover-dropdown.min.js"></script>
<script type="text/javascript" src="/m2e/assets/plugins/back-to-top.js"></script>
<!-- TESTING JS -->
<script type="text/javascript" src="/m2e/assets/plugins/app.js"></script>
<script type="text/javascript">
jQuery(document).ready(function() {
App.init();
});
</script>
<!--[if lt IE 9]>
<script src="/m2e/assets/plugins/respond.js"></script>
<![endif]-->
</body>
</html>