You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by Stephen McConnell <mc...@apache.org> on 2004/06/20 03:25:17 UTC

totally working

Have just committed some updates to avalon that correct a multitude of 
sins committed over the last couple of days (committing stuff in the 
knowledge that the overall build would break).

As of a few minutes ago we are back to the classic:

   $ cd avalon
   $ ant setup
   $ ant clean
   $ ant

Here is a basic picture of what is happening as a result of the above. 
First off - "ant setup" will install the latest version of Magic into 
${user.home}/.ant/lib.  The "ant clean" is simply to get your to clean 
before building so we don't get anyone complaining as a result of builds 
against dirty content.  Then comes the main event "ant".  This invokes a 
reactor build using the "default" target.

The reactor will look into the system index.xml for all projects with a 
basedir withing the current directory.  Then the reactor sorts the 
projects relative to dependencies (takes less than 0.5 seconds on my 
machine which means about 0.1 second on LSD machine).  The reactor then 
invokes ant on the individual build files.  Most of the time is spent 
building classic artifacts and installing the result into the common 
cache.  Toward the end of the build we hit avalon-site which is where 
things get interesting.

The avalon-site project overrides the standard definition of site with 
the following:

   <target name="site" depends="standard.site">
     <x:publish path="."/>
   </target>

The standard definition (executed as a result of the 'standard.site' 
dependency) invoked javadoc and xdoc generation.  The above definition 
extends this with the publication of the result into a common docs 
repository.  Secondly, the standard javadoc target is overriden with the 
following definition:

   <target name="javadoc">
     <x:javadoc title="Merlin Runtime" id="avalon-runtime">
       <x:link href="http://java.sun.com/j2se/1.4/docs/api" />
     </x:javadoc>
   </target>

What happens here is that the javadoc is invoked on a completely 
separate project resulting in the registration of api, spi and impl 
javadoc for the Merlin Runtime platform into a common docs repository. 
The site target continues and generates the Avalon site and publishes 
this into the root of the doc repository using <x:publish path="."/>.

On completion you have the avalon site fully generated including 
integrated javadoc under the avalon/central/system/.docs/ directory.

And it just works!

Steve.

-- 

|---------------------------------------|
| Magic by Merlin                       |
| Production by Avalon                  |
|                                       |
| http://avalon.apache.org              |
|---------------------------------------|

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