incubator-easyant-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jlboud...@apache.org
Subject svn commit: r1417121 - in /incubator/easyant/core/trunk/src/documentation: howto/multimodules.html ref/Modulefiles.html ref/anttasks/ConfigureProject.html toc.json
Date Tue, 04 Dec 2012 19:12:26 GMT
Author: jlboudart
Date: Tue Dec  4 19:12:25 2012
New Revision: 1417121

URL: http://svn.apache.org/viewvc?rev=1417121&view=rev
Log:
Add Configure project documentation and fix various typos

Added:
    incubator/easyant/core/trunk/src/documentation/ref/anttasks/ConfigureProject.html
Modified:
    incubator/easyant/core/trunk/src/documentation/howto/multimodules.html
    incubator/easyant/core/trunk/src/documentation/ref/Modulefiles.html
    incubator/easyant/core/trunk/src/documentation/toc.json

Modified: incubator/easyant/core/trunk/src/documentation/howto/multimodules.html
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/documentation/howto/multimodules.html?rev=1417121&r1=1417120&r2=1417121&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/documentation/howto/multimodules.html (original)
+++ incubator/easyant/core/trunk/src/documentation/howto/multimodules.html Tue Dec  4 19:12:25
2012
@@ -30,7 +30,7 @@
 <p>EasyAnt provides strong support for multi-module projects:
 
 <ul>
-  <li>The <a href="../ref/buildtypes/meta-build.html">meta-build</a> build
type provides build orchestration (automatically orders the module build according to dependencies).</li>
+  <li>The <a href="http://repository.easyant.org/apache-easyant/org.apache.easyant.buildtypes/meta-build/">meta-build</a>
build type provides build orchestration (automatically orders the module build according to
dependencies).</li>
   <li>Optional <a href="#module-inheritance">module inheritance</a> allows
modules in the same project to share configuration settings.</li>
   <li>Optional <a href="#packaging">top-level build script</a> allows extra
packaging logic to run at the end of your multi-module build.</li>
 </ul>
@@ -48,7 +48,7 @@
 
 <h3>Project module.ivy</h3>
 
-<p>The project-level module.ivy uses the <a href="../ref/buildtypes/meta-build.html">meta-build</a>
build type.  This build type implements build orchestration:  all submodules are analyzed
to determine the required build order, and then each module is built.  Simple modules are
built first, and then more complex modules that depend on them are built.</p>
+<p>The project-level module.ivy uses the <a href="http://repository.easyant.org/apache-easyant/org.apache.easyant.buildtypes/meta-build/">meta-build</a>
build type.  This build type implements build orchestration:  all submodules are analyzed
to determine the required build order, and then each module is built.  Simple modules are
built first, and then more complex modules that depend on them are built.</p>
 
 <h4>Example</h4>
 <p>For example, you have an application with two modules.  One module is the main application,
which depends on a core "API" module.  You want to build those two projects in the right order.
 The simplest parent module.ivy file will look like this:
@@ -56,7 +56,7 @@
 <code type="xml">
 <ivy-module version="2.0">
     <info organisation="org.apache.easyant" module="example-multimodule" status="integration">
-        <ea:build module="meta-build" revision="0.2"/>
+        <ea:build module="meta-build" revision="0.9"/>
     </info>
 </ivy-module>
 </code>
@@ -66,13 +66,13 @@
 <p>Set up the module.ivy in each submodule as you would any other project; see <a
href="GettingStarted.html">Getting Started</a> for an overview.  Often submodules
belonging to the same project will have very similar Ivy files, with common dependencies and
<a href="BuildConfigurations.html">build configurations</a>.  EasyAnt provides
a <i>module inheritance</i> feature that allows you to put features shared by
all of your modules in the project Ivy file.</p>
 
 <a name="module-inheritance"></a><h4>Module inheritance</h4>
-<p>Module inheritence is based on an ivy issue that is still opened, https://issues.apache.org/jira/browse/IVY-742.
 We've made a small patch as a POC that allow you to extends ivy files:
+<p>Module inheritence is based on <a href="http://ant.apache.org/ivy/history/latest-milestone/extend.html">ivy's
extend feature</a>.
 <code type="xml">
 <extends organisation="foobar" module="child" revision="latest.integration" location="../module.ivy"
