You are viewing a plain text version of this content. The canonical link for it is here.
Posted to easyant-commits@incubator.apache.org by jl...@apache.org on 2012/09/19 21:01:18 UTC
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
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": [
]