incubator-easyant-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jlboud...@apache.org
Subject svn commit: r1387744 - in /incubator/easyant/core/trunk/src/documentation: ./ howto/ ref/ ref/buildtypes/ ref/plugins/ style/
Date Wed, 19 Sep 2012 20:29:11 GMT
Author: jlboudart
Date: Wed Sep 19 20:29:10 2012
New Revision: 1387744

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

Removed:
    incubator/easyant/core/trunk/src/documentation/howto/SettingupasimpleEasyAntproject.html
Modified:
    incubator/easyant/core/trunk/src/documentation/howto/GettingStarted.html
    incubator/easyant/core/trunk/src/documentation/howto/writePlugins.html
    incubator/easyant/core/trunk/src/documentation/index.html
    incubator/easyant/core/trunk/src/documentation/ref/Directorystructure.html
    incubator/easyant/core/trunk/src/documentation/ref/ProjectIvyInstance.html
    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/reference.html
    incubator/easyant/core/trunk/src/documentation/style/style.css
    incubator/easyant/core/trunk/src/documentation/toc.json

Modified: incubator/easyant/core/trunk/src/documentation/howto/GettingStarted.html
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/documentation/howto/GettingStarted.html?rev=1387744&r1=1387743&r2=1387744&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/documentation/howto/GettingStarted.html (original)
+++ incubator/easyant/core/trunk/src/documentation/howto/GettingStarted.html Wed Sep 19 20:29:10
2012
@@ -24,10 +24,86 @@
 <body>
     <textarea id="xooki-source">
 <h1>Getting Started</h1>
+In the course of this write up, you will be taken through basics of EasyAnt and a simple-and-live
example of setting up an EasyAnt web application project as an example only.
+
+Prerequisite to your setting up an Easyant project means you have to have the Easyant environment
correctly configured.
+
+The only thing you need to do to use easyant is to set the EASYANT_HOME property.
+You should first set up in your environment the EASYANT_HOME variable :
+<ul>
+    <li>for windows users : set EASYANT_HOME=c:\path\to\easyant</li>
+    <li>for unix users : export EASYANT_HOME=/path/to/easyant</li>
+</ul>
+You may also add EASYANT_HOME to your path :
+<ul>
+    <li>for windows users : set PATH=%EASYANT_HOME%\bin;%PATH%</li>
+    <li>for unix users : export PATH=$EASYANT_HOME/bin:$PATH</li>
+</ul>
+
+Let us try to setup a project that builds to a Web Application Archive, or a WAR. Say, PROJECT_ROOT
is the root directory for your project.
+
+A project using EasyAnt MUST contain a file named module.ivy and an optional file named module.ant.
+
+<h2>The module.ivy file</h2>
+This file is the module descriptor of your project. 
+It contains information like your company name, the module name, dependencies, and Easyant
build information.
+
+This is <i>nearly</i> a regular IVY specification file.
 <p />
-Here is a Quick Start tutorial to undestand how to use EasyAnt in your project.
+<code type="xml">
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org">
+    <info organisation="my.easyant.project" module="my-webapp" status="integration" >
+        <description>
+            This project is a sample of a java webapplication
+        </description>
+        <ea:build organisation="org.apache.easyant.buildtypes" module="build-webapp-java"
revision="0.9"/>
+    </info>
+    <configurations>
+        <conf name="default"/>
+        <conf name="test" />
+    </configurations>
+    <publications>
+        <artifact type="war"/>
+    </publications>
+    <dependencies>
+        <dependency org="org.junit" name="junit" rev="4.7" conf="test->default"/>
+    </dependencies>
+</ivy-module>
+
+</code>
+
+The above is a standard ivy specification file, other than the 'ea:build' tag. 
+To use easyant you must declare the easyant namespace 
+<code type="xml">
+xmlns:ea="http://www.easyant.org"
+</code>
+Pay attention to the <b>ea:build</b> tag.
+This tags define which build-type is used for your project. In our case, we intend to set
up a standard war so we will use <b>build-webapp-java</b> which provides all the
targets necessary to compile / package a webapp application.
+<div id="note">Note: The organisation argument in <b>ea:build</b> tag is
optional. If not specified easyant will use the default one (org.apache.easyant.buildtypes).</div>
+
+The above file is a sufficient instruction to easyant to build a WAR using the current project.
Only, you need to mind the source structure for this build to work.
+
+<h2>Source Structure</h2>
+
+Similar to Maven, by default, if you are using a standard build type, you need to follow
a standard directory structure. This should be as the build type expects to pick different
resources to be present in different directories. Use the following:
+<img src="../images/java-webapp-src-structure.gif" />
+<br/>
+In the above directory structure, all your java sources should go into src/main/java directory.
Create a DummyMain.java file inside src/java/my/test directory.
+
+All resources that should move into WEB-INF/classes directory should go inside src/main/resources.
+
+Entire src/main/webapp directory moves into the root of the web application WAR. For instance,
you may keep WEB-INF directory inside this directory.
+
+The module.ivy file should reside inside 'testproj' directory.
+
+Any external dependencies of your project should be specified inside your module.ivy file,
dependencies section.
+
+<h2>Building the Project</h2>
+
+The project is now ready to be built. You can simply run: easyant. You should see a 'target'
directory created in your project root. The built war will reside inside the target/artifacts
directory.
+
+You can go ahead and deploy it in your app-server.
 
