maven-m2-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From br...@apache.org
Subject cvs commit: maven-components/maven-site/src/site/xdoc developing-plugins-with-marmalade.xml
Date Fri, 08 Apr 2005 06:10:09 GMT
brett       2005/04/07 23:10:09

  Modified:    maven-site/src/site/xdoc
                        developing-plugins-with-marmalade.xml
  Log:
  review the marmalade document
  
  Revision  Changes    Path
  1.3       +55 -49    maven-components/maven-site/src/site/xdoc/developing-plugins-with-marmalade.xml
  
  Index: developing-plugins-with-marmalade.xml
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-site/src/site/xdoc/developing-plugins-with-marmalade.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- developing-plugins-with-marmalade.xml	8 Apr 2005 05:54:52 -0000	1.2
  +++ developing-plugins-with-marmalade.xml	8 Apr 2005 06:10:09 -0000	1.3
  @@ -27,70 +27,75 @@
     <body>
       <section name="Developing Plugins with Marmalade">
         <p>
  -         NOTE: Compare this tutorial to <a href="http://maven.apache.org/using/developing-plugins.html">Developing

  +         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.
         </p>
  +      <p>
  +        If you need some background on how plugins fit into the execution model of Maven
2.0, try reading the
  +        <a href="architecture.html">Maven 2.0 Architecture</a>.
  +      </p>
   
  -      <subsection name="Background">
  +      <subsection name="Graduating from Jelly: Plugins in Marmalade">
           <p>
  -          Each of the various steps in a given Maven 2.0 build corresponds to one plugin
executing.
  -          Plugins have access to the common infrastructure of the core API, along with
the basic information
  -          about the current project being built. Using these facilities, each plugin executes
one simple, 
  -          repeatable step in the build. It is from these simple building blocks that even
the most 
  -          complex, powerful build processes are constructed.
  +          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.
           </p>
   
           <p>
  -          Beginning in Maven 2.0, plugins can be implemented in various languages, ranging
from pure Java
  -          to Marmalade - a next-generation Jelly-like XML language - and beyond. While
our initial
  -          technology preview will only offer support for these two languages, we will eventually
add
  -          support for additional languages, possibly including Beanshell/Janino, Javascript,
and more.
  +          Marmalade is a next-generation Jelly-like XML language, and was chosen for early
inclusion in Maven 2.0 to
  +          ease migration from Maven 1.0, and to provide a way to incorporate Ant scripts
into a build project.
           </p>
   
           <p>
  -          For more information on how plugins fit into the execution model of Maven 2.0,
try reading
  -          <a href="architecture.html">Maven 2.0 Architecture</a>.
  +          Marmalade currently has basic syntax compatibility with Jelly, and some measure
of Jelly taglib
  +          compatibility... and this support will continue to improve as Marmalade matures.
As such, Marmalade can allow
  +          the plugin developer the freedom to concentrate on porting between project models
and core facilities, rather
  +          than worrying about changing implementation languages.
           </p>
  -      </subsection>
   
  -      <subsection name="Graduating from Jelly: Plugins in Marmalade">
           <p>
  -          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. Marmalade currently
has basic syntax
  -          compatibility with Jelly, and some measure of Jelly taglib compatibility...and
this support
  -          will continue to improve as Maven 2.0 matures. As such, Marmalade can allow the
plugin developer
  -          the freedom to concentrate on porting between project models and core facilities,
rather than
  -          worrying about changing implementation languages.
  +          Marmalade is still only a fledgling project, and while it's core engine is sophisticated
and mature, it's
  +          support for Jelly and other taglibs is still growing at a brisk pace. In order
to provide as much Jelly
  +          functionality out-of-the-box to Maven 2.0 users, Marmalade has an available compatibility
layer for Jelly,
  +          which will allow the user to embed Jelly within Marmalade for the taglibs that
have not yet been ported to
  +          native Marmalade.
           </p>
   
           <p>
  -          Like Maven 2.0 itself, Marmalade is somewhat of a fledgling project. That is,