extendType="configurations,dependencies"/>
 </code>
 </p>
 
-<p>We've defined two optional attributes, "location" and "extendType".  Location defines
the filesystem location of the parent desriptor relative to the submodule descriptor.  If
the parent descriptor doesn't exist there, Ivy will search for it in the Ivy repository. 
If unspecified, the default in EasyAnt is "../module.ivy".</p>
+<p>Extend tag has two optional attributes, "location" and "extendType".  Location defines
the filesystem location of the parent desriptor relative to the submodule descriptor.  If
the parent descriptor doesn't exist there, Ivy will search for it in the Ivy repository. 
If unspecified, the default in EasyAnt is "../module.ivy".</p>
 <p>The extendType attribute defines which parts of the parent descriptor to import.
 The default value is "all".  Possible values for extendType:
 <ul>
   <li>all</li>
@@ -105,11 +105,11 @@
 
 <p>Building a multi-module project is the same as building a single-module project:
 type "easyant [target]", where [target] is a highlevel target or target that you want to
execute.  [target] is then executed on all of your sub-modules, ordered so that dependencies
are built before the modules that need them.  Type easyant -p from the project root directory
to see a full list of available build targets.  The following highlevel targets (also named
phases) are typical of any easyant build:
 <ul>
-  <li><code>&gt; easyant clean</code> execute the clean phase of the
build on each submodule.  This deletes any artifacts produced by prior builds.</li>
-  <li><code>&gt; easyant verify</code> compile and test all modules</li>
-  <li><code>&gt; easyant package</code> package all modules for distribution</li>
-  <li><code>&gt; easyant publish-local</code> publish all project modules
to your workstation Ivy repository.</li>
-  <li><code>&gt; easyant publish-shared</code> publish all project
modules to your shared Ivy repository.</li>
+  <li><code>> easyant clean</code> execute the clean phase of the build
on each submodule.  This deletes any artifacts produced by prior builds.</li>
+  <li><code>> easyant verify</code> compile and test all modules</li>
+  <li><code>> easyant package</code> package all modules for distribution</li>
+  <li><code>> easyant publish-local</code> publish all project modules
to your workstation Ivy repository.</li>
+  <li><code>> easyant publish-shared</code> publish all project modules
to your shared Ivy repository.</li>
 </ul>
 
 <h4>Build artifacts</h4>
@@ -122,12 +122,12 @@
 
 <p>So you have a complex project with many sub-modules, and you use meta-build to generate
all of them.  At the end of your build you probably want to gather your various modules and
put them together into one big distribution archive.</p>
 
-<p>The easiest way to do this is with a <code>module.ant</code> file in
the project root directory.  Any targets in this file will be run after all of the sub-module
builds are finished.  For example, this module.ant could be used with our example-multimodule
project to build a tar.gz file at the end of the package phase:
+<p>The easiest way to do this is with a <b>module.ant</b> file in the project
root directory.  Any targets in this file will be run after all of the sub-module builds are
finished.  For example, this module.ant could be used with our example-multimodule project
to build a tar.gz file at the end of the package phase:
 <code type="xml">
 <project name="org.apache.easyant#example-multimodule" xmlns:ea="antlib:org.apache.easyant">
 
     <property name="target.dir" location="target/release"/>
-    <ea:import mrid="org.apache.easyant.buildtypes#meta-build;0.2"/>
+    <ea:import mrid="org.apache.easyant.buildtypes#meta-build;0.9"/>
     
     <target name="build-distribution" phase="package" description="gather the submodules
into one archive">
         <mkdir dir="${target.dir}"/>

Modified: incubator/easyant/core/trunk/src/documentation/ref/Modulefiles.html
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/documentation/ref/Modulefiles.html?rev=1417121&r1=1417120&r2=1417121&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/documentation/ref/Modulefiles.html (original)
+++ incubator/easyant/core/trunk/src/documentation/ref/Modulefiles.html Tue Dec  4 19:12:25
2012
@@ -53,10 +53,21 @@ xmlns:ea="http://www.easyant.org"
 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
