You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Hervé BOUTEMY <he...@free.fr> on 2016/01/24 17:53:22 UTC

Re: svn commit: r1726483 - /maven/site/trunk/content/markdown/docs/3.3.1/release-notes.md

thank you Karl Heinz

that's good to see this content migrate to Apache Maven in the end, for the 
long term support, with a link to original source (since it's not about 
avoiding personal work and making it well known)

Regards,

Hervé

Le dimanche 24 janvier 2016 12:28:21 khmarbaise@apache.org a écrit :
> Author: khmarbaise
> Date: Sun Jan 24 12:28:20 2016
> New Revision: 1726483
> 
> URL: http://svn.apache.org/viewvc?rev=1726483&view=rev
> Log:
> Migrated Maven Release Notes of 3.3.1 to Apache Project.
> 
> Modified:
>     maven/site/trunk/content/markdown/docs/3.3.1/release-notes.md
> 
> Modified: maven/site/trunk/content/markdown/docs/3.3.1/release-notes.md
> URL:
> http://svn.apache.org/viewvc/maven/site/trunk/content/markdown/docs/3.3.1/r
> elease-notes.md?rev=1726483&r1=1726482&r2=1726483&view=diff
> ===========================================================================
> === --- maven/site/trunk/content/markdown/docs/3.3.1/release-notes.md
> (original) +++
> maven/site/trunk/content/markdown/docs/3.3.1/release-notes.md Sun Jan 24
> 12:28:20 2016 @@ -22,13 +22,10 @@
>   http://maven.apache.org/doxia/references/apt-format.html
>  -->
> 
> -## Maven 3.3.1
> +## Overview
> 
> -The Apache Maven team would like to announce the release of Maven 3.3.1.
> Many thanks for Karl Heinz Marbaise for writing up the most complete
> release notes which you can find here: -
> -<http://blog.soebes.de/blog/2015/03/17/apache-maven-3-dot-3-1-features/>
> -
> -Maven 3.3.1 is [available for download][0].
> +The Apache Maven team would like to announce the release of Maven Version
> 3.3.1. The new +Maven Version is [available for download][0].
> 
>  Maven is a software project management and comprehension tool. Based on the
> concept of a project object model (POM), Maven can manage a project's
> build, reporting and documentation from a central place. @@ -46,12 +43,208
> @@ We hope you enjoy using Maven! If you ha
> 
>  The full list of changes can be found in our [issue management system][4].
> 
> -## Complete Release Notes
> +The full list of all release notes for all versions can be found on the
> [history page of the +Maven project][5].
> +
> +## Release Notes In Detail
> +
> +The new [Maven 3.3.1 Release is just
> out](http://mail-archives.apache.org/mod_mbox/maven-announce/201503.mbox/%3
> C1954448.IV3m89R0sE%40herve-desktop%3E). Let us take a deeper look into the
> new features/improvements: +
> +* The first and most important thing is that [Maven 3.3.1 needs JDK
> 1.7][MNG-5780]. +
> +### Toolchains
> +
> +* In our days it becomes more and more important to be able to use
> different JDK +  to be used by Maven itself and which is used to
> compile/test your production code. +  This concept is know under the name
> [Toolchains][0] which is unfortunately not very +  well-known.
> +
> +* The handling of the [`toolchains.xml`][MNG-3891] file has been adjusted
> with the +  handling of `settings.xml` which means it will be searched
> within the +  `${maven.home}/conf/` folder and furthermore within the
> `${user.home}/.m2/` folder. +
> +* For a better understanding and as an example of the `toolchains.xml` file
> has been added +  to the [Maven distribution][MNG-5745].
> +
> +* Maven has been improved to read the `toolchains.xml` file [during
> initialization][MNG-5754] instead +  of waiting till
> [maven-toolchains-plugin][maven-toolchains-plugin] will read it. +
> +### Core Extensions
> +
> +* Core Extension mechanism has [been improved][MNG-5771] to make
> +  it simpler to use.
> +
> +* The old way (up to Maven 3.2.5) was to create a jar (must be shaded if
> you have other dependencies) +  which contains the extension and put it
> manually into the `${MAVEN_HOME}/lib/ext` folder. +  This means you had to
> change the Maven installation. The consequence was that everyone who likes
> +  to use this needed to change it's installation and makes the on-boarding
> for a developer much +  more inconvenient. The other option was to give the
> path to the jar on command line via +  `mvn
> -Dmaven.ext.class.path=extension.jar`. This has the drawback giving those +
>  options to your Maven build every time you are calling Maven. Not very
> convenient as well. +
> +* From now on this can be done much more simpler and in a more Maven like
> way. So +  you can define an `${maven.projectBasedir}/.mvn/extensions.xml`
> file which looks +  like the following:
> +
> +``` xml
> +<extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + 
> xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0
> http://maven.apache.org/xsd/core-extensions-1.0.0.xsd"> +  <extension>
> +    <groupId/>
> +    <artifactId/>
> +    <version/>
> +  </extension>
> +</extensions>
> +```
> +
> +*  Now you can simply use an extension by defining the usual maven
> coordinates +   `groupId`, `artifactId`, `version` as any other artifact.
> Furthermore all +   transitive dependencies of those extensions will
> automatically being downloaded +   from your repository. So no need to
> create a shaded artifact anymore. +
> +   An other advantage is that the `${maven.projectBasedir}/.mvn/`
> +   directory is located in the root of your Maven project and in
> conseuqence +   is part of your project which means you will check it in
> along with +   your project. So everyone who checks out your project
> automatically +   can use the extensions.
> +
> +   One thing is important that the extensions will be resolved from the
> +   pluginRepository. This is important if you have configured the
> pluginRepository +   different from the repository.
> +
> +### JVM and Command Line Options
> +
> +* [Project specific jvm and command line otions][MNG-5767]
> +
> +* It's really hard to define a general set of options for calling the maven
> +  command line. Usually this will be solved by putting this options to a
> script +  but this can now simple being done by defining
> +  `${maven.projectBasedir}/.mvn/maven.config` file which contains the
> +  configuration options for the command line. For example things like `-T3
> -U +  --fail-at-end`. So you only have to call maven just by using `mvn
> clean +  package` instead of `mvn -T3 -U --fail-at-end clean package` and
> not to miss +  the `-T3 -U --fail-at-end` options. The
> `${maven.projectBasedir}/.mvn/maven.config` +  is located in the
> `${maven.projectBasedir}/.mvn/` folder which is in the root +  of a multi
> module build. This folder is part of the project and will be checked +  in
> into your version control. This results in being picked by everybody who + 
> checks out the project and no need to remember to call this project +  via
> `mvn -T3 -U --fail-at-end clean package` instead of `mvn clean package`. +
> +* In Maven it is not simple to define JVM configuration on a per project
> base. +  The existing mechanism based on an environment variable
> `MAVEN_OPTS` and the +  usage of `${user.home}/.mavenrc` is an other
> +  option with the drawback of not being part of the project.
> +
> +* Starting with this release you can define JVM configuration via
> +  `${maven.projectBasedir}/.mvn/jvm.config` file which means you can define
> the +  options for your build on a per project base. This file will become
> part of +  your project and will be checked in along with your project. So
> no need anymore +  for `MAVEN_OPTS`, `.mavenrc` files. So for example if
> you put the following JVM +  options into the
> `${maven.projectBasedir}/.mvn/jvm.config` file +
> +```
> +-Xmx2048m -Xms1024m -XX:MaxPermSize=512m -Djava.awt.headless=true
> +```
> +
> +* you don't need to remember of using this options in `MAVEN_OPTS` or
> switching +  between different configurations.
> +
> +
> +### Plugin Goal Invocation from Command Line
> +
> +
> + * Improvement for [Plugin Goal Invocation from command line][MNG-5768]
> +
> +If you call a plugin directly from command line like the following:
> +
> +```
> +mvn exec:java
> +```
> +The configuration which is used here can be defined in your pom by using an
> execution id `default-cli`. +
> +```
> +<project...>
> +
> +  <build>
> +    <plugins>
> +      <plugin>
> +        <groupId>org.codehaus.mojo</groupId>
> +        <artifactId>exec-maven-plugin</artifactId>
> +        <version>1.3.2</version>
> +        <executions>
> +          <execution>
> +            <id>default-cli</id>
> +            <configuration>
> +              <mainClass>com.soebes.test.First</mainClass>
> +            </configuration>
> +          </execution>
> +        </executions>
> +      </plugin>
> +    </plugins>
> +  </build>
> +</project>
> +```
> +
> +Starting with this Maven release you can now define several configuration
> for different +executions on command like the following:
> +
> +```
> +<project...>
> +
> +  <build>
> +    <plugins>
> +      <plugin>
> +        <groupId>org.codehaus.mojo</groupId>
> +        <artifactId>exec-maven-plugin</artifactId>
> +        <version>1.3.2</version>
> +        <executions>
> +          <execution>
> +            <id>default-cli</id>
> +            <configuration>
> +              <mainClass>com.soebes.test.First</mainClass>
> +            </configuration>
> +          </execution>
> +          <execution>
> +            <id>second-cli</id>
> +            <configuration>
> +              <mainClass>com.soebes.test.Second</mainClass>
> +            </configuration>
> +          </execution>
> +        </executions>
> +      </plugin>
> +    </plugins>
> +  </build>
> +</project>
> +```
> +
> +So if you like to use the configuration given with the execution id:
> +`second-cli` this can be done like this:
> +
> +```
> +mvn exec:java@second-cli
> +```
> +
> +So now you can define more than one configuration for command line
> executions. +
> + * The Maven team has decided to [drop support for Win9x in launch
> scripts](https://jira.codehaus.org/browse/MNG-5776) +   at long last. Yeah.
> +
> +
> +The above release notes have [originally been written by Karl Heinz
> Marbaise +and migrated afterwards to the Apache Maven
> project](http://blog.soebes.de/blog/2015/03/17/apache-maven-3-dot-3-1-featu
> res/).
> 
> -See [complete release notes for all versions][5]
> 
>  [0]: ../../download.html
>  [1]: ../../plugins/index.html
>  [2]: http://maven.apache.org/
>  [4]:
> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12316922&a
> mp;version=12330193 [5]: ../../docs/history.html
> +
> +[maven-toolchains-plugin]:
> http://maven.apache.org/plugins/maven-toolchains-plugin/ +[MNG-3891]:
> https://jira.codehaus.org/browse/MNG-3891
> +[MNG-5745]: https://jira.codehaus.org/browse/MNG-5745
> +[MNG-5754]: https://jira.codehaus.org/browse/MNG-5754
> +[MNG-5771]: https://jira.codehaus.org/browse/MNG-5771
> +[MNG-5767]: https://jira.codehaus.org/browse/MNG-5767
> +[MNG-5768]: https://jira.codehaus.org/browse/MNG-5768
> +[MNG-5780]: https://jira.codehaus.org/browse/MNG-5780


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: svn commit: r1726483 - /maven/site/trunk/content/markdown/docs/3.3.1/release-notes.md

Posted by Karl Heinz Marbaise <kh...@gmx.de>.
Hi Hervé,

On 1/24/16 5:53 PM, Hervé BOUTEMY wrote:
> thank you Karl Heinz
>
> that's good to see this content migrate to Apache Maven in the end, for the
> long term support, with a link to original source (since it's not about
> avoiding personal work and making it well known)

Isn't that what we have discusses and what i have said ;-)...

Kind regards
Karl Heinz Marbaise

>
> Regards,
>
> Hervé
>
> Le dimanche 24 janvier 2016 12:28:21 khmarbaise@apache.org a écrit :
>> Author: khmarbaise
>> Date: Sun Jan 24 12:28:20 2016
>> New Revision: 1726483
>>
>> URL: http://svn.apache.org/viewvc?rev=1726483&view=rev
>> Log:
>> Migrated Maven Release Notes of 3.3.1 to Apache Project.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org