-<h2>The Command Line</h2><p />
 <h3>Running default target</h3>
 Running easyant without arguments will execute the default target of a project.
 Example : 
@@ -35,13 +111,13 @@ Example : 
 > easyant
 </code>
 
-<h3>Running a specific phase</h3>
-Running EasyAnt with a phase name will execute ALL the targets bound to this phase.
+<h3>Running a specific extension point</h3>
+Running EasyAnt with a extension point name will execute ALL the targets bound to it.
 Example:
 <code type="xml">
 > easyant package
 </code>
-All targets related to the package phase will be executed. 
+All targets related to the package extension point will be executed. 
 Supposing your build is composed of several modules that generate packages (jar + source.jar
+ documentation.jar). All such packages will be generated.
 If your need is just to create the first jar, maybe you should call the explicit target instead.
 
@@ -53,87 +129,83 @@ Example:
 </code>
 
 <h3>Displaying project help</h3>
-Running EasyAnt with "-p" argument will display a project help (ie. show all phases / target
available)
+Running EasyAnt with "-p" argument will display a project help (ie. show all extension point
/ target available)
 Example:
 <code type="xml">
 > easyant -p
 </code>
 
-A project using EasyAnt MUST contain a file named module.ivy and an optional file named module.ant.
-
-<h2>The module.ivy file</h2>
-<p />
-This file is the module descriptor of your project. 
-It contains information like your company name, the module name, dependencies, and Easyant
build information.
-
-<h3>A short example</h3>
-<code type="xml">
-<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
-  <info organisation="org.mycompany" module="myJavaApp" status="integration" >
-    <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-java" revision="0.2"/>
-  </info>
-  <configurations>
-    <conf name="default" visibility="public" description="runtime dependencies and master
artifact can be used with this conf"/>
-    <conf name="test" visibility="private" description="this scope indicates
- that the dependency is not required for normal use of the application, and is 
-only available for the test compilation and execution phases."/>
-  </configurations>
-</ivy-module>
-</code>
-In this module descriptor, we have an application named myJavaApp created by org.mycompany.
-To use easyant you must declare the easyant namespace 
-<code type="xml">
-xmlns:ea="http://www.easyant.org"
-</code>
-Pay attention to the <b>ea:build</b> tag.
-This tags define which build-type is used for your project. In this example we use <b>build-std-java</b>
which provides all the targets necessary to compile / package a standard java application.
-<div id="note">Note: The organisation argument in <b>ea:build</b> tag is
optional. If not specified easyant will use the default one (org.apache.easyant.buildtypes).</div>
-
-Running easyant with this example will run the default target (package).
-A few seconds later, you will have the generated jar in your_project/target/artifacts/myJavaApp.jar.
+<h2>Adapt it to your need</h2>
 
-<h3>Changing build-system properties</h3>
-So now we want to change several things on this build system.
-For example, we want to use the "run:run" feature that allows a user to compile/start a standard
java application (ie. a project with a main class).
-And we want to have the generated jar in "dist" directory instead of "targets/artifacts".
-We will add additional informations inside <easyant> tag.
+Almost everything is configurable through properties in easyant.
+Suppose we want to have the generated jar in "dist" directory instead of "targets/artifacts".
+We will add additional informations :
 <code type="xml">
