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:
Brett Leslie Porter 2005-09-16 16:57:41 +00:00
parent 66dddfc944
commit b493a96c98
5 changed files with 139 additions and 101 deletions

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>