mirror of https://github.com/apache/maven.git
remove tech preview references
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@289610 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
66dddfc944
commit
b493a96c98
|
@ -83,15 +83,19 @@
|
|||
</faq>
|
||||
|
||||
<faq id="tech-review">
|
||||
<question>What does Technology Preview mean?</question>
|
||||
<question>What does beta release mean?</question>
|
||||
<answer>
|
||||
<p>
|
||||
While Maven 2.0 is quite useful as is, it does not yet have all of the features of it's predecessor, and has
|
||||
some limitations that may impede it's use on a day-to-day basis in your projects.
|
||||
Maven 2.0 is now in beta testing. We believe it is equally functional to Maven 1.0, however there are still
|
||||
some bugs and usabilities issues including documentation to be resolved.
|
||||
</p>
|
||||
<p>
|
||||
This release is being made available so that people who are interested in the future of Maven can take a
|
||||
sneak peek, while those interested in becoming early adopters can get involved in the development and
|
||||
While some minor features may be added, the key goal is to retain backwards compatibility so this will be
|
||||
limited.
|
||||
</p>
|
||||
<p>
|
||||
This release is being made available so that people who are interested in using Maven 2 when it is released
|
||||
can test and provide feedback, and those interested can get involved in the development and
|
||||
direction of the project.
|
||||
</p>
|
||||
<p>
|
||||
|
@ -106,11 +110,11 @@
|
|||
<question>How often will Maven 2.0 be released?</question>
|
||||
<answer>
|
||||
<p>
|
||||
We are working to a 4-5 week release cycle, meaning that there will be at least one release per month.
|
||||
We are working to a fortnightly release cycle until the final release.
|
||||
</p>
|
||||
<p>
|
||||
The first releases such as the technology preview will be designated "alpha" releases, indicating that
|
||||
they are not yet feature complete and there are outstanding bugs. Following that, "beta" releases will be
|
||||
The first releases such as the technology preview were designated "alpha" releases, indicating that
|
||||
they were not yet feature complete and there were outstanding bugs. Following that, "beta" releases are being
|
||||
made available where introduction of new features will be restricted and the focus on improving usability and
|
||||
stability. Finally, one or more release candidates will be distributed for testing that are genuinely believed
|
||||
to be final, with the expectation that a final release would be available shortly afterwards.
|
||||
|
@ -209,10 +213,6 @@
|
|||
<i>Channel</i>
|
||||
box).
|
||||
</p>
|
||||
<p>
|
||||
Please remember that it is a preview release, so please be patient with features that are not yet implemented,
|
||||
and be prepared to do some research and to help out yourself wherever possible.
|
||||
</p>
|
||||
</answer>
|
||||
</faq>
|
||||
</part>
|
||||
|
|
|
@ -11,48 +11,66 @@
|
|||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<i>Faster and smaller</i> - The Maven core no longer uses Ant, Jelly or Xerces making it much smaller, has
|
||||
<i>Faster and smaller</i>
|
||||
- The Maven core no longer uses Ant, Jelly or Xerces making it much smaller, has
|
||||
fewer dependencies and is perfect for embedding in other tools.
|
||||
</li>
|
||||
<li>
|
||||
<i>Defined build lifecycle</i> - No more
|
||||
<code>prereqs</code>,
|
||||
<code>preGoals</code> and
|
||||
<code>postGoals</code>.
|
||||
<i>Defined build lifecycle</i>
|
||||
- No more
|
||||
<code>prereqs</code>
|
||||
,
|
||||
<code>preGoals</code>
|
||||
and
|
||||
<code>postGoals</code>
|
||||
.
|
||||
The build is a series of well defined phases. This also means that the normal goal names are not used -
|
||||
<code>compile</code>,
|
||||
<code>test</code> and
|
||||
<code>install</code> work for any project type.
|
||||
<code>compile</code>
|
||||
,
|
||||
<code>test</code>
|
||||
and
|
||||
<code>install</code>
|
||||
work for any project type.
|
||||
</li>
|
||||
<li>
|
||||
<i>Built-in multiple project handling</i> - Use the same goals on a set of projects, and aggregate the
|
||||
<i>Built-in multiple project handling</i>
|
||||
- Use the same goals on a set of projects, and aggregate the
|
||||
results.
|
||||
</li>
|
||||
<li>
|
||||
<i>Improved
|
||||
<code>SNAPSHOT</code> handling
|
||||
</i> - Snapshots are now checked for updates only once per day by
|
||||
<code>SNAPSHOT</code>
|
||||
handling
|
||||
</i>
|
||||
- Snapshots are now checked for updates only once per day by
|
||||
default - though can be configured to be once per build, on a particular interval, or never. A command line
|
||||
option can force a check - making it more like updating from an SCM.
|
||||
</li>
|
||||
<li>
|
||||
<i>No more properties files</i> - All plugins are now configured from the POM (which is now called
|
||||
<code>pom.xml</code>).
|
||||
<i>No more properties files</i>
|
||||
- All plugins are now configured from the POM (which is now called
|
||||
<code>pom.xml</code>
|
||||
).
|
||||
</li>
|
||||
<li>
|
||||
<i>No more
|
||||
<code>maven.xml</code>
|
||||
</i> - Plugins are now easier to build and integrate, and are the only way
|
||||
to script your builds. (Note that additions may later be made to the POM to allow simple things that scripting
|
||||
</i>
|
||||
- Plugins are now easier to build and integrate, and are the only way
|
||||
to script your builds. (Note that additions may later be made to the POM to allow simple things that
|
||||
scripting
|
||||
was used for, such as goal aliasing).
|
||||
</li>
|
||||
<li>
|
||||
<i>No more Jelly</i> - Plugins are primarily written in Java, though there are providers for other scripting languages.
|
||||
This release includes support for Marmalade, a scripting framework that supports an XML syntax similar to Jelly
|
||||
<i>No more Jelly</i>
|
||||
- Plugins are primarily written in Java, though there are providers for other scripting languages.
|
||||
This release includes support for Marmalade, a scripting framework that supports an XML syntax similar to
|
||||
Jelly
|
||||
which can be used to integrate Ant tasks and has a Jelly compatibility layer.
|
||||
</li>
|
||||
<li>
|
||||
<i>Improved repository layout</i> - Maven 2.0 supports both the existing layout, and an improved repository
|
||||
<i>Improved repository layout</i>
|
||||
- Maven 2.0 supports both the existing layout, and an improved repository
|
||||
layout that has deeper, partitioned structure making it easier to browse.
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -65,19 +83,22 @@
|
|||
The answer depends very much on on your circumstances, and in particular whether you are new to Maven or not.
|
||||
</p>
|
||||
<p>
|
||||
The simple answer is that we hope you'll try Maven 2.0, and use it if it works for you. However, it is a preview
|
||||
release, so you can expect some features to be missing at this point and there may be unexpected bugs.
|
||||
We'd hate for your first experience with Maven 2.0 to be a bad one - so if you are embarking on a big, complicated
|
||||
The simple answer is that we hope you'll try Maven 2.0, and use it if it works for you. However, it is a beta
|
||||
release, so you can expect some unexpected bugs.
|
||||
We'd hate for your first experience with Maven 2.0 to be a bad one - so if you are embarking on a big,
|
||||
complicated
|
||||
or mission critical project - we still recommend Maven 1.0.2 as the latest stable release.
|
||||
</p>
|
||||
<p>
|
||||
If you are already using Maven 1.0 - feel free to try out Maven 2.0, but it may be better to remain on an existing
|
||||
If you are already using Maven 1.0 - feel free to try out Maven 2.0, but it may be better to remain on an
|
||||
existing
|
||||
version that is working for you until you need the new features and it covers all of your needs.
|
||||
</p>
|
||||
<p>
|
||||
If you do use Maven 1.0, and would like to upgrade in the future, you should carefully consider following some
|
||||
of the
|
||||
<a href="http://maven.apache.org/using/bestpractices.html">Best Practices</a> listed. These will make
|
||||
<a href="http://maven.apache.org/using/bestpractices.html">Best Practices</a>
|
||||
listed. These will make
|
||||
your project a lot easier to migrate in the future.
|
||||
</p>
|
||||
<p>
|
||||
|
@ -85,14 +106,16 @@
|
|||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<i>Error handling</i> - there are occasions where Maven 2.0 will drop out with a long stack trace
|
||||
<i>Error handling</i>
|
||||
- there are occasions where Maven 2.0 will drop out with a long stack trace
|
||||
when an error has occurred. If a specific trace is not providing enough information to find out what went
|
||||
wrong, please post the message to JIRA.
|
||||
</li>
|
||||
<li>
|
||||
<i>Availability of other plugins</i> - While most of the core Maven 1.x plugins have been converted,
|
||||
there are still some not available, or not with the same level of features or documentation. In
|
||||
addition, several 3rd party plugins may not be available. Maven 2.0 cannot execute Maven 1.0 plugins.
|
||||
<i>Availability of other plugins</i>
|
||||
- While most of the core Maven 1.x plugins have been converted,
|
||||
there are still some not available, or not with the same level of features or documentation. In
|
||||
addition, several 3rd party plugins may not be available. Maven 2.0 cannot execute Maven 1.0 plugins.
|
||||
</li>
|
||||
</ul>
|
||||
</answer>
|
||||
|
@ -125,29 +148,35 @@
|
|||
</answer>
|
||||
</faq>
|
||||
<faq id="m1-maven-xml">
|
||||
<question>How do I write custom scripts without a <code>maven.xml</code> file?</question>
|
||||
<question>How do I write custom scripts without a
|
||||
<code>maven.xml</code>
|
||||
file?
|
||||
</question>
|
||||
<answer>
|
||||
<p>Taken from <a href="http://mail-archives.apache.org/mod_mbox/maven-users/200504.mbox/%3c1113788711.5625.30.camel@172.16.1.36%3e">this post to the Maven User's List</a>:
|
||||
<p>Taken from
|
||||
<a href="http://mail-archives.apache.org/mod_mbox/maven-users/200504.mbox/%3c1113788711.5625.30.camel@172.16.1.36%3e">
|
||||
this post to the Maven User's List</a>
|
||||
:
|
||||
</p>
|
||||
<blockquote>
|
||||
Everything in m2 is a plugin so for doing any sort of custom work like
|
||||
that you will need to make a plugin. This 1) greatly reduces the
|
||||
complexity within m2 because we only deal with proper plugins. The
|
||||
maven.xml file in m1 was a psuedo plugin essentially and greatly
|
||||
complicated the internals and 2) it promotes the sharing of your work
|
||||
right from the get go. To start with you'll probably write a plugin that
|
||||
is only applicable to your specific requirements, or your team's work,
|
||||
but you'll see people asking for some functionality and you'll go "hey,
|
||||
I have something like that!" and hopefully people who have concrete
|
||||
solutions will generalize their solutions so they can be shared with
|
||||
others. That's what we're trying to encourage.
|
||||
Everything in m2 is a plugin so for doing any sort of custom work like
|
||||
that you will need to make a plugin. This 1) greatly reduces the
|
||||
complexity within m2 because we only deal with proper plugins. The
|
||||
maven.xml file in m1 was a psuedo plugin essentially and greatly
|
||||
complicated the internals and 2) it promotes the sharing of your work
|
||||
right from the get go. To start with you'll probably write a plugin that
|
||||
is only applicable to your specific requirements, or your team's work,
|
||||
but you'll see people asking for some functionality and you'll go "hey,
|
||||
I have something like that!" and hopefully people who have concrete
|
||||
solutions will generalize their solutions so they can be shared with
|
||||
others. That's what we're trying to encourage.
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
We estimate that there's a lot of work bound up in project's maven.xml
|
||||
that is not being shared and we'd like to try and change that. We plan
|
||||
to make it dead simple to share plugins and hopefully people can use
|
||||
other project's plugins as a start for a plugin that they may need
|
||||
themselves.
|
||||
We estimate that there's a lot of work bound up in project's maven.xml
|
||||
that is not being shared and we'd like to try and change that. We plan
|
||||
to make it dead simple to share plugins and hopefully people can use
|
||||
other project's plugins as a start for a plugin that they may need
|
||||
themselves.
|
||||
</blockquote>
|
||||
</answer>
|
||||
</faq>
|
||||
|
|
|
@ -27,10 +27,11 @@
|
|||
<body>
|
||||
<section name="Developing Plugins with Marmalade">
|
||||
<p>
|
||||
NOTE: Compare this tutorial to
|
||||
NOTE: Compare this tutorial to
|
||||
<a href="http://maven.apache.org/using/developing-plugins.html">Developing
|
||||
Plugins</a> from the Maven 1.0 website. Marmalade is meant to be quite similar to Jelly in its
|
||||
syntax, so this process should be very familiar to Maven 1.0 plugin developers.
|
||||
Plugins</a>
|
||||
from the Maven 1.0 website. Marmalade is meant to be quite similar to Jelly in its
|
||||
syntax, so this process should be very familiar to Maven 1.0 plugin developers.
|
||||
</p>
|
||||
<!-- TODO
|
||||
<p>
|
||||
|
@ -41,9 +42,8 @@
|
|||
|
||||
<subsection name="Graduating from Jelly: Plugins in Marmalade">
|
||||
<p>
|
||||
Beginning in Maven 2.0, plugins can be implemented in various languages. While our initial
|
||||
technology preview will only offer support for these Marmalade and Java, we will eventually add
|
||||
support for additional languages, possibly including Beanshell/Janino, Javascript, and more.
|
||||
Beginning in Maven 2.0, plugins can be implemented in various languages, including Marmalade, Java and
|
||||
Beanshell.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
@ -67,7 +67,7 @@
|
|||
</p>
|
||||
|
||||
<p>
|
||||
For those Maven 1.x users who have implemented their own plugins using Jelly, Marmalade can be
|
||||
For those Maven 1.x users who have implemented their own plugins using Jelly, Marmalade can be
|
||||
an extremely powerful language for porting to Maven 2.0.
|
||||
</p>
|
||||
|
||||
|
@ -88,25 +88,29 @@
|
|||
<ul>
|
||||
<li>One or more implementations of MarmaladeTag</li>
|
||||
<li>An implementation of
|
||||
<code>MarmaladeTagLibrary</code>, the constructor of which registers
|
||||
each MarmaladeTag implementation to a tag name (for use in scripts)
|
||||
<code>MarmaladeTagLibrary</code>
|
||||
, the constructor of which registers
|
||||
each MarmaladeTag implementation to a tag name (for use in scripts)
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
[Required] A
|
||||
<code>pom.xml</code> for building the plugin, which contains a script source directory
|
||||
<code>pom.xml</code>
|
||||
for building the plugin, which contains a script source directory
|
||||
resembling
|
||||
<code><![CDATA[<scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>]]></code>
|
||||
</li>
|
||||
<li>[Optional] Plugin resources to be used from within the plugin's scripts (available on the classpath)</li>
|
||||
<li>[Optional] Plugin resources to be used from within the plugin's scripts (available on the
|
||||
classpath)</li>
|
||||
<li>[Optional] Other Java sources, which can be accessed from the plugin's scripts</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Each
|
||||
<code>.mmld</code> script file must provide the same basic structural elements, which define it
|
||||
<code>.mmld</code>
|
||||
script file must provide the same basic structural elements, which define it
|
||||
as a Maven 2.0 plugin, and provide essential metadata. This metadata is used to:
|
||||
<ul>
|
||||
<li>Inject project and environmental information into the plugin (parameters)</li>
|
||||
|
@ -156,7 +160,8 @@
|
|||
</p>
|
||||
<p>
|
||||
In a new directory, create a
|
||||
<code>pom.xml</code> file like so:
|
||||
<code>pom.xml</code>
|
||||
file like so:
|
||||
</p>
|
||||
<source><![CDATA[<project>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
@ -206,7 +211,8 @@
|
|||
Since this is in fact a Hello World plugin, your script will simply output
|
||||
<code>Hello, World</code>
|
||||
to the screen. Create a script in
|
||||
<code>src/main/scripts/hello.mmld</code> with the following contents:
|
||||
<code>src/main/scripts/hello.mmld</code>
|
||||
with the following contents:
|
||||
</p>
|
||||
<source><![CDATA[
|
||||
<mojo xmlns="marmalade:mojo">
|
||||
|
@ -238,11 +244,12 @@
|
|||
<subsection name="Using Plugin Parameters">
|
||||
<p>
|
||||
While you can always reference the POM information in a script using mojo parameters with expressions
|
||||
that reference project elements, a plugin will often need to create new parameters so that it can be customised.
|
||||
that reference project elements, a plugin will often need to create new parameters so that it can be
|
||||
customised.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The creation of these parameters simply involves defining them in the metadata section of the script,
|
||||
The creation of these parameters simply involves defining them in the metadata section of the script,
|
||||
and optionally providing a default value for use in the event the user doesn't need to customize the plugin.
|
||||
</p>
|
||||
<p>
|
||||
|
@ -270,14 +277,17 @@
|
|||
]]></source>
|
||||
<p>
|
||||
Note the additional element in this parameter declaration:
|
||||
<code>default</code> specified a default
|
||||
<code>default</code>
|
||||
specified a default
|
||||
salutation in case the user doesn't need or want to customize the plugin.
|
||||
</p>
|
||||
<p>
|
||||
Now, to make use of the new parameter. Inside the
|
||||
<code><![CDATA[<c:out/>]]></code> action, simply
|
||||
<code><![CDATA[<c:out/>]]></code>
|
||||
action, simply
|
||||
write out the customizable salutation instead of the stock phrase
|
||||
<code>Hello</code>:
|
||||
<code>Hello</code>
|
||||
:
|
||||
</p>
|
||||
<source><![CDATA[
|
||||
<c:out xmlns:c="marmalade:core">${salutation}, World.</c:out>
|
||||
|
@ -286,9 +296,9 @@
|
|||
Install the new plugin and run it, to verify your changes:
|
||||
</p>
|
||||
<source>m2 install
|
||||
m2 hello:hello</source>
|
||||
m2 hello:hello</source>
|
||||
<p>
|
||||
Notice that the output still has the same old salutation (which is the default value of the parameter).
|
||||
Notice that the output still has the same old salutation (which is the default value of the parameter).
|
||||
Now, to customize it:
|
||||
</p>
|
||||
<source>m2 -Dsalutation=Hiya hello:hello</source>
|
||||
|
|
|
@ -91,11 +91,6 @@
|
|||
<a href="http://maven.apache.org/license.html">Apache License, version 2.0</a>
|
||||
.
|
||||
</p>
|
||||
<p>
|
||||
The Ant tasks contain the JCraft Jsch library for deployment via SSH. For more information, see their
|
||||
<a href="http://www.jcraft.com/jsch/LICENSE.txt">License and Copyright notice</a>
|
||||
.
|
||||
</p>
|
||||
<a name="requirements"/>
|
||||
<subsection name="System Requirements">
|
||||
<table>
|
||||
|
|
|
@ -9,27 +9,18 @@
|
|||
This document discusses the release plans and current roadmap for Maven 2.0.
|
||||
</p>
|
||||
<p>
|
||||
We are working to a 4-5 week release cycle, meaning that there will be at least one release per month.
|
||||
</p>
|
||||
<p>
|
||||
The first releases such as the technology preview will be designated "alpha" releases, indicating that
|
||||
they are not yet feature complete and there are outstanding bugs. Following that, "beta" releases will be
|
||||
made available where introduction of new features will be restricted and the focus on improving usability and
|
||||
stability. Finally, one or more release candidates will be distributed for testing that are genuinely believed
|
||||
to be final, with the expectation that a final release would be available shortly afterwards.
|
||||
</p>
|
||||
<p>
|
||||
We will continue with the successful technique from Maven 1.0 of making plugins available on a separate
|
||||
Note that we will continue with the successful technique from Maven 1.0 of making plugins available on a
|
||||
separate
|
||||
release schedule so that new features can be obtained as they are ready and tested.
|
||||
</p>
|
||||
<subsection name="Maven 2.0 beta 1">
|
||||
<p>
|
||||
<i>Expected Release:</i>
|
||||
mid-August 2005
|
||||
<i>Released:</i>
|
||||
16th September 2005
|
||||
</p>
|
||||
<p>
|
||||
<i>Aims and features:</i>
|
||||
This will be feature complete and stable. There are expected to be
|
||||
This is feature complete and stable. There are expected to be
|
||||
bug fixes and cosmetic changes, but no new major features after this release.
|
||||
</p>
|
||||
<ul>
|
||||
|
@ -43,7 +34,21 @@
|
|||
<subsection name="Maven 2.0 beta 2">
|
||||
<p>
|
||||
<i>Expected Release:</i>
|
||||
late-August 2005
|
||||
late-September 2005
|
||||
</p>
|
||||
<p>
|
||||
<i>Aims and features:</i>
|
||||
Completion of all major work on the core engine.
|
||||
</p>
|
||||
<ul>
|
||||
<li>Bugfixes</li>
|
||||
<li>Cosmetic enhancements</li>
|
||||
</ul>
|
||||
</subsection>
|
||||
<subsection name="Maven 2.0 beta 3">
|
||||
<p>
|
||||
<i>Expected Release:</i>
|
||||
early-October 2005
|
||||
</p>
|
||||
<p>
|
||||
<i>Aims and features:</i>
|
||||
|
@ -58,7 +63,7 @@
|
|||
<subsection name="Maven 2.0 Final">
|
||||
<p>
|
||||
<i>Expected Release:</i>
|
||||
September 2005, following a release candidate
|
||||
October 2005, following a release candidate
|
||||
</p>
|
||||
<p>
|
||||
<i>Aims and features:</i>
|
||||
|
@ -81,8 +86,7 @@
|
|||
<subsection name="Maven 2.1">
|
||||
<p>
|
||||
<i>Aims and features:</i>
|
||||
Features to be added after the July freeze on Maven 2.0 will be slated for a 2.1
|
||||
release later in 2005.
|
||||
Features to be added after the freeze on Maven 2.0 will be slated for a 2.1 release in 2006.
|
||||
</p>
|
||||
</subsection>
|
||||
</section>
|
||||
|
|
Loading…
Reference in New Issue