-<ea:build organisation="org.apache.easyant.buildtypes" module="build-std-java" revision="0.2"/>
+<ea:build organisation="org.apache.easyant.buildtypes" module="build-std-java" revision="0.9"/>
  <ea:property name="target.artifacts" value="dist"/>
 </ea:build>
 </code>
-Running "easyant" will generate the output jar in "dist" directory.
+Running "easyant" will generate the output war in "dist" directory.
+
+<h2>Add additionnal plugin</h2>
+
+EasyAnt provides plugins that you can selectively choose to use in your project. These provide
you convenience functionalities. E.g. Quick WAR deployments in Jetty, Xooki documentation,
Coverage tools etc.
+
+In this tutorial, let us quickly take a look over how we may integrate Jetty with our current
war.
+
+Let us first include a 'Hello World' index.htm inside the src/main/webapp directory. These
are the contents of our index.htm:
 
-<h3>Using additional plugins</h3>
-In some cases, we want to use several features that are not included in the default build-type
provided by easyant.
-If your project needs to use a specific plugin, you can use the <ea:plugin> tag inside
<ea:build> tag.
-Example: 
-Suppose we want to use code coverage feature.
-<code type="xml">
-<ea:build organisation="org.apache.easyant.buildtypes" module="build-std-java" revision="0.2"/>
- <ea:property name="target.artifacts" value="dist"/>
- <ea:plugin org="org.apache.easyant.plugins" module="emma" revision="0.1"/>
-</ea:build>
-</code>
-Calling to "easyant -p" we should see the emma public target :
-<code type="xml">
-org.apache.easyant.plugins#emma.:emma     generate emma covera report
-</code>
-As you can see the target is prefixed by the project name.
-Most of the time the project name is quite long so easyant allows you to define aliases for
the project names. Such an alias can be used in place of the complete project name. You can
define an alias for a plugin using "as" argument as below.
 <code type="xml">
-<ea:build organisation="org.apache.easyant.buildtypes" module="build-std-java" revision="0.2"/>
- <ea:property name="target.artifacts" value="dist"/>
- <ea:plugin org="org.apache.easyant.plugins" module="emma" revision="0.1" as="emma"/>
-</ea:build>
+<html>
+    <head></head>
+    <body>
+        <h3>Hello World !!</h3>
+    </body>
+</html>
 </code>
-Calling to "easyant -p" we should see the emma public target :
+
+Our module.ivy is the repository of all plugins that our project uses. So, we go ahead and
include the Jetty plugin in our module.ivy.
+
 <code type="xml">
-emma:emma generate emma covera report
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org">
+    <info organisation="my.easyant.project" module="my-webapp" status="integration" >
+        <description>
+            This project is a sample of a java webapplication
+        </description>
+        <ea:build organisation="org.apache.easyant.buildtypes" module="build-webapp-java"
revision="0.9">
+            <ea:plugin organisation="org.apache.easyant.plugins" module="jetty-deploy"
revision="0.9"/>
+        </ea:build>
+    </info>
+    <configurations>
+        <conf name="default" />
+        <conf name="test" />
+    </configurations>
+    <publications>
+        <artifact type="war"/>
+    </publications>
+    <dependencies>
+        <dependency org="org.junit" name="junit rev="4.7" conf="test->default"/>
+    </dependencies>
+</ivy-module>
 </code>
+
+Note the addition of the <b>ea:plugin</b> tag.
+
+The above line instructs easyant to use the jetty-deploy plugin in version 0.9  in the current
project.
 <div id="note">Note: The organisation argument in <b>ea:plugin</b> tag
is optional. If not specified easyant will use the default one (org.apache.easyant.plugins).</div>
 
-<h3>Going further ?</h3>
+
+The jetty-deploy module exposes a target called 'jetty-deploy:run'. Further, this target
depends on the package phase of EasyAnt, which means that by the time this target is executed,
the WAR would have been created and available for deployment on Jetty.
+
+Because, in the new line added to module.ivy, the jetty-deploy module was added you can run
'easyant jetty-deploy:run' to build and package your web application, and deploy it on jetty.
The command launches jetty, and keeps displaying Jetty logs on console. You can now access
your web application on browser. Try hitting http://localhost:8080 !
+
+<h2>module.ant</h2>
+
+If you want to add something to the default build types that come packaged with EasyAnt,
you can write a module.ant file in your project root. This is called before EasyAnt executes
any of its core build scripts.
+
+You can also include any convenience targets you find useful, that are specific to your project
and do not come included in EasyAnt. 
+
+<h2>Going further ?</h3>
 If you want more information we strongly recommend you to read the <a href="../ref/Modulefiles.html">Module
