You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by jv...@apache.org on 2005/07/12 14:06:18 UTC

svn commit: r215942 - in /maven/components/trunk/maven-site/src/site: apt/guides/releasing.apt apt/plugin-overview.apt site.xml

Author: jvanzyl
Date: Tue Jul 12 05:06:17 2005
New Revision: 215942

URL: http://svn.apache.org/viewcvs?rev=215942&view=rev
Log:
o applying http://jira.codehaus.org/browse/MNG-571

  Thanks to Tim.
  

Modified:
    maven/components/trunk/maven-site/src/site/apt/guides/releasing.apt
    maven/components/trunk/maven-site/src/site/apt/plugin-overview.apt
    maven/components/trunk/maven-site/src/site/site.xml

Modified: maven/components/trunk/maven-site/src/site/apt/guides/releasing.apt
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-site/src/site/apt/guides/releasing.apt?rev=215942&r1=215941&r2=215942&view=diff
==============================================================================
--- maven/components/trunk/maven-site/src/site/apt/guides/releasing.apt (original)
+++ maven/components/trunk/maven-site/src/site/apt/guides/releasing.apt Tue Jul 12 05:06:17 2005
@@ -33,3 +33,38 @@
 -----
 m2 release:perform -DtagBase=svn+ssh://svn.codehaus.org/home/projects/plexus/scm
 -----
+
+~~ -----
+~~ o had to update each component manually to change the version
+~~ o had to change the depMan element in the top-level POM
+~~ both tedious and error prone
+~~ o had to change the assembly file name
+~~ o had to change the webpapp file name
+
+~~ sign the release
+
+-----
+#!/bin/sh
+
+rel=$1
+
+if [ -z "$rel" ]; then
+  echo usage: $0 release
+    exit 1
+    fi
+    
+    exts="tar.gz tar.bz2 zip"
+    if [ -f "$rel.exe" ]; then
+      exts="$exts exe"
+      fi
+      
+      for i in $exts; do md5sum $rel.$i | sed 's/ .*$//g' >$rel.$i.md5; done
+      
+      for i in $exts; do gpg --armor --output $rel.$i.asc --detach-sig
+$rel.$i; done
+-----
+
+~~ o deploy to /www/www.apache.org/dist/maven/binaries
+
+~~ o even though we have said each module needs to specify its own version that
+~~ is really a pita. maybe there is a better way we can deal with that.

Modified: maven/components/trunk/maven-site/src/site/apt/plugin-overview.apt
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-site/src/site/apt/plugin-overview.apt?rev=215942&r1=215941&r2=215942&view=diff
==============================================================================
--- maven/components/trunk/maven-site/src/site/apt/plugin-overview.apt (original)
+++ maven/components/trunk/maven-site/src/site/apt/plugin-overview.apt Tue Jul 12 05:06:17 2005
@@ -26,10 +26,66 @@
 
   Maven consists of a core engine which provides basic project-processing
   capabilities and build-process management, and a host of plugins which are
-  used to execute the actual build tasks.
+  used to execute the actual build tasks.  
   
