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