files documentation</a></textarea>
 <script type="text/javascript">xooki.postProcess();</script>
 </body>

Modified: incubator/easyant/core/trunk/src/documentation/howto/writePlugins.html
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/documentation/howto/writePlugins.html?rev=1387744&r1=1387743&r2=1387744&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/documentation/howto/writePlugins.html (original)
+++ incubator/easyant/core/trunk/src/documentation/howto/writePlugins.html Wed Sep 19 20:29:10
2012
@@ -23,9 +23,9 @@
 </head>
 <body>
     <textarea id="xooki-source">
-<h1>How To write a plugin for easyant</h1>
+<h1>How To write a plugin or a buildtype for easyant</h1>
 
-<p>A module in Easyant is a logical unit that provides additional pluggable functionality
to your build set up. You may choose to use or ignore such a plugin when running the build.
A module is composed, in the least, of a ant script associated with a ivy specs file.
+<p>A build module in Easyant is a logical unit that provides additional pluggable functionality
to your build set up. You may choose to use or ignore such a plugin when running the build.
A build module is composed, in the least, of a ant file associated with a ivy specs file.
 So let's write a Hello World plugin.</p>
 
 <h2>Generating plugin from a skeleton</h2>

Modified: incubator/easyant/core/trunk/src/documentation/index.html
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/documentation/index.html?rev=1387744&r1=1387743&r2=1387744&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/documentation/index.html (original)
+++ incubator/easyant/core/trunk/src/documentation/index.html Wed Sep 19 20:29:10 2012
@@ -48,7 +48,7 @@ To still remain adaptable, 
 
 <h2>About this doc</h2>
 
-If you are browsing this documentation from your installation of EasyAnt, you can also check
the <a href="http://www.easyant.org/doc/">online version</a> for latest updates.
+If you are browsing this documentation from your installation of EasyAnt, you can also check
the <a href="http://incubator.apache.org/easyant/">online version</a> for latest
updates.
 
 You can also browse this documentation offline either by downloading the documentation distribution,
or by checking out the src/documentation directory from svn. This documentation uses xooki
as documentation engine, so you can very easily edit it and submit patches when you browse
it from source.</textarea>
 <script type="text/javascript">xooki.postProcess();</script>

Modified: incubator/easyant/core/trunk/src/documentation/ref/Directorystructure.html
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/documentation/ref/Directorystructure.html?rev=1387744&r1=1387743&r2=1387744&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/documentation/ref/Directorystructure.html (original)
+++ incubator/easyant/core/trunk/src/documentation/ref/Directorystructure.html Wed Sep 19
20:29:10 2012
@@ -39,6 +39,10 @@ Those conventions can be configured thro
 In this document will try to explain you the directory structure of standard EasyAnt project.
 
 <h2>Standard directory structure</h2>
+
+Standard directory structure looks like this :
+<img src="../images/java-webapp-src-structure.gif" />
+
 <h3>Separating project main code and test code</h3>
 In a ideal world application may have some tests (functionnal / unit test / integration test,
etc...).
 This tests doesn't make sense at all to be shipped during the packaging phase of your application.
@@ -48,6 +52,7 @@ To avoid this, by default EasyAnt makes 
   <li>test code</li>
 </ul>
 
+
 By convention, project code is stored in <i>src/main</i> directory</i>,
whereas your test code is in <i>src/test</i> directory.
 
 <h3>Separating source code and resources</h3>
@@ -59,27 +64,26 @@ The directory structure of project sourc
   <li><i>src/main/resources</i> for resource files (note that this can
be configured through the property <i>src.main.resources</i>)</li>
 </ul>
 
-
 The directory structure of test source code:
 <ul>
   <li><i>src/test/java</i> for test source code (note that this can be
configured through the property <i>src.test.java</i>)</li>
   <li><i>src/test/resources</i> for test resource files (note that this
can be configured through the property <i>src.test.resources</i>)</li>
 </ul>
 
-<div id="note>
+<div id="note">
 Note: this also apply with non-java project (like groovy / scala project). 
