incubator-easyant-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jlboud...@apache.org
Subject svn commit: r1387754 - in /incubator/easyant/core/trunk/src/documentation: ref/ExtensionPoint.html ref/buildtypes/buildtypes.html ref/phases.html ref/plugins/plugins.html toc.json
Date Wed, 19 Sep 2012 21:01:18 GMT
Author: jlboudart
Date: Wed Sep 19 21:01:18 2012
New Revision: 1387754

URL: http://svn.apache.org/viewvc?rev=1387754&view=rev
Log:
Update documentation round 2

Added:
    incubator/easyant/core/trunk/src/documentation/ref/ExtensionPoint.html
Removed:
    incubator/easyant/core/trunk/src/documentation/ref/phases.html
Modified:
    incubator/easyant/core/trunk/src/documentation/ref/buildtypes/buildtypes.html
    incubator/easyant/core/trunk/src/documentation/ref/plugins/plugins.html
    incubator/easyant/core/trunk/src/documentation/toc.json

Added: incubator/easyant/core/trunk/src/documentation/ref/ExtensionPoint.html
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/documentation/ref/ExtensionPoint.html?rev=1387754&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/documentation/ref/ExtensionPoint.html (added)
+++ incubator/easyant/core/trunk/src/documentation/ref/ExtensionPoint.html Wed Sep 19 21:01:18
2012
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<html>
+<head>
+	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
+	<script type="text/javascript">var xookiConfig = {level: 1};</script>	
+	<script type="text/javascript" src="../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<h1>Extension Point</h1>
+
+Extension-Points are similar to targets in that they have a name and a depends list and can
be executed from the command line. Just like targets they represent a state during the build
process.
+
+Unlike targets they don't contain any tasks, their main purpose is to collect targets that
contribute to the desired state in their depends list.
+
+Targets can add themselves to an extension-points's depends list via their extensionOf attribute.
The targets that add themselves will be added after the targets of the explicit depends-attribute
of the extension-point, if multiple targets add themselves, their relative order is not defined.
+
+The main purpose of an extension-point is to act as an extension point for build files designed
to be imported. In the imported file an extension-point defines a state that must be reached
and targets from other build files can join the depends list of said extension-point in order
to contribute to that state.
+
+For example your imported build file may need to compile code, it might look like:
+
+<code type="xml">
+<target name="create-directory-layout">
+   ...
+</target>
+<extension-point name="ready-to-compile"
+              depends="create-directory-layout"/>
+<target name="compile" depends="ready-to-compile">
+   ...
+</target>
+</code>
+
+    <b>Call-Graph</b>:  create-directory-layout --> 'empty slot' --> compile
+
+And you need to generate some source before compilation, then in your main build file you
may use something like
+
+<code type="xml">
+<target name="generate-sources"
+        extensionOf="ready-to-compile">
+    ...
+</target>
+</code>
+    <b>Call-Graph</b>:  create-directory-layout --> generate-sources  -->
compile
+
+This will ensure that the generate-sources target is executed before the compile target.
+
+Don't rely on the order of the depends list, if generate-sources depends on create-directory-layout
then it must explicitly depend on it via its own depends attribute.</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Modified: incubator/easyant/core/trunk/src/documentation/ref/buildtypes/buildtypes.html
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/documentation/ref/buildtypes/buildtypes.html?rev=1387754&r1=1387753&r2=1387754&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/documentation/ref/buildtypes/buildtypes.html (original)
+++ incubator/easyant/core/trunk/src/documentation/ref/buildtypes/buildtypes.html Wed Sep
19 21:01:18 2012
@@ -26,9 +26,13 @@
     <textarea id="xooki-source">
 <h1>Build Types</h1>
 
-<p>A "Build Type" identifies at a high level how you want a single module in your project
to be built.  Building a module typically includes many steps like compilation, source generation,
unit testing, packaging, and build reporting.  For example, the build type <a href="build-webapp-java.html">build-webapp-java</a>
compiles, tests, and packages a Java WAR file.</p>
+A "Build Type" identifies at a high level how you want a single module in your project to
be built.  Building a module typically includes many steps like compilation, source generation,
unit testing, packaging, and build reporting.  For example, the build type <a href="build-webapp-java.html">build-webapp-java</a>
compiles, tests, and packages a Java WAR file.
 
-<p>A BuildType is typically implemented as an Ant script, an Ivy descriptor, and a
properties file.  The Ivy descriptor is used by EasyAnt to load the Build Type as runtime.
 The Ant Script is executed whenever you build a module using that Build Type.  Most Build
Type scripts simply import a set of <a href="../plugins/plugins.html">EasyAnt Plugins</a>,
each plugin contributing one step to the build process.  For example, the <a href="build-std-java.html">build-std-java</a>
Build Type imports the <a href="../plugins/compile-java.html">compile-java</a>
plugin to compile Java sources and the <a href="../plugins/package-jar.html">package-jar</a>
plugin to bundle the results as a JAR file.  A Build Type's properties file then contains
default parameter settings used by the plugins; for example, the expected location of Java
source and test files in a project directory.</p>
+A BuildType is typically implemented as an Ant script, an Ivy descriptor, and a properties
file.  The Ivy descriptor is used by EasyAnt to load the Build Type as runtime.  The Ant Script
is executed whenever you build a module using that Build Type.  Most Build Type scripts simply
import a set of <a href="../plugins/plugins.html">EasyAnt Plugins</a>, each plugin
contributing one step to the build process.
+
+For example, the <a href="build-std-java.html">build-std-java</a> Build Type
imports the <a href="../plugins/compile-java.html">compile-java</a> plugin to
compile Java sources and the <a href="../plugins/package-jar.html">package-jar</a>
plugin to bundle the results as a JAR file.  
+
+A Build Type's properties file then contains default parameter settings used by the plugins;
for example, the expected location of Java source and test files in a project directory.
     
 
 <table>