optionnal. If not specified easyant will use the default one (org.apache.easyant.buildtypes).</div>
+<div id="note">Note: This tag support <a href="#propertyAsAttribute">property
as attribute.</a> . If you have a few property to set it's often easier to use property
as attribute. If you have lot of properties we strongly recommend you to declare it using
property tag</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.
 
+<h3>Configure the project</h3>
+By default default target are defined in builtypes, but you have the hability to adapt it
if necessary.
+
+In the example bellow, we will configure <i>myDefaultTarget</i> as the default
target.
+<code type="xml">
+ <ea:configure-project defaultTarget="myDefaultTarget"/>
+</code>
+
+<div id="note">Note: This tag support <a href="#propertyAsAttribute">property
as attribute.</a> . If you have a few property to set it's often easier to use property
as attribute. If you have lot of properties we strongly recommend your to declare it using
property tag</div>
+
 <h3>Changing build-system properties</h3>
 So now we want to change several things on this build system.
 For example, we want to have the generated jar in "dist" directory instead of "targets/artifacts".
@@ -108,6 +119,32 @@ Calling to "easyant -p" we should see th
 emma.:emma generate emma covera report
 </code>
 <div id="note">Note: The organisation argument in <b>ea:plugin</b> tag
is optionnal. If not specified easyant will use the default one (org.apache.easyant.plugins).</div>
+<div id="note">Note: This tag support <a href="#propertyAsAttribute">property
as attribute.</a> . If you have a few property to set it's often easier to use property
as attribute. If you have lot of properties we strongly recommend you to declare it using
property tag</div>
+
+<a name="propertyAsAttribute"></a><h3>Property as attribute</h3>
+
+The following tags allow property as attribute :
+<ul>
+  <li>build</li>
+  <li>plugin</li>
+  <li>configure-project</li>
+</ul>
+If you have a few property to set it's often easier to use property as attribute. 
+Example in ea:build
+<code type="xml">
+  <ea:build module="build-std-java" revision="0.9" my.property="myvalue"/>
+</code>
+Example in plugin
+<code type="xml">
+  <ea:plugin module="run-java" revision="0.9" run.main.classname="org.myproject.Main"/>
+</code>
+Example in configure-project
+<code type="xml">
+  <ea:configure-project defaultTarget="myDefaultTarget" run.main.classname="org.myproject.Main"/>
+</code>
+
+If you have lot of properties we strongly recommend you to declare it using property tag.
+
 
 <h2>The Optional module.ant file</h2>
 <p />

Added: incubator/easyant/core/trunk/src/documentation/ref/anttasks/ConfigureProject.html
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/documentation/ref/anttasks/ConfigureProject.html?rev=1417121&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/documentation/ref/anttasks/ConfigureProject.html (added)
+++ incubator/easyant/core/trunk/src/documentation/ref/anttasks/ConfigureProject.html Tue
Dec  4 19:12:25 2012
@@ -0,0 +1,65 @@
+<!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: 2};</script>	
+	<script type="text/javascript" src="../../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<h1>configure-project task</h1>
+
+<h2>Description</h2>
+<p>
+This task is responsible of configuring project informations.
+</p>
+
+<h2>Arguments</h2>
+<table class="sortable" id="arguments">
+  <thead>
+    <tr>
+      <th>Parameter name</th>
+      <th class="unsortable">Description</th>
+      <th>Mandatory</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td>defaultTarget</td>
+      <td>default target name</td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td>basedir</td>
+      <td>project basedir</td>
+      <td> </td>
+    </tr>
+  </tbody>
+</table>
+
+<h2>Example</h2>
+<code type="xml">
+  <ea:configure-project defaultTarget="package" />
+</code>
+	</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Modified: incubator/easyant/core/trunk/src/documentation/toc.json
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/documentation/toc.json?rev=1417121&r1=1417120&r2=1417121&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/documentation/toc.json (original)
+++ incubator/easyant/core/trunk/src/documentation/toc.json Tue Dec  4 19:12:25 2012
@@ -124,6 +124,13 @@
                             ]
                         },
                         {
+                          "id":"ref/anttasks/ConfigureProject",
+                          "title":"configure-project",
+                          "children": [
+
+                            ]
+                        },
+                        {
                           "id":"ref/anttasks/CoreVersiontask",
                           "title":"core-version",
                           "children": [



Mime
View raw message