-Groovy project : 
+<h4>Groovy project</h4>
 <ul>
   <li><i>src/main/groovy</i> for main source code (note that this can be
configured through the property <i>src.main.groovy</i>)</li>
   <li><i>src/test/groovy</i> for test source code (note that this can be
configured through the property <i>src.test.groovy</i>)</li>
 </ul>
 
-Scala project : 
+<h4>Scala project</h4>
 <ul>
   <li><i>src/main/scala</i> for main source code (note that this can be
configured through the property <i>src.main.scala</i>)</li>
   <li><i>src/test/scala</i> for test source code (note that this can be
configured through the property <i>src.test.scala</i>)</li>
 </ul>
-</note>
+</div>
 
 <h2>WebApp ressources</h2>
 By convention, WebApp ressources are stored in <i>src/main/webapp</i>.

Modified: incubator/easyant/core/trunk/src/documentation/ref/ProjectIvyInstance.html
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/documentation/ref/ProjectIvyInstance.html?rev=1387744&r1=1387743&r2=1387744&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/documentation/ref/ProjectIvyInstance.html (original)
+++ incubator/easyant/core/trunk/src/documentation/ref/ProjectIvyInstance.html Wed Sep 19
20:29:10 2012
@@ -24,9 +24,9 @@
 <body>
     <textarea id="xooki-source">
 <h1>Project Ivy Instance</h2>
-The project ivy instance is in charge to configure the ivy instance used by your project
(configure the repositories used to retrieve your projects dependencies for example).
+The project ivy instance is in charge to configure ivy for your project (configure repositories
used to retrieve your projects dependencies for example).
 
-In order to work as you want, EasyAnt sometimes need some settings. Actually, EasyAnt can
work with no specific settings at all, see the default settings documentation for details
about that. But ivy is able to work in very different contexts. You just have to configure
it properly.
+In order to work as you want, EasyAnt sometimes need some settings. Actually, EasyAnt can
work with no specific settings at all, see the default settings documentation for details
about that. Ivy is able to work in very different contexts. You just have to configure it
properly.
 
 Settings are specified through an xml file, usually called ivysettings.xml. 
 Here is an example of settings file :
@@ -48,7 +48,7 @@ Here is an example of settings file :
 </code>
 
 Mainly, the settings enable to configure the default cache directory used by ivy and the
dependency resolvers that it will use to resolve dependencies.
-<i>Note: To work, this settings file needs a property file named ivysettings-file.properties
in the same directory as the settings file, with ivy variables you want in it.</i>
+<div id="note">Note: To work, this settings file needs a property file named ivysettings-file.properties
in the same directory as the settings file, with ivy variables you want in it.</div>
 If you want to have more details on this settings file we strongly recommend you to read
the <a href="http://ant.apache.org/ivy/history/2.1.0-rc1/settings.html">reference documentation
of settings file</a>
 
 <h2>How to configure a custom project ivy settings ?</h2>
@@ -75,7 +75,7 @@ This default settings mainly consist of 
   <li>public: a repository on which most modules, and especially third party modules,
can be found</li>
 </ul>
 
-<i>Note that if you work alone, the distinction between local and shared repository
is not very important, but there are some things to know to distinguish them.</i>
+<div id="note">Note that if you work alone, the distinction between local and shared
repository is not very important, but there are some things to know to distinguish them.</div>
 
 Now let's describe each of these repositories concept in more details. We will describe how
they are setup physically later.
 <h3>Local</h3>

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=1387744&r1=1387743&r2=1387744&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 20:29:10 2012
@@ -29,7 +29,30 @@
 <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>
 
 <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>
-    </textarea>
+    
+
+<table>
+  <thead>
+    <tr>
+      <td>Module name</td>
+      <td>Description</td>
+    </tr>
+  </thead>
+  <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>
+    </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>
+    </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>
+    </tr>
+  </tbody>
+</table></textarea>
     <script type="text/javascript">xooki.postProcess();</script>
 </body>
 </html>

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=1387744&r1=1387743&r2=1387744&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 20:29:10
2012
@@ -31,6 +31,66 @@
 <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>
 
 <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>