-~~ Additional intro material here.
+** What is a Plugin?
+
+  "Maven" is really just a core framework for a collection of 
+  Maven Plugins.  In other words, plugins are where much of the real action is 
+  performed, plugins are used to: create jar files, create war files, compile 
+  code, unit test code, create project documentation, and on and on.  Almost 
+  any action that you can think of performing on a project is implemented as 
+  a Maven plugin.
+  
+  Plugins are the central feature of Maven that allow for the reuse of
+  common build logic across multiple projects.  They do this by executing an
+  "action" (i.e. creating a WAR file or compiling unit tests) in the context
+  of a project's description - the Project Object Model (POM).  Plugin behavior
+  can be customized through a set of unique parameters which are exposed by a 
+  description of each plugin goal (or Mojo).
+  
+  One of the simplest plugins in Maven 2.0 is the Clean Plugin.  The 
+  {{{http://maven.apache.org/maven2/plugins/maven-clean-plugin/}Maven
+  Clean plugin}} (maven-clean-plugin) is responsible for removing the target 
+  directory of a Maven 2 project.  When you run "m2 clean:clean", Maven 2 executes
+  the "clean:clean" goal as defined in the Clean plug-in, and the target directory
+  is removed.  The Clean plugin 
+  {{{http://maven.apache.org/maven2/plugins/maven-clean-plugin/clean-mojo.html}defines 
+  a parameter}} which can be used to customize plugin behavior, this parameter is 
+  called outputDirectory and it defaults to ${project.build.directory}.    
+
+** What is a Mojo (<And Why the H--- is it Named 'Mojo'>)?
+
+  A Mojo is really just a goal in Maven 2, and plug-ins consist of 
+  any number of goals (Mojos).  Mojos can be defined as annotated Java classes or
+  as a XML plugin script if a plugin is defined in Marmalade.  A Mojo specifies 
+  metadata about a goal: a goal name, which phase of the lifecycle it fits into, 
+  and the parameters it is expecting.
+  
+  MOJO is a play on POJO (Plain-old-Java-object), substituting "Maven" for
+  "Plain".  Mojo is also an iteresting word (see {{{http://www.answers.com/mojo&r=67}definition}}.  
+  From {{{http://www.wikipedia.org}Wikipedia}}, a "mojo" is defined as:
+  "...a small bag worn by a person under the clothes (also known as a mojo hand). 
+  Such bags were thought to have supernatural powers, such as protecting from evil, 
+  bringing good luck, etc."
+
+** What is the Build Lifecycle? (Overview)
+
+  The build lifecycle is a series of common stages through which all project
+  builds naturally progress.  Plugin goals are bound to specific stages in the 
+  lifecycle.
+
+* Resources
+
+    [[1]] {{{developers/plugin-development-guide.html}Plugin development guide}}
+
+    [[2]] {{{plugin-management.html}Managing plugin configuration in large 
+          projects}}
+
+    [[3]] {{{plugin-configuration.html}Configuring plugins}}
   
+* Comparison to Maven 1.x Plugins
+
 ** Similarities to Maven 1.x
 
   Maven 2.0 is similar to its predecessor in that it has two main 
@@ -105,29 +161,24 @@
   
 ** Why Change the Plugin Architecture?
 
-* Definitions
-
-** What is a Plugin?
-
-  Maven is a framework for the execution of plugin goals.  Every action you 
-  take in Maven is really just calling out to an existing maven plugin. 
-  When you compile, clean, create a JAR, generate a site, or execute
-  unit tests, Maven is executing goals from the appropriate plugins. 
-
-** What is a Mojo (<And Why the H--- is it Named 'Mojo'>)?
-
-  MOJO is a play on POJO (Plain-old-Java-object), substituting "Maven" for
-  "Plain".  A Mojo is really just a goal in Maven 2, and plug-ins consist of 
-  any number of goals (Mojos).
-
-** What is the Build Lifecycle? (Overview)
-
-* Resources
-
-    [[1]] {{{developers/plugin-development-guide.html}Plugin development guide}}
-
-    [[2]] {{{plugin-management.html}Managing plugin configuration in large 
-          projects}}
-
-    [[3]] {{{plugin-configuration.html}Configuring plugins}}
+  See the previous question for the long version, but the short version can
+  be summed up by the following list of benefits.
 
+    * A managed lifecycle
+    * Multiple implementation languages
+    * Reusability outside of the build system
+    * The ability to write Maven plugins entirely in Java
+    
+  In Maven 1.0, a plugin was defined using Jelly, and while it was possibly to 
+  write a plugin in Java, you still had to wrap your plugin with some obligatory
+  Jelly script.  An XML-based scripting language which is interpreted at run-time
+  isn't going to be the best choice for performance, and the development team
+  thought it wise to adopt an approach which would allow plugin developers to
+  choose from an array of plugin implementation choices.  The first choice in 
+  Maven 2 should be Java plugins, but if you are used to defining plugins in Jelly
+  you may also define a plugin using a scripting language known as Marmalade.
+  
+  To summarize, the development team saw some critical gaps in the API and 
+  architecture of Maven 1.0 plug-ins, and the team decided that addressing
+  these deficiencies was critical to the future progress of Maven from a useful
+  tool to something more robust.

Modified: maven/components/trunk/maven-site/src/site/site.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-site/src/site/site.xml?rev=215942&r1=215941&r2=215942&view=diff
==============================================================================
--- maven/components/trunk/maven-site/src/site/site.xml (original)
+++ maven/components/trunk/maven-site/src/site/site.xml Tue Jul 12 05:06:17 2005
@@ -31,11 +31,12 @@
     <menu name="User's Guide">
       <item name="Getting Started" href="/getting-started.html"/>
       <item name="Build Lifecycle" href="/lifecycle.html"/>
+      <item name="Plugin Overview" href="/plugin-overview.html"/>
       <item name="Dependency Mechanism" href="/dependencies.html"/>
       <item name="Creating a Site" href="/site.html"/>
     </menu>
     <menu name="Plugin Developers">
-      <item name="Developing Plugins" href="/developers/plugin-overview.html"/>
+      <item name="Plugin Development Guide" href="/developers/plugin-development-guide.html"/>
       <item name="Developing Plugins with Marmalade" href="/developers/developing-plugins-with-marmalade.html"/>
     </menu>
     <menu name="Reference">



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