while it's core
  -          engine is fairly sophisticated and mature, it's support for Jelly and other taglibs
is still 
  -          growing at a brisk pace. In order to provide as much Jelly functionality out-of-the-box
to Maven 2.0 
  -          users, Marmalade has an available compatibility layer for Jelly, which will allow
the user
  -          to embed Jelly within Marmalade for the taglibs that have not yet been ported
to native Marmalade.
  +          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>
   
  -        <p>For more information on Marmalade, see the <a href="http://marmalade.codehaus.org">Marmalade
website.</a>
  +        <p>For more information on Marmalade, see the
  +          <a href="http://marmalade.codehaus.org">Marmalade website.</a>
  +        </p>
         </subsection>
  -      
  +
         <subsection name="Marmalade Plugin Basics">
           <p>
             A plugin implemented in Marmalade can contain the following:
             <ul>
  -            <li>[Required] One or more Marmalade scripts, each in a file with the
extension <code>.mmld</code></li>
  +            <li>[Required] One or more Marmalade scripts, each in a file with the
extension
  +              <code>.mmld</code>
  +            </li>
               <li>
                 [Optional] One or more Marmalade tag libraries, each consisting of:
                 <ul>
  -                <li>One or more implementations of MarmaladeTag
  -                <li>An implementation of <code>MarmaladeTagLibrary</code>,
the constructor of which registers
  +                <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)
  +                </li>
                 </ul>
               </li>
               <li>
  -              [Required] A <code>pom.xml</code> for building the plugin, which
contains a script source directory
  -              resembling <code><![CDATA[<scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>]]>
  +              [Required] A
  +              <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] Other Java sources, which can be accessed from the plugin's
scripts</li>
  @@ -98,7 +103,8 @@
           </p>
   
           <p>
  -          Each <code>.mmld</code> script file must provide the same basic structural
elements, which define it
  +          Each
  +          <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>
  @@ -148,7 +154,8 @@
             source directory in which to find script sources.
           </p>
           <p>
  -          In a new directory, create a <code>pom.xml</code> file like so:
  +          In a new directory, create a
  +          <code>pom.xml</code> file like so:
           </p>
           <source><![CDATA[<project> 
     <modelVersion>4.0.0</modelVersion>
  @@ -195,8 +202,10 @@
             goal within the build system, so you may need several scripts.
           </p>
           <p>
  -          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:
  +          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:
           </p>
           <source><![CDATA[
   <mojo xmlns="marmalade:mojo">
  @@ -260,12 +269,15 @@
   </mojo>
           ]]></source>
           <p>
  -          Note the additional element in this parameter declaration: <code>default</code>
specified a default
  +          Note the additional element in this parameter declaration:
  +          <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
  -          write out the customizable salutation instead of the stock phrase <code>Hello</code>:
  +          Now, to make use of the new parameter. Inside the
  +          <code><![CDATA[<c:out/>]]></code> action, simply
  +          write out the customizable salutation instead of the stock phrase
  +          <code>Hello</code>:
           </p>
           <source><![CDATA[
   <c:out xmlns:c="marmalade:core">${salutation}, World.</c:out>
  @@ -287,7 +299,8 @@
   
           <p>
             Users of this plugin can also customize the salutation for their project and
avoid having to specify it on
  -          the command line each time. All they have to do is create a plugin entry in their
<code>pom.xml</code>
  +          the command line each time. All they have to do is create a plugin entry in their
  +          <code>pom.xml</code>
             similar to:
           </p>
           <source><![CDATA[
  @@ -314,13 +327,6 @@
           ]]></source>
         </subsection>
       </section>
  -
  -    <section name="Getting More Information">
  -      <p>
  -        More information about using Marmalade to write Maven 2.0 plugins will be forthcoming,
as we
  -        flesh out both Marmalade and the Maven 2.0 platform.
  -      </p>
  -    </section>
  - </body>
  +  </body>
   </document>
   
  
  
  

Mime
View raw message