+
+
+<ul>
+  <li>Java plugins
+    <ul>
+      <li>Java compilation</li>
+      <li>Javadoc generation</li>
+      <li>Run java application</li>
+    </ul>
+  </li>
+  <li>Scala plugins
+    <ul>
+      <li>Scala compilation</li>
+      <li>Scaladoc</li>
+    </ul>
+  </li>
+  <li>Packaging plugins
+    <ul>
+      <li>Manifest plugins</li>
+      <li>Packaging jar application</li>
+      <li>Packaging war application</li>
+      <li>Source packaging</li>
+    </ul>
+  </li>
+  <li>Test plugins
+    <ul>
+      <li>abstract tests (used by all *tests plugins)</li>
+      <li>Junit tests</li>
+      <li>TestNG tests</li>
+    </ul>
+  </li>
+  <li>Dependency / Publication
+    <ul>
+      <li>Common ivy tasks (Reports, clean-cache, etc...)</li>
+      <li>Dependency management (using Apache Ivy)</li>
+      <li>Publication (using Apache Ivy)</li>
+    </ul>
+  </li>
+  <li>Source Code Management Plugins
+    <ul>
+      <li>SVN</li>
+    </ul>
+  </li>
+  <li>Documentation Plugins
+    <ul>
+      <li>Documentation generation</li>
+      <li>Xooki</li>
+    </ul>
+  </li>
+  <li>Others Plugins
+    <ul>
+      <li>Clean</li>
+      <li>Resource standard</li>
+      <li>Emma coverage</li>
+      <li>Checkstyle</li>
+      <li>Jetty deployment</li>
+      <li>Skeleton plugins (manages skeleton of projects)</li>
+     </ul>
+  </li>
+</ul>
 </textarea>
 <script type="text/javascript">xooki.postProcess();</script>
 </body>

Modified: incubator/easyant/core/trunk/src/documentation/reference.html
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/documentation/reference.html?rev=1387744&r1=1387743&r2=1387744&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/documentation/reference.html (original)
+++ incubator/easyant/core/trunk/src/documentation/reference.html Wed Sep 19 20:29:10 2012
@@ -28,19 +28,19 @@
 If you don't know EasyAnt at all, give a glance at its <a href="ref/features.html">features</a>,
the <a href="faq.html">FAQ</a> and the <a href="tutorials.html">tutorials</a>
before digging into this reference documentation.
 
 <h2>How does it work?</h2>
-Since 0.6, easyant-core.jar is in charge of :
+Easyant-core.jar is in charge of :
 <ul>
   <li>Loading  the ivy instance used by easyant internal (used to retrieve buildtypes
/ plugins)</li>
   <li>Loading all the system plugins.
 </ul>
 This can be configured in a <a href="ref/EasyAntconfigurationfile.html">configuration
file</a>.
 
-Then it uses the <a href="ref/anttasks/LoadModuletask.html">loadmodule task</a>
provided by easyant, which basically parses an Ivy file (module.ivy) and looks for instructions
in the Ivy file for easyant (similar to the pom concept actually).
+Then it uses the <a href="ref/anttasks/LoadModuletask.html">loadmodule task</a>
provided by easyant, which basically parses an Ivy file (module.ivy similar to pom.xml for
maven) and looks for easyant instructions.
 
 Finally easyant tries to import an optional file called module.ant in the user directory
(the module to build). In the examples, there is no such file, but this would let the user
customize the build with an Ant script if necessary.
 
 <h2>EasyAnt instructions in module.ivy</h2>
-A module.ivy looks like this
+EasyAnt intructions in module.ivy files looks like this
 <code type="xml">
 <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-java" revision="0.2">
         <ea:property name="run.main.classname" value="org.apache.easyant.example.Example"/>
@@ -49,7 +49,7 @@ A module.ivy looks like this
 </ea:build>
 </code>
 
-The idea is to have a very limited options of customizing the build in the Ivy file: settings
properties, and telling which main build module should be imported. If you need more, you
can use a module.ant file.
+The idea is to have a very limited options to customize the build in the Ivy file: settings
properties, specify build modules (buildtype / plugins). If you need more, you can use a module.ant
file.
 
 Let's try to understand how to use it.
 'ea:build' tag is the main instruction. Type argument in easyant tag references a build type,
which tells which build module should be imported (considered as an <a href="ref/anttasks/Importtask.html">import</a>),
see below.
@@ -88,133 +88,26 @@ Example :
 emma:emma generate emma coverage report
 </code>
 
-<h2>build plugins:</h2>
-There is three types of build modules:
+<h2>build modules:</h2>
+There are two types of build modules:
 <ul>