@@ -41,15 +45,23 @@
   <tbody>
     <tr>
       <td>build-std-java</td>
-      <td>a standard build for simple java modules, relying on standard phases, and
providing compilation, execution and unit tests</td>
+      <td>a standard build for simple java modules, relying on standard lifecycle,
and providing compilation, packaging and unit tests</td>
     </tr>
     <tr>
       <td>build-webapp-java</td>
-      <td>a standard build for webapp java modules, relying on standard phases, and
providing compilation, execution and unit tests</td>
+      <td>a standard build for webapp java modules, relying on standard lifecycle,
and providing compilation, packaging and unit tests</td>
     </tr>
     <tr>
       <td>build-std-scala</td>
-      <td>a standard build for simple scala modules, relying on standard phases, and
providing compilation, execution and unit tests</td>
+      <td>a standard build for simple scala modules, relying on standard lifecycle,
and providing compilation, packaging and unit tests</td>
+    </tr>
+    <tr>
+      <td>build-std-groovy</td>
+      <td>a standard build for simple groovy modules, relying on standard lifecycle,
and providing compilation, packaging and unit tests</td>
+    </tr>
+    <tr>
+      <td>build-std-ant-plugin</td>
+      <td>a standard build for easyant plugin written in ant (xml), relying on standard
lifecycle, packaging and unit tests</td>
     </tr>
   </tbody>
 </table></textarea>

Modified: incubator/easyant/core/trunk/src/documentation/ref/plugins/plugins.html
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/documentation/ref/plugins/plugins.html?rev=1387754&r1=1387753&r2=1387754&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/documentation/ref/plugins/plugins.html (original)
+++ incubator/easyant/core/trunk/src/documentation/ref/plugins/plugins.html Wed Sep 19 21:01:18
2012
@@ -26,11 +26,11 @@
     <textarea id="xooki-source">
 <h1>Plugins</h1>
 
-<p>An EasyAnt plugin defines a single small "task" performed by EasyAnt, for example:
run unit tests, generate a build report, or package a jar.  Plugins can then be included into
buildtypes or other plugins to define more complicated tasks (like "build a complete web application").
 You can also include a plugin directly into your project's Ivy file to customize the way
your project is built.</p>
+An EasyAnt plugin defines a single small reusable portion of the build system performed by
EasyAnt, for example: run unit tests, generate a build report, or package a jar.  Plugins
can then be included into buildtypes or other plugins to define more complicated tasks (like
"build a complete web application").  You can also include a plugin directly into your project's
Ivy file to customize the way your project is built.
 
-<p>A typical plugin consists of an Ivy descriptor and a short Ant script, and is stored
in the EasyAnt Ivy repository.  The Ivy descriptor indicates which libraries are required
by your plugin; for example, the junit jar is needed by the test-junit plugin.  The Ant script
contributes logic to one or more <a href="../phases.html">build phases</a>.  Most
plugins can be fine-tuned with Ant property settings.</p>
+A typical plugin consists of an Ivy descriptor and a short Ant script, and is stored in the
EasyAnt Ivy repository.  The Ivy descriptor indicates which libraries are required by your
plugin; for example, the junit jar is needed by the test-junit plugin.  The Ant script can
expose or contribute logic to one or more extension points.  Most plugins can be fine-tuned
with Ant property settings.
 
-<p>If you want to add support for a new build tool to EasyAnt, you should probably
start by writing a plugin for it.  See the <a href="../../howto/writePlugins.html">Plugins
Tutorial</a> to get started.  Before writing your own plugin, be sure to check here
to see if a plugin doesn't already exist.</p>
+If you want to add support for a new build tool to EasyAnt, you should probably start by
writing a plugin for it.  See the <a href="../../howto/writePlugins.html">Plugins Tutorial</a>
to get started.  Before writing your own plugin, be sure to check here to see if a plugin
doesn't already exist.
 
 
 <ul>

Modified: incubator/easyant/core/trunk/src/documentation/toc.json
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/documentation/toc.json?rev=1387754&r1=1387753&r2=1387754&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/documentation/toc.json (original)
+++ incubator/easyant/core/trunk/src/documentation/toc.json Wed Sep 19 21:01:18 2012
@@ -78,15 +78,15 @@
                       ]
                   },
                   {
-                    "id":"ref/ProjectMancommand",
-                    "title":"ProjectMan commands",
+                    "id":"ref/ExtensionPoint",
+                    "title":"Extension Point",
                     "children": [
 
                       ]
                   },
                   {
-                    "id":"ref/phases",
-                    "title":"Understanding phases",
+                    "id":"ref/ProjectMancommand",
+                    "title":"ProjectMan commands",
                     "children": [
 
                       ]



Mime
View raw message