-<li>build types</li>
-<li>phase description</li>
 <li>plugins</li>
+<li>build types</li>
 </ul>
 
-<h3>build types:</h3>
-The main build script are build type (build-std-java in my previous example).
-
-Build types are intended to provide a full build for a particular type of project (simple
java, war, ear, ...). EasyAnt comes with a set of build types modules, but users could extend/replace
these types as they want. Then in most cases they could simply define which build type to
import for each module (either standard or custom), and that's pretty much all. Hence you
usually import only one build type module at a time.
-<table>
-  <thead>
-    <tr>
-      <td>Module name</td>
-      <td>Description</td>
-    </tr>
-  </thead>
-  <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>
-    </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>
-    </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>
-    </tr>
-  </tbody>
-</table>
-
-<h3>phases description:</h3>
-Phases define an ordered set of build phases. Build phases are responsible for the build
choreography at macro level. They are inspired by the same concept in Maven. In practice they
are very similar to Ant targets, except that their dependencies can be defined by the dependency
target using a syntax like this:
-
-<code type="xml">
-<target name="xxx" phase="yyy" />
-</code>
-This basically adds the target "xxx" to the list of dependencies of the phase "yyy".
-Usually you use only one phases definition build module.
-<table>
-  <thead>
-    <tr>
-      <td>Module name</td>
-      <td>Description</td>
-    </tr>
-  </thead>
-  <tbody>
-    <tr>
-      <td>phases-std</td>
-      <td>describes the standard phases of a build. These phase are directly inspired
by maven 2 standard phases.</td>
-    </tr>
-  </tbody>
-</table>
-
-See <a href="ref/phases.html">Understanding phases</a> to have more informations
on phases.
-
 <h3>Plugins</h3>
-Build plugins are there to actually define each block of the build system. They interact
with each other by relying on the file system and properties (for instance run-java expect
java classes to be in directory pointed by ${target.main.classes}). For the whole build choreography
they rely on phases. Each build plugin define the expected "parameters" (i.e. the expected
properties, paths and phases) by using a parameter task like this:
+Build plugins are there to actually define each block of the build system. They interact
with each other by relying on the file system and properties (for instance run-java expect
java classes to be in directory pointed by ${target.main.classes}). Build plugin can define
extensionPoints to make stuff pluggable.
+
+Each build plugin define the expected "parameters" (i.e. the expected properties, paths)
by using a parameter task like this:
 
 <code type="xml">
 <ea:parameter property="src.main.java" required="true" description="directory where sources
to be compiled are" />
 </code>
 
 This is intended to be used both for validation and documentation, ATM only basic validation
is performed.
-<ul>
-  <li>Java plugins
-    <ul>
-      <li>Java compilation</li>
-      <li>Javadoc generation</li>
-      <li>Run java application</li>
-    </ul>
-  </li>
-  <li>Scala plugins
-    <ul>
-      <li>Scala compilation</li>
-      <li>Scaladoc</li>
-    </ul>
-  </li>
-  <li>Packaging plugins
-    <ul>
-      <li>Manifest plugins</li>
-      <li>Packaging jar application</li>
-      <li>Packaging war application</li>
-      <li>Source packaging</li>
-    </ul>
-  </li>
-  <li>Test plugins
-    <ul>
-      <li>abstract tests (used by all *tests plugins)</li>
-      <li>Junit tests</li>
-      <li>TestNG tests</li>
-    </ul>
-  </li>
-  <li>Dependency / Publication
-    <ul>
-      <li>Common ivy tasks (Reports, clean-cache, etc...)</li>
-      <li>Dependency management (using Apache Ivy)</li>
-      <li>Publication (using Apache Ivy)</li>
-    </ul>
-  </li>
-  <li>Source Code Management Plugins
-    <ul>
-      <li>SVN</li>
-    </ul>
-  </li>
-  <li>Documentation Plugins
-    <ul>
-      <li>Documentation generation</li>
-      <li>Xooki</li>
-    </ul>
-  </li>
-  <li>Others Plugins
-    <ul>
-      <li>Clean</li>
-      <li>Resource standard</li>
-      <li>Emma coverage</li>
-      <li>Checkstyle</li>
-      <li>Jetty deployment</li>
-      <li>Skeleton plugins (manages skeleton of projects)</li>
-     </ul>
-  </li>
-</ul>
-</textarea>
+
+<h3>build types:</h3>
+A build type is a set of module preconfigured for a particular type of project (simple java
jar, war, ...). EasyAnt comes with a set of build types modules relying on a standard lifecycle,
but users could extend/replace it as they want. In most cases users will simply define the
build type to use (either standard or a custom one ) and add specific plugins.</textarea>
 <script type="text/javascript">xooki.postProcess();</script>
 </body>
 </html>

Modified: incubator/easyant/core/trunk/src/documentation/style/style.css
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/documentation/style/style.css?rev=1387744&r1=1387743&r2=1387744&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/documentation/style/style.css (original)
+++ incubator/easyant/core/trunk/src/documentation/style/style.css Wed Sep 19 20:29:10 2012
@@ -20,19 +20,18 @@ Design by Free CSS Templates
 http://www.freecsstemplates.org
 Released for free under a Creative Commons Attribution 2.5 License
 */
-*, html {
-	margin:0;
-	padding:0;
-}
-
 body {
     background:#f5f5f5 !important;
     font: normal small Arial, Helvetica, sans-serif;
     color: #6c6c6c;
+    padding: 0;
+    margin: 0;
+
 }
 
-h1, h2, h3 {
+h1, h2, h3, h4 {
     color: #11A6D4;
+    margin:5px 0;
 }
 
 pre {
@@ -92,6 +91,8 @@ table, sortable {
 }
 /* Header > Menu */
 ul.menu{
+padding: 0;
+margin: 0;
 background:#000;
 width:100%;
 position:absolute;
@@ -153,6 +154,7 @@ color:#000;
 .boxed .title {
     height: 29px;
     padding: 11px 0 0 27px;
+    margin:0;
     background: url(../images/img08.gif) no-repeat 10px 50%;
     font-size: 1.2em;
     color: #FFFFFF;
@@ -161,14 +163,15 @@ color:#000;
 /* Posts */
 
 #posts {
-    float:left;
-    margin-left: 10px;
+    float:right;
+    width:75%;
 }
 
 /* Content > Sidebar */
 
 #sidebar {
     float: left;
+    width:24%;
 }
 
 /* Links */
@@ -178,6 +181,11 @@ color:#000;
     padding-right:10px;
 }
 
+#links ul {
+    padding: 0;
+    margin:0;
+}
+
 #links li a {
     text-decoration: none;
 }

Modified: incubator/easyant/core/trunk/src/documentation/toc.json
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/documentation/toc.json?rev=1387744&r1=1387743&r2=1387744&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/documentation/toc.json (original)
+++ incubator/easyant/core/trunk/src/documentation/toc.json Wed Sep 19 20:29:10 2012
@@ -1,20 +1,3 @@
-/*
- *  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.
- *
- */
 {
   "children": [
       {
@@ -33,15 +16,8 @@
                       ]
                   },
                   {
-                    "id":"howto/SettingupasimpleEasyAntproject",
-                    "title":"Setting up a simple EasyAnt Project",
-                    "children": [
-
-                      ]
-                  },
-                  {
-                    "id":"howto/writePlugins",
-                    "title":"Writing plugins",
+                    "id":"howto/multimodules",
+                    "title":"Working with multi-modules",
                     "children": [
 
                       ]
@@ -54,15 +30,15 @@
                       ]
                   },
                   {
-                    "id":"howto/multimodules",
-                    "title":"Working with multi-modules",
+                    "id":"howto/BuildConfigurations",
+                    "title":"Build configurations",
                     "children": [
 
                       ]
                   },
                   {
-                    "id":"howto/BuildConfigurations",
-                    "title":"Build configurations",
+                    "id":"howto/writePlugins",
+                    "title":"Writing plugins / build types",
                     "children": [
 
                       ]
@@ -241,12 +217,16 @@
                   {
                     "id":"ref/buildtypes/buildtypes",
                     "title":"Build Types",
-                    "children":[]
+                    "children": [
+
+                      ]
                   },
                   {
                     "id":"ref/plugins/plugins",
                     "title":"Plugins",
-                    "children":[]
+                    "children": [
+
+                      ]
                   },
                   {
                     "id":"ref/EasyAntconfigurationfile",
@@ -294,4 +274,4 @@
           ]
       }
     ]
-}
+}
\ No newline at end of file



Mime
View raw message