You are viewing a plain text version of this content. The canonical link for it is here.
Posted to woden-dev@ws.apache.org by jk...@apache.org on 2007/10/19 12:34:36 UTC

svn commit: r586369 - in /incubator/woden/Site: build/site/dev/devprocess.html build/site/dev/devprocess.pdf src/documentation/content/xdocs/dev/devprocess.xml

Author: jkaputin
Date: Fri Oct 19 03:34:23 2007
New Revision: 586369

URL: http://svn.apache.org/viewvc?rev=586369&view=rev
Log:
WODEN-67
Adding development process documentation to Woden
website for build and test processes.

Modified:
    incubator/woden/Site/build/site/dev/devprocess.html
    incubator/woden/Site/build/site/dev/devprocess.pdf
    incubator/woden/Site/src/documentation/content/xdocs/dev/devprocess.xml

Modified: incubator/woden/Site/build/site/dev/devprocess.html
URL: http://svn.apache.org/viewvc/incubator/woden/Site/build/site/dev/devprocess.html?rev=586369&r1=586368&r2=586369&view=diff
==============================================================================
--- incubator/woden/Site/build/site/dev/devprocess.html (original)
+++ incubator/woden/Site/build/site/dev/devprocess.html Fri Oct 19 03:34:23 2007
@@ -170,10 +170,10 @@
 <a href="#Source+Code">Source Code</a>
 </li>
 <li>
-<a href="#Testing">Testing</a>
+<a href="#Building">Building</a>
 </li>
 <li>
-<a href="#Build">Build</a>
+<a href="#Testing">Testing</a>
 </li>
 <li>
 <a href="#Release+Process">Release Process</a>
@@ -367,23 +367,282 @@
       </p>
 </div>
     
-<a name="N100EA"></a><a name="Testing"></a>
-<h2 class="boxed">Testing</h2>
+<a name="N100EA"></a><a name="Building"></a>
+<h2 class="boxed">Building</h2>
 <div class="section">
 <p>
-    		TBD: Insert details about how to test Woden
-    	</p>
+        Woden defines an API and provides 2 implementations of it. One is based on the Document Object Model (DOM) 
+        and the other on the Axiom Object Model (OM).
+        </p>
+<p>The Woden build produces 3 packages, distributed as archive files (zip and tar):</p>
+<ul>
+        
+<li>
+        The <em>API</em> package contains the Woden API classes only.
+        </li>
+        
+<li> 
+        The <em>DOM</em> package contains the DOM implementation of the Woden API. This includes the DOM-specific
+        classes and any common implementation classes.
+        </li>
+        
+<li>
+        The <em>OM</em> package contains the OM implementation of the Woden API. That is, the OM-specific classes
+        and any common implementation classes.
+        </li>
+        
+</ul>
+<p>The Woden runtime code is in 3 jar files:</p>
+<ul>
+        
+<li>woden-api-[version].jar</li>
+        
+<li>woden-impl-dom-[version].jar</li>
+        
+<li>woden-impl-om-[version].jar</li>
+        
+</ul>
+<p>
+        Woden uses simply download the API package and the package for the implementation they prefer (DOM or OM).
+        Each implementation package includes the dependent jar files required by the implementation.
+        </p>
+<p>
+        Woden has <a href="http://ant.apache.org/">Ant</a> and <a href="http://maven.apache.org/">Maven</a> build processes.
+        The Ant process was created originally and Maven was introduced later to integrate the Woden build with other
+        Apache projects that depend on it, like Axis2. We maintain both build processes so that users can choose the
+        one they prefer.
+        </p>
+<p>
+        
+<strong>Ant</strong> uses a concept of targets to figure out what work to do when you want a certain task done,
+        they are defined inside a build.xml which is in the root of our source directory.
+        There are two main ways in which we run a target, from the command line or inside eclipse.
+        If you want to use the command line you need to download and install Ant from their download site above,
+        then you just use the command <span class="codefrag">ant [targetname]</span> to run a target called targetname.
+        If you want to use Eclipse you need to make sure you have the Ant plug-in, which should come by default
+        depending which package you downloaded, then to run a target you can use the "Run As" context menu on a build.xml file
+        to run it as a "Ant Build" which will run the default ant task or as a "Ant Build..." to specify which target(s) you wish to run.
+        </p>
+<p>The top level ant targets we have and their uses are :-</p>
+<ul>
+            
+<li>
+                
+<span class="codefrag">buildAll</span>
+                - Builds all Woden packages (API, DOM, and OM).
+            </li>
+            
+<li>
+                
+<span class="codefrag">buildAndTestAll</span>
+                - Builds all Woden packages (API, DOM, and OM) then runs all the tests as explained in the Testing section.
+            </li>
+            
+<li>
+                
+<span class="codefrag">distBuild</span>
+               - Builds all Woden packages (API, DOM, and OM) then creates the compressed archives for the DOM and OM distributions with dependencies.
+            </li>
+            
+<li>
+                
+<span class="codefrag">buildAPI</span>
+                - Builds the Woden API package.
+            </li>
+            
+<li>
+                
+<span class="codefrag">buildDOM</span>
+                - Builds the Woden DOM package.
+            </li>
+            
+<li>
+                
+<span class="codefrag">buildOM</span>
+                - Builds the Woden OM package.
+            </li>
+        
+</ul>
+<p>
+<br>These targets all use a common build directory to store their results in, its structure is :-</p>
+<ul>
+            
+<li>
+                
+<span class="codefrag">build/</span>
+                - Root of the build directory.
+            </li>
+            
+<li>
+                
+<span class="codefrag">build/classes/</span>
+                - Classes from building the java source code.
+            </li>
+            
+<li>
+                
+<span class="codefrag">build/dist/</span>
+                - Zip and Tar files of complete distributions in the
+                form apache-woden-[src/dom/om]-[version].[zip/.tar.gz].
+            </li>
+            
+<li>
+                
+<span class="codefrag">build/test/</span>
+                - Test results from Junit tests.
+            </li>
+            
+<li>
+                
+<span class="codefrag">build/jar/</span>
+                - Jar files for each package in for form
+                woden-[api/dom/om]-[version].jar .
+            </li>
+            
+<li>
+                
+<span class="codefrag">build/JavaDoc/</span>
+                - Java Doc pages for all the java classes.
+            </li>
+        
+</ul>
+<p>
+        
+<strong>Maven</strong> uses a set of conventions to simplify the build and deployment process and uses a concept of goals to figure out
+        what needs to be done. The layout of the project is defined in pom.xml files, each of which specifies one distribution.
+        In Woden we have three main distributors so have four pom.xml files, one in the root source directory
+        and one in each of the woden-api, woden-dom and woden-om sub directories. To use Maven you need to 
+        <a href="http://maven.apache.org/download.html">download</a> it, 
+        then run one of the maven goals with <span class="codefrag">mvn [goal]</span>.
+        If you run these from the Woden root directory the goal will be applied all three distributions.
+        </p>
+<p>The main goals you will use are :-</p>
+<ul>
+            
+<li>
+<span class="codefrag">compile</span> - Compiles all three distributions.</li>
+            
+<li>
+<span class="codefrag">test</span> - Compiles then tests all three distributions.</li>
+            
+<li>
+<span class="codefrag">package</span> - Compiles, tests then packages all three distributions.</li>
+        
+</ul>
+<p>
+<br>Woden's Maven build uses the following directory structure :-</p>
+<ul>
+            
+<li>
+<span class="codefrag">/</span> - Root source folder with the pom.xml linking all three distributions.</li>
+            
+<li>
+<span class="codefrag">/woden-api</span> - Woden API distribution, runs Maven goals on just the API java source.</li>
+            
+<li>
+<span class="codefrag">/woden-dom</span> - Woden DOM distribution, runs Maven goals on the DOM and Common java source.</li>
+            
+<li>
+<span class="codefrag">/woden-om</span> - Woden OM distribution, runs Maven goals on the OM and Common java source.</li>
+        
+</ul>
 </div>
     
-<a name="N100F4"></a><a name="Build"></a>
-<h2 class="boxed">Build</h2>
+<a name="N101C4"></a><a name="Testing"></a>
+<h2 class="boxed">Testing</h2>
 <div class="section">
 <p>
-    		TBD: Insert details of the Woden build process
-    	</p>
+        There are 2 test suites for Woden. The <strong>JUnit test suite</strong> provided with Woden tests the Woden API
+        and functionality of the Woden framework (configuration, factory, reader, error handling, etc). 
+        The <strong>W3C WSDL 2.0 Test Suite</strong> tests Woden's compliance with the WSDL 2.0 Recommendation (i.e. its
+        WSDL 2.0 spec compliance).
+        </p>
+<p>
+        Both of these test suites <em>should</em> be run to test Woden thoroughly. For example, it's not enough 
+        just to run the Woden JUnit tests. 
+        Both test suites <em>must</em> be run <em>before</em> committing code to the repository.
+        Code contributions submitted by non-committers as JIRA patches should also be tested against both test suites.
+        </p>
+<p>
+        The Woden JUnit test suite should test the entire Woden API. It should invoke every API method at least once.
+        So for any additions or changes to the API, the Woden JUnit test suite must be updated accordingly.
+        For any non-WSDL functionality added or changed in the Woden implementation(s), appropriate test cases should
+        also be included in the JUnit test suite where appropriate. 
+        </p>
+<p>
+        (TODO - maybe split the JUnit test
+        suite so that an API-only suite exists for use by projects that want to create their own implementation
+        of the Woden API).
+        </p>
+<p>
+        The Woden JUnit test cases <em>must be written using the Woden API</em> (i.e. the correct Woden programming
+        model), unless it's absolutely necessary to exercise the implementation class methods directly for a given
+        test case. This will ensure that the Woden development team can change the implementation at any point 
+        without major impact on the test suite. On several occassions in the past, we have had
+        to do significant, time-consuming rework on the test suite to fix compile breaks introduced when the 
+        implementation changed, because Woden developers had used the implementation classes directly when writing
+        test cases.
+        Our initial reasons for this were "we know the code, so it's okay", but as we've learnt, getting Woden 
+        client code to work is not the same as keeping it working. We expect Woden users to use the API only, so 
+        our test suite should set the right example.
+        </p>
+<p>
+        The W3C WSDL 2.0 Test Suite is complete for the 'good WSDL' test cases. It should now have WSDL test cases
+        that provide full coverage of what <em>is</em> allowed by WSDL 2.0 specification.
+        The test suite does not yet fully cover the 'bad WSDL' test cases. That is, it does not yet have WSDL test
+        cases for every <em>assertion</em> specified by the WSDL 2.0 specification.
+        All of Woden's WSDL 2.0 functionality (i.e. handling good WSDL and detecting bad WSDL) must be tested against
+        the W3C WSDL 2.0 Test Suite.
+        If a new WSDL 2.0 test case is needed to test some WSLD 2.0 functionality in Woden, Woden developers should
+        create the required test case and then contribute it as a patch to the 
+        <a href="http://dev.w3.org/cvsweb/2002/ws/desc/">W3C WSDL 2.0 CVS repository</a>.  
+        The patch can be submitted via the <a href="http://www.w3.org/Bugs/W3C">W3C Bugzilla system</a>
+        (select the 'WSDL' category when creating a new bug report).
+        </p>
+<p>
+        
+<strong>JUnit Tests</strong> are located in the test/ directory which is structured to mirror the src/ folder
+        for the parts of code tests are written for. There are two ways these can be run either inside Eclipse or directly from Ant.
+        </p>
+<p>Inside Eclipse the JUnit test(s) can be run by selecting "JUnit Test" in the "Run As" context menu for one test, whole packages,
+        or the entire test folder. Then the tests results with error messages with traces will be displayed in the JUnit panel. You can also
+        debug JUnit tests from inside Eclipse by selecting the "JUnit Test" from the "Debug As" context menu.
+        </p>
+<p>Using Ant to run the JUnit tests can be done from the command line or inside Eclipse as described in the
+        <a href="#Building">building</a> section above. There are three different targets which you can run
+        each having a different subset of our JUnit tests. They each produce tests results in the build/test/(24 hour)_(minute)_(second)/ directory as follows.
+        </p>
+<ul>
+           
+<li>
+<span class="codefrag">runAllJUnitTests</span> - This runs all JUnit tests with the default xml parser.</li>
+           
+<li>
+<span class="codefrag">runOMTests</span> - This runs all the applicable JUnit tests with the OM parser.</li>
+           
+<li>
+<span class="codefrag">runDOMTests</span> - This runs all the applicable JUnit tests with the DOM parser.</li>
+        
+</ul>
+<p>
+        
+<strong>W3C Test Suite</strong> is a collection of WSDL2.0 files written by the W3C WSDL2.0 Working Group and an xml format which 
+        to dump out the component model into once we have loaded the WSDL2.0 file to test we have correctly interpreted them.
+        As this is written by an external group it has two parts to it, the first loading the WSDL2.0 files with Woden and
+        getting the component model in an xml file out which is done by us, then testing all the xml files against correct
+        test results which is done by the W3C WSDL2.0 Working Group.
+        </p>
+<p>Before you do anything else you need to have run Ant to build Woden as in the <a href="#Building">building</a> section above.
+        This will download the needed W3C test suite and build the jar's to test against.</p>
+<p>To generate the component model in xml files you need to run Ant in the ant-test/ directory using its default target,
+        this will generate the xml files in the ant-test/results/ directory and ant-test/validation-results.xml file.
+        It will also copy the xml files over to the W3C Test Suite directory in downloads/w3c/results/Woden</p>
+<p>To create the test report from these you need to run Ant in downloads/w3c/results with the three targets
+        <span class="codefrag">canonicalize-Woden,evaluate-Woden,Interchange.html</span> which put the results for you to look at in the Interchange.html file.
+        </p>
 </div>
     
-<a name="N100FE"></a><a name="Release+Process"></a>
+<a name="N10235"></a><a name="Release+Process"></a>
 <h2 class="boxed">Release Process</h2>
 <div class="section">
 <p>
@@ -559,7 +818,7 @@
 </p>
 </div>
     
-<a name="N101BB"></a><a name="Connection+with+W3C+WSDL+Working+Group"></a>
+<a name="N102F2"></a><a name="Connection+with+W3C+WSDL+Working+Group"></a>
 <h2 class="boxed">Connection with W3C WSDL Working Group</h2>
 <div class="section">
 <p>

Modified: incubator/woden/Site/build/site/dev/devprocess.pdf
URL: http://svn.apache.org/viewvc/incubator/woden/Site/build/site/dev/devprocess.pdf?rev=586369&r1=586368&r2=586369&view=diff
==============================================================================
--- incubator/woden/Site/build/site/dev/devprocess.pdf (original)
+++ incubator/woden/Site/build/site/dev/devprocess.pdf Fri Oct 19 03:34:23 2007
@@ -5,10 +5,10 @@
 /Producer (FOP 0.20.5) >>
 endobj
 5 0 obj
-<< /Length 831 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 833 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gb!$F9lnc;&;KZQ'fr4IWfeo9p9@0p;[*G>4OXCO0Xd.33`b`?48aFNIn:,D*G-G1R;oP'HKAeIHG,`%cHXK8KL,gYNJ$k)ll`NT0L4oU6(l7\MP0;2+P_TFZNlnSr!H[Bm]0!eV23SUQ.F$gkV:>k`fBWN$@Dm5S"lY/2*mSg8S%Cr(O9S0r(tI:Pbfe?gM^+4i9jH4Tc!GGG.fe5(k'Y^%`7k7RG=1eZ-4^UK8IVK7cS_1&KO\ZK^q#B[_9eFGB:C`I@"#h9^9-&;UWbr06AU[?_pjH*gi((B]MJ-@?>2:bPV73Xb\mYUU<42#4utu%f6rTlDn+S38@)?gKTs+2\B*qHsK0@?!_R%os<#<JYsm3HNEb#*'+OIH2dr\9ZspuHR3@GR[r=T$b>0HGoB3QBPXQ7Yiku$_D;V6NeU97>M_kZe`(^\Fmdf3S"03!mPM<:%T;C_6X/F=H>?p+,)U`0s34G+aPtTLGEpgQ+YRRs`nO1KP>Ztb+CKRX'peStejV.Vb"fld[9hJ!47)iYFuS?3N;8\([Wa.BW`f+T^=k,Ud]L(>VUO>#Z02oRR-(iikB34>rs:Q!Mk(?sIKI$7#5Q."7<3S4IP3GgQ/^dqB?5).TVi9K&ih88Q$^'.@n5qpRHL=1jEgUa[+\YLk:S;q]mMom^l^st/nBD*4%X3oFhH$dYN)fQkBk[i2a&lb*-.q5>M;?(0Mi%ZEBZF)h=HgR>6t(Y;eEH8Qr;!b#[DfG&om\DUt_HjRsuan)iGiWY18AuTl;B<EI3LNgKr&toc+^ta@b$/&lk\k'";"UN+W(;Z:-4"-]pY]rtBk(U7_~>
+Gb!$F966RV&BF6e$6>[)La;VC@iX*kFP>usbiI.E5XBR,Cuk.XVVf*#0*sQN\ML?n4G1=V=n173riG:fGI7hZ-9_S&g4T5PocVn3#XJ&K+OXbY5X/X"Lj.eKlqV/e\,_k_L[*<(+k"$GV)@frH,to'Z'-BD!+/%ijrc&Z9[JK<'O/-*M4umeIOJbWW_-7hm8lpj;#dJX:m?Vs$<S)o:;1S!%RTibR9Z6=W@VdAK8E)!K%"rM@NA9VK^^T8ZG#dZGC-shI9Y3tbaPnV;prtVTBT2-Th;RR(mn_j1h8f<0sDVNnp\@B<^`;98M*`0!W="Ja$,6HKPIX^*.a=-p/]B.]1?]>^8dC.WQnXhr@B4/iQ4sd/Fp\"LUc:pn)*%>H'L;<TEO(Q]CQ9f7dbFoOf-;cg)=]Q`7Q.GSg'g"1t9cfGoqiBLY%I7WN33]3>nIl2foUi;T7G<QM8&F(tc>ldQurd.J95_+,k>HMqn^1U*c\Kb61!Y'o7kO`ndVu]N;Bf;dllr9Uo2Mp"BqrIICbY,!O.Ok[_09k=r\8g<-&\h)8a&I`EsTil5#I`?8QN)r'qD790@@e/^Ii\XAqV_,7iVHkDki\:5,qO]:?,3bQN27"(pB%]2nnH#eL2,PQ4+7h=BnA5S/sNuR#Lo(q4+\_tI_<f=Fc"e=f:lV]Y<^QGns291I\N7E:jHU$6(]krQ;j?BL,V54Xb@gYg/f%ro8XrDgP-4BYnk(Hq:4sIqC*(5?ApNbEk/G%-"eX1j&'H%9G82&MMS"]U`(uoq7Updt"lhW%ZXc]GrMCb_Ss!"VT>@Y&3=-bEf;*Kl]2tXibQ33l,~>
 endstream
 endobj
 6 0 obj
@@ -108,7 +108,7 @@
 22 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 102.0 405.266 146.0 393.266 ]
+/Rect [ 102.0 405.266 152.012 393.266 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 23 0 R
@@ -118,7 +118,7 @@
 24 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 102.0 387.066 136.676 375.066 ]
+/Rect [ 102.0 387.066 146.0 375.066 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 25 0 R
@@ -306,10 +306,10 @@
 >>
 endobj
 46 0 obj
-<< /Length 1867 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1893 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gatm<gN)%,&:N/3E;U?\'1)hH:S7"+:6ga->"h)I\do>U;.qA@!@]JCf,)(+98W;;POVc763OOUm+K@@(W#;b(k!K7/X$/&7_XE^c#Fa!C"_UU:)njJ9e^EJqK$`jN5jJ`L5GgS=H8>TQ6H:4k.?F_NpRt0Yd@f?rI+OsRAN&8\]AKh@`g[&>q7/^+\QjAX-$l1J[OPnQs-<NqJ3Z>`[4hB!S;l!AMf)6a*Pq\BA,RRn6Q-oTN`bK=oa%,On1D,1F;D*8JQ!h5bnYXIFjODB&f*PZes<s",*qV&'@Gk!W^Hto-e'46C*1Z4R'hA?"C;pLZpjX3DDiEb`3L??EAm<]H4.C&&W''=<3Xj]V$6`9\!^AB(3h%j1BjgME]@'#om]dk76*D_(W']7_R`[.'belnSYg'Zk=$E75SnY48q3bHSq@"kl^L\*NLEGSi^biU&dg`P/JmVOV[<\L'tFd,BH*]c"%MU3eqI+kmfBQ15&,K_1c9/_/S`D06e-&-Au`P8dfpU/9Y!s?@9]V/IMrX(P9sl"n^l\<'CXHb_+d&@/<c?I<%MM`aj8@M[s<oLPtcWA9L@.M9b\*hXnRP"Fo3S$,F@PmHs^+Qs>3EDf4+ugRIHh,ad@\iU<F?Skm*Nj25DRq&6'Bbh&#d@hb5A.rhg9RHR0KC4_d`J1XSN8/M$_rJ\#E`bLnOKf.1YaHo#B\kSn.NPI\S\n*(J;XDA9HV.Z`'5O2+Prjc+?hD4@lu'u7O/4]eB[L,G)9V=/c6PXtj5uZt[Cndq]3m=k#/S:?)n??U%cc#R*llF'o!Gr60Ngm*>Rf&*\g`m>So1O5_K8X0WU+0=OpZ)bTP=iCjS>BUC?;pHX8KC8hpXCoBu<0l^=2@:_XqgS^MY=$NNd,>3XJm*<Y#5.B->ZFC'$Mng^I:k-j:SL/uC/pFI[dF;XP%h)^*oee`6An4cpm&`Ud5=V)r6f-+1FPSh'+Z?*NBknn`Wn;n-2M2"@B
 k8.FA[9ODU\]GTcKqoCY:Mg73#("X67?(LsHR8r6h\STN9m<ED...@lkbnN>@Z4O1WJ]AajYHq1B*C.T$(/I_2VK&-oeEK*0`WJLR-Gj)A)l#nu)f0cDrD(Pb75oWU\@XW"PD%ma#aQH3\3W93Eb2tX"bS:T/&&"rq,4YCY<]=i!H<RHLimf:SrFa21]V*m=Y7Ec0Y-KLN&a\4GSkt'V]-5"S#HZp]TWBjVs#MS?E4)PI72K/_iaajEdou81A#3JF!1,ZO(8ASqlL\.@7sd6`b"2X@a8$h_[Vr/\kM84&L_V%I(4Q%EnE11h+E\i/NN0K3],kongi`$f\W_i"Lm]=:PVOBm1H(<#W@hUdUFF2=F$.W^6#jt*^.[;_*$IPq8lI/kk0_p[4EX!.#V&kWp<Wc@2lB8Z@BtSi-doiJ?/.]"P0&?-[RIOp8"<c=phoSVpA9T/(*U-H%q))?./J1ebA9`jrk+a1JQPF=I/)Y=l>*CDmM)Ro%DiC*MT*2b%HRn[>c+&7)(Sgms_2I':?7?ELO#!3jp,K%V+(,,33`K9Aa]NCH!WGJV[U'_oq`n`ePCIl+?2JRVs@qD'45/T6&MB(>o03FbHT7Lhk]%Kj,F+gXTga@=mg1hPStYi6eP/i)MXdfN;:p0Pk$D\8%tA]!\em<S#g/rBkupEh1@NT^'?!bc9-l2QH^s?o-KhD:Q0Cl2)!.dD<X~>
+Gau`T>Bed\&:WeDpuEmW;iL13mLs;t0&6`C_;1]SdKa1g:hqW62A#T6YC+/)JK2PESio)*4L.GODs!P:aL=J(53Vt1l,o1f^@1ldW[WtgYeQK055,N,:d$,Bb.RIMml'A=*dgC8fUH9rdjcr/rTK.-WeTNcNp:;D'!.@:f>$,iI7Ge(\IMZ-$cD32(Le$:,f_ne.96RB$PEQlK(A*.FMif,'&a8%!UZ^3K_!1;jI7+M]+TML!%R2uWEKN,J)`(-1uXl3p9@MLg=0(hJpJd3j/Oh]27r[TO7"0M2;3*pT`kF`j4CgI5DM3%MBn>De6Q'9CcS<W1aXUW_(n)MXJArU;tVD<$]0YhNaN/Al+B7ap_`PAOJ[!Vialn5M*eXlRfS<"Pg")P*rHY?WRVBZMB[I1)!lE-'iedBBso!$W&sc6H?VTFhY0+q@69c?&'55akKs9)rLCec#Ed=$Y78Tm`(/t*5q$;A%+-'#+\"QO6'*7'R:3T:bUaTk>t,0a/>^HtRkEkj:)CkZAQXi9YbYhR,'f<5q5/[(Gq#"S64NNO\f+7L"J2fO;_F$+=&OFWcM;E@S;sHoDCEn8^*cYT0;IHdal`X4%%j,Gj'Zs>9M_8To=N->DA8$VA,%+pb2N+G(]GD6n(rT%BDG`Bm1b99fpl=B3R%\!5u*NI%,a[AJol-LhG5kTD6+M[/$+#R6a@gXjDD3XTI#u3Ug'?8N/CMl[`8]?ibV?[Z?#+^p5p&TAW&"p*_U9HTL)oD(!Mp>c85Me#0iCKKA@TE+rD>"KAcIk/[JncL[k$>M.8/<H.kANR$H&Yk6#Bm2[(!^TIo/$8>F=k>Y_^eWSeg/<,I2`HG6;F9)5)rX8HmO^8EC4;X&Z+oNnL9$.IL!piRgTgT#-p67:_A\g;?Hl"R/33jf&PQ#H8;6fNo#i3[P[?04u(BmUYsoImT(iGu9cO'<S$66e$@G!Q`L*=H0`5E4TZL^Rod[j6QO"pc2A1q[E
 1D].-=W6VojU]M[2,T+/p)KV-Q@$ZDhebj6:3uW!/MmD\(b9UcJ:Zal\#^Gs^]E'E>]=sasc>G[.$PmG^OO!91pe9li+?d2bdf)h,<A<...@NV54-.>CVM)Y#]m/A!8dG`^MdCT%:<o1(O8=XtMT4HP\#7WF288m]\4qE]=Gf!kf2eQ^:>Hb!gE=`"[>O/]-1^P,I-\cH4T4Z6Pjm7<1;#084.^K!WYT!]F%7nRR/.Rl9LRhP5%4ILde[pj""$'&aP292SU"PU.FWg[>pkR,uAA#3L=5.c9c+^ed/DJcml(?ZdqnEEPK1ML@l,f2[7N1"a=]MHBD+Nt4FKT?ZJr*GPWdoX6`Vl+01;Ndo2"lQl)qr2_PKm"SD*A3H)k2j]^X8_MX)EO_J$`u&X$GLJ>_hdVU[+FIpudos,/%s4r!13O6c>ZQ%Ca'%6(<81D8M`F/.=*dBcI7BO')Ltnoafon?Z*Id3fcQOk2>+?mg<ZdY4Dd:_*C_(u].pc'CUE@7Cb8W[F!0K_B3Y?=K":>WRA!<2~>
 endstream
 endobj
 47 0 obj
@@ -321,10 +321,10 @@
 >>
 endobj
 48 0 obj
-<< /Length 2067 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 2596 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gb!ku8TWWE'Y`m7nBcg:7M,<jV...@D>K5E%iTf$Q@AFO3\a./HV3c)fo5Cf)d,O=4dp@J4,7lBGi;^3qn9ooG**3&Id**V'd,2\H"I_XK1AAfXQ5-XcaNAd<f":Ht:=\T%IY@,IT!R,5j&+!i.#$,G9+.AAD;Wa/&if$t[Wa:J&KIBagT[c201c3Njo%`o&'@GmKR#Q%jJ:!1rJO6%j9M;-hOKJsL#($UIT"fpp<!^W=5R1`k[NP3B>[^MY#CA:^EcQ-b!438<"Kd2OOmddEL<Ku,8%EiQWt0X#8E^Go83+rlLIYT,2''4Af2oUgbE245#+TtihWColq+8h',%b,n"qgcL*"ErY>rtB/_YBIp7)HZgG6+I*_fNA`=4-0G:9sQdHY_&dpQI6)'p]q67?P3SaXnIN6"Fi7q^sDmHhkfF323%`l:TZN?%"f(*Q?FZhZJrVTJGiZI%5T_3)I*[PP!Pk+;'_M2ZdCW:3Tf$'!);NX;pb`U4L]a7Z*DG8Y"'k7Xo_ClLo\f-o+hn4\1?/qq,#peK%U#^4GOH.;PB5m(DT0?srfdm41'H8C4aQ%9&i
 0,a4H[0Rde6*oWqKjCSgP=Ete=!h4o)(SlSg"FOFX%5FnE?q)XNps?=$BM"+.-dfI3bP-FL$l,(X^;BI>5^E((2+_6%4jNK8(n!rPG(@l,ZE4/Jo<^M...@RF>K,Hq&C2+@A%Amc?4NmH_P=-h%g>i9Y/N_TQ/O;>FOmd.D-9ahhW!,hVW';;d/-le66Hq#4`2He9mc%?9Qe=Wj0mh]1&qh>t=@k8hnRmF'TnhQFD/Lk6e;"QtDo)hTL"N^7U"=sO3AA$3_o!OFR.,9%b,4LPF;h@[kA,h;-o7rt!?DA<g=C>;::UIsA/Y\jR^*Sl0=7i0@Bd'dg5&K68(iLQ9<j?[oSQ_OtO_'Nd`G3E]sF"1pdgdI.tQsHFhk`p^`"MW_jfSjQ,aV1(78!eT\#:e=1I7Mo3SP=g@kGa4Gi<AT@5Z;X.4@qUT?.$#:n?U0.l^),$HUUQDEW4cp(gHo*9'\@g]iGAt4ABd#cu.c6EZ3LOJ0bFHLgp+mlM@\dCkHons2ndu!KGfe/9YK,'m.iK(-=6aeKBb\R.E`T^<o?b.WOB)*=@&,V3b"e78g^m.?LiC9l5V:"Kbs($dq5c:cgmH257p4%dr3V)$)sY[Oo7EdQN9pMXW4[R/d<V40V!/aJiE6!H5@M),a&;=03LlA8_J%b69IRNQF+Lf-haU'LDHs3;fa>IcGtT;gT"M$SP&U+C%G*/a6jJ:L;L:JDiXD+6WoZd2(C^4+5IUhVeZLrG,NBP;DBSTbI2Ma`I&4XX>MmEig2S7t)8rC<U[]5%"h.15\m@Ks%dcdT?(cqL7uN&!;3'eMe=QhhL3n.S*]Xo66_l346@kpn20J]dRi1oSeD$9nBD9K&(d*jm\kW0cD0E9cPG]\1=;Q$\7o1h8KsF`GX`An7dYo-A0BsI>NX+[qD
 dgicMTr:*6s8Es"pl>h]acnkZ'Yk+.EQK,8CE;r`55XLJ-KG;IjP.C8u:OFC8TQee=b0>Ns^NtsM?OQdiYj=@&~>
+Gb!#^gMYb8&:N/3&:R4OMrn$8qW=SJOT7\r<'Z...@I>A7eZ6=CM\)8ks<CZCL&,(c_'9PJ5jduGc5S\WA=Z&oE#%L7kb=\%V3m_tBqDKH9[Tdn3kOQu%GGsZ.=+DV]F<&A;_?!,>g2f1*W;9J;rGgTfCAuH2mG`RV0VLp.&K*gCYr17qUXi@)RR,PD\p.H@NB?*mg@9tMkEK_PhZ7ODuMH3;
 ?[@QpUEY&EoC,(D]MOg\"0?X?G.IMbB-1s`-;W<\ILu?re90BL^H&T0mdpAc?XgKlG((R6cH:t4"e0lJ=P6sXk)D8b`SCb^`ajVR5#32U4K*fJ8kRODa%8YV,%-EpqLJ*C1&eONsW@eB`$DA)3;[#Yq,8q,(:4e$LQR:r-jb)0cDOT_,0J:>9`I%cMWS#RDrq9'+qc:29H*J;V-?-@lA.AtA:t(OY9I][sDV,UqZreb7*G0)uqFS7q;M\4I,+nci5I.LV>g7StBA-d,`i\:r,Q)Ia@4+@MGLpuqk_nAQ/GH*m>]Da'O$T`2Q9%cl?f/T.rpgXLjQGDa?YVk'mIT^LEtSr&P2"g!cuA?CGZlr0onjLG3%0g#</(?&:ilgk"(,&ZXFe`Hq<>\D$:^4%huN8;IG6-3>0LdGVT+cERR5TV>\'&4XG[Me/75t]^ZU,)0?SM+``4,7JLiRTf`03SD3Lbl^`@Bi)ZlYR;F'Z)jW5EmhE9Zb-QHlRoM1o'Q.>.,R7'B3oD>P2-aFlZK!_?Yb@9<bN@'$*\`Q"4X!JH<qsn`ic%sl*bK"onbrgm`V[`:31C;4sI>+=4k=cbL;Enh;$%c4tkh0QeSq.r!&K:g"m$!r4KmqC_&bDqm2XGHpV*Jcj[0.Tt6-<-S.8!Mi1R/1!Z2^IGU?!P&p0om&QbBKg89Y)ZLZ9&YHE4P$)]3Cl9G\eRAXi+5cF/8")RHWeHnAEX6Y4'b?a\]1icQ9OPG.>rkE8[o6-8=?:85="3bG3u9DbY==S]ZO!*G_t,FVb+IO2uu6r+A<C83;F$Xt$/i*=EF!gU'ol;TM'BfVGG"Ta7j3)nra*N^LkrH^\/$qE^V&/0e8I80:\ehJp_VLs`W=TB1*9p:'UW0q7H;rmK!>,54D]pmnAZ+Q0>h3g4Zq>SO$b[GD(hbD#WKkH];NX's^_I(o8YCI\u!WKZ`)^-%:OIrN]2nVj"3GkSXT1L<9KL-pp;*J`)kc/
 Z2j/8#),'=NV7b]1*5=DZ6T4<l1#"Z,a!s.shlS9/g%Q&g80pOM,Y$5\@Y1la85COC</*I@P$*HfaE[\kDX$rGPd1Jk6k]QICa2Z+**e4_iMA)G]'2g"@Ytr1m=XY&RS4DNSP/t0Z-.38@93d/EA6#1VkELst[M"E1rD*eA)ga!.Vcd49-3*rqX7!6-7_)$d()cgo8ZsItT#h,h.\Jk?*NjJgNi!$NnWuC_lpZ6S%4n1%U-sQiWI<R!.E4sEau#Lnqqo1G8nG'l6^>9R.4;l_QI]t3i(gkO?f4L.*r45E2WSgo&gq/S/!'8.-[(s:f?SC$U]E/S(OFQ/<6O9a`%TYfCJ9RQQ1d4%/uneI9/q@=6?e6Z]_X=%K[DNG@t\k1V,Ci3];FsHQ+(FY^g%'O7oHf)dQ0ORS"HIrY4b!7lAPnW-^KSe$WS59J*Gi7^t2r%mE7c''psR0]aZ6&'>Ju4B_1dIO?I8BI4,hPqL@amno6]4XLG<tmk$>[`N>3)k]i]`#=doK,j]]MpL=/moBi^2^.skIRJM)Vj]Ig5QQJMCX.uWeU4;X,^&CB8b!XeBD=;i`<ORq1(N<TX2?C6&c27`Mb<9P<`7AO]h*2:1[,_~>
 endstream
 endobj
 49 0 obj
@@ -339,137 +339,286 @@
 50 0 obj
 [
 51 0 R
+52 0 R
 ]
 endobj
 51 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 506.4 461.472 494.4 ]
+/Rect [ 146.652 660.8 164.652 648.8 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://people.apache.org/~jkaputin/woden/milestones/1.0M7a-incubating/)
+/A << /URI (http://ant.apache.org/)
 /S /URI >>
 /H /I
 >>
 endobj
 52 0 obj
-<< /Length 2348 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 187.98 660.8 221.304 648.8 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://maven.apache.org/)
+/S /URI >>
+/H /I
+>>
+endobj
+53 0 obj
+<< /Length 2531 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-GatU58T3?C'YaHGkV`aod%Y^V1hiBm))Q')E@6O;(sin4X-H(SMq.IO&%1t*(2Xk?+GNJPXo.$F^K\pb(UG2>XKD<uLRG=j?#q!@Ip.$orPC<PjCoL^QF">=mhW8*NNHWA5?Y("H:+P#5HJ;LX%@.53P)%='(,M]Bg^?jmD<NRSS_M97-Rlk&Fjn`$7]'orDD"U&/tcT<9^Gc,UA6nSoKu2Do=Ca8-\m+J<[]OI\T10BiFN2MMdCFP.oA&J/#hSB'7lLD=Q61$'pFLh?hO.Hs0d)7GWmn)a&AK-Ye'IprN+h)Ge"`n%IT"0Qgpu12^/[\_DnO/!XW91'hQbYK@^W-t,4,$Ai8HeJX>qahbtHMJ3Qd),%p5Q'E4Hqf3QE_7uH`!SkR@j8N]Elh!J%_Pb&)?).uB@j/cmXV*=39*2>.&<)ij@u:PA@m^jOf#$I]b2^'i]O#IeEaFd_n=!EY2;_n'%lk?e<BdTi'dkQ;q8k]s*0]*_"\WY**l3Ep\cQYK)("db6%l)A3p?ASb>(4pQSXM6J+`+f7f&ZK/tt0NQ_]Z3Qh+p<*D9f6:4h;?+\bEtPTR4E9l"6KJYOa(I8sr*A#e#F,3=B@,8nj+RSkO[Esm6&d86o/?XLO^],n5:dbcj)g02r?k^=?=W?N2P1sO51jKiP?!UPQ*49W)IH%d#s<C'VUX-5IJf@:-,+D4\PAW_s4iWm@60aGfkP8^-p]8.jLXm#?;>_+A`76J"uE[7hj^*fZ7P[#s[l!ZgKN[>1XZN]\-6Lre_l.@6.&cu,)8X[Pf_5&#$(CR`iMIQI+rkH[G+02$"m319::]G\<XPY+=n0s'6JuhP.!jHZ]KC9?XUj+t<Zt50%Ik_A$'4H8FV/0k37,60@<Q.g16!OODWrX8;j4c<uJYnP>]I(PG"!T.(<>mY+cHGi]ZosKVo4aoN(RR6oGV9;VfnSQ,(qj\p!gOukgQ-p%oR19D@)2VY1t2X1>eb)BWJX:
 `N#E1t$,A8aKiBBj(b3&^A^T?h#?mgMnZIi1&3+>ree#JC9X[au&@hJARQa9k"781Z-@q+S<i1GtD'-2XBu.lG)jX=R*0FLV8*h/8+-%21E5XABar_J%1us0!S_5inWF?uaP1N,nG9CIuBhC/os&nH@PNcH<1*"Jt)f1--J\Q3[?jB@22c314Ra2AQQ-*eTJ/Grs)<D'=%HHp"Ag(]8:S_r,\WsE_!l1DVQX!bIS:2^91h1KF$/$c]CsrFf6Upkk)DteD6FTi'Ob+kY5"^@I;Q^uY,@M`c^ZkkY/rK$&)Bd-a8t`(H8[=%-@</RU6,KE;.5gQ3?."UOaS&'&)=Uin[*Ki$G/cK6G&Bi1HMf+QqOLa;O_;:0V*27#In,s0[?3U5.&$$qX,o:V_1e>t@A/$!7Kf4bcW-j2_17)f&84/DX@coXG:h!&,\s%-QcKW,VcCVr6.q80W7n&,8L;D^CH;B&3VtB*0ajJ_b;G<\.S,,r:QNcfK,Sn;GHB3'e2!0.l2)KtTT0M@\^-nO+2<2.W6j*.3,P-8nD3OQ&`bnqCRtZD+K:!^;N_C:J;%KPYFM8e+9hVu*qR+r?=D?(Ch.!bfK%q*$d9%*QhU6H^>*(T*.pB2e'4>@DdhG*ds\Do)p3q&1W)[OJ)uK'KM>+NF*'EKd,(='9?NloV?8l14qh8-2!*P&">>5bCV;)/gm(#c^AeIS<;'V?^`P=4DP>2#SS9+']&WE0\96bu^,2+>a1d*E\(1G_)3!(I-35"!\_*^8.R_^t;@_@b9WlA^YA9@%a;'fB9O:d`O5%H??C-;eZ7TTqVr'J1O9coE%mb7A3A"-p:lBE+MVMk&NYo;!]^@3d%#POJ6ID[sWhU#E&/_e`m-7=?F;p!F%D.(k8DA^I9gRT\P+nKW)e%0sqnQB3JI&c=O=>h,)^W'R&7%p9+2RiP+D//@O!RAc7KGL`A2=([&\$XLiB"5d(9Q?<)nMZ#m@mEDlAF#/8`5
 u]dZZNG5m^f'V*VKRbQ5HCIZTX:"u45shA,]e2TI_<h?0:E72@IJR:.9;j:Um9=F'"RRPck<]]A\>A7(3gN'+R&i(A.t&Aer'@EN]1-[#t5RYE&On/PJnWWD>ucq%kcUhD\,)4H=3Quu,eO&;4>\_'<_Jrb@LE*_>u3!SjO3=taVgL9]6oQ#_h:1li$UG:Nse)IV3OKmqoEKj,J?)HQ)Q>:]PK26?->rl#7l+gdJCp(D7R@8'aF6cMEk\^D*M%9"Uf"9Xm4N"RCQp3,0nPnRPg_j4!KkJeZdi)'7Z*P7a`aWNC\p_CZ>d:\M:TIcW3nCGUfrD!^CRfS2L6'gc%38G1<ORfTILapcVqI)b8@\+Q9e*=%~>
+GauHN99\*i%_h\@cttjEBsulZ^#cL^Q.2[o9m^XcdrV0.g1DOc?9RZI^L,?N,sW6rj35diOtpU""?lf-!4q'jDZ6oPq9P%1D;jA*2i5dq.h"f?h[fAB44j1.BN;oQhu)g&D?%1afp6,N?[o>,M'-3?m9>;+GS0Q&G^,BU2N*4/3a.T8r;Auj3A/CS2WnqWXTaK(Mgi:"Kcn#XXP[nOFY%UQZWG`Hf'4L$Ckn>thsM"Bn&skd.o?,=rGAkSjg_<oZ...@NeX>cs]*Q\f2B3f?)Wo!aML76/jTe.atamI+GS8FgGVFQ`uiL/D<Nk?>ohp(`gT>\^"lM(fGV)e*h\]Z9O2mN8:[sVG\E1oDT.4eGPoq7s=YHgA;Opc#kQ.N2.'9'/>]nF*3`/G*-&q\Me<YlOkn%aqS.E0J=IRjF53N%_P>>8$;\\aKei`Pu<Mr;,'^+/3%uVYTF&>=t\"e"KVQ2Ge;SU<T#(`\NfA@\DqqH"C(4ejUc6lP4RhZLO!*##!gEh#N:?u(&I3">;lc1ag'auJPSH)16Tr5m-#Rpl]KD5`I8+bB:^=q8A>-%kq>De?q1^d-"6j^Y<n-Z?KmFC'1@(0"h5ZO/@c+,5=T27"29_<'L5A:@V3:Q?Z<c92@\\,lm("7;7*sDT>aB<Hb-%LI)e7Tp3%'m*PCpc@7nl[Kn#[ES:EVkNs:O>LBngp3Ia?t&9qW]<J#PS'bn:orJ__Y3QCe5k(_jj7.8WGir^qTgW;GfMkct
 aX@u?\95?0fe5eK;`,/I2M%4@@DX7G!$\d@aA;MBASNd%bPg/4@$_cnZK*:%M?`A\%E9Brrcm58;)i_B<!A...@1NR>]:Ot*,Kn;q!'5s2?QR=9UK?C+PT%Y4;*cjWi?K5g!%_E&"Q\,%N;o+!"PWB#oX,&(E5G;GEDEUS^b%LC3am#j\NAYdjp).ha=0LY9\%FV)7;pDWm.Z[k-"@bn_m6FR"gQqYp@c1Gh=WPG)BkCRuaB7<H;ne*ZGlqp2#g)B0(`N%M''D_Yi%<FeGE!%0(j6uf-Ir7ST>p`W5$8Fi!MN+:iP@(qK)RH8G?:'U-ZMB-tVkSR32d7NusKLC-bUG3UFIGGN[)L=k#-3N8Rd75;Dk,-PnIegg8RG$Y'l.T<MQ]R
 ]Q(CXUI"Y*tQkS$+V]fFad=A7W)?5tnV@l04%&1LhNh?p!"!KoJ%OLEA%NP^d#VgMdN]PRe3j&2Zq_9&lZ.&+Wj;5LQ6#%L=mPifWMNU#!#4fO6.^[<]n...@YoTY9380>*5)iPZ:9i7K&ig+7Cl59PHRi3OQ3@NWC)\t.]WrGs9o]?UD)q0Mr!#0s`!D*,7[s.]$\?Y[0k)[L;nIT2g!fO%Et:EEJn/ld4sNZ5RKl22I%74kNlaO$LHIfTq'&.\~>
 endstream
 endobj
-53 0 obj
+54 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 52 0 R
-/Annots 54 0 R
+/Contents 53 0 R
+/Annots 55 0 R
 >>
 endobj
-54 0 obj
+55 0 obj
 [
-55 0 R
 56 0 R
-57 0 R
-58 0 R
-59 0 R
-60 0 R
 ]
 endobj
-55 0 obj
+56 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 90.0 316.8 252.972 304.8 ]
+/Rect [ 90.0 664.8 137.328 652.8 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://mail-archives.apache.org/mod_mbox/ws-woden-dev/200704.mbox/%3c4c2ae8f80704160812h30e87b93je6e5d52607780265@mail.gmail.com%3e)
+/A << /URI (http://maven.apache.org/download.html)
 /S /URI >>
 /H /I
 >>
 endobj
-56 0 obj
+57 0 obj
+<< /Length 3101 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gb!#^>Ar9;'n5n\+S(Zu88+.F7='&6RimUuP&@oAMRk4Uj@C2VjCihDUAk!1OqRR2C.=N<Qbot8?KU#rhjNH8gT+\"YPu-(S2L7o]NWV9R1i"$r=-X;s0n]:FFC'OcMc;NY27u@?%3,#c_i/"X/fC4C.:FZe#s0)2jsoqD=7>n<NTUiDuG^=X-NN9?6hShW_AF3mRnuMWps7-FfEh:Om.+/[unXS<Gu9Ub.!e_APn@hBm;)[Lghsb2o%s2U8_PbGFc0Qs5i&82UNe;]>7@.<'JGuDe051D?L581t1UpQ\h`*5VQ379^6G4;gDHE=qtg\,HDaH$)6RBf3asZ%8(D)AlNk9F8_l.jG->D+Oj#MW0`*+4'@0(06V=);!=Ih*!mK&*)](]W;7g%f+2?j!aXE.Z@^3gndu^L;NsTZ$eM]HG-h)$Mr!(6'M51CBj>W($09t-nc?)td0a/`bYX.$Ral\FEm)C$2.o>g_9LkgN;TrW#WbfsJeS;(<F@i7$#6]iD!ip9f"(VQ$!^J@H](ZW7Ni;pW_kWWA>>V&P,OO%gQcNeWDRHYVO2.^3F)>h4h='+hrhbi`OGTVO&o<9`f"%Jo/A9XqRS7nRDc"egjph+f35)BrQ@k*qGV7?=dO:9.n%RcQ>Hb:$eO1L))VupE*MTtKc..1Z4*l*-qgh"kB_i9XX2L(HMo!*g<!4U3VB##9ANeJn:#WYIN3Q<Ah-98koEgdqu'ZQ)pCdrCoE:-V3Y;aUoWM5%Mi#V"$G,^<Z:ZKl`D?)'2.'=k[+1'(u6rcWXA;ueOF=N6QD!DV7QSHYd)uWmT],*`QN)Vq?noagK_q9j4`N?$u'"_(EOQ5M]?@/bJK&8eDdG]]#!ID<9\-Wp;JhqC=O"i935Z(#*J@\.9F+EPTn@SM`E@Zd$opBW0ITY0;Z7Hn0WJpR<PjTlb#O8hbQ!59eY'a'pYm7r!u49.k6oj5ZGq_PdnO<1Ot=@k@o0F0S5N<"-;/
 *UXD/\^#.^30+J\(JM+%\9Wk'i!T6+@3`lGoSG&V/0P!=8'1;)OIl.@Me'#tbKc\T,oW2ap:kT/&WYU*j52D)WfiW&RTUp$DlIC%Vpukrd!VM!tEe;99.hfH,`1@o#(;l]eRCS50G';0?IRlN$0%\BV\Ub)+Y7"_odg:quBlK[..>_G!,,@OC;Sf]&(kb%)A\sHf0P**f9WUAF4KB,.P6F@kO"QW>=GkOeeTf69O5W(bWcINPhV=Y,_[S,___N&@Ieik"$]>>9Q:Z1aaXMdS66HV$C9*H63Y8W^>@"43%m:WIp*3jfhhH"qacd"O8$(ZLF.]M%Q17?j0$1JGi48FsWnftWH":"3OD,pS:s,AD;\gt6ja!`$,aK)VJN%)-=<0:P"_$:Gli3n7'=QUK+l9MoT4`@?@Ql)(odRI;i,L%K>j\M-kD&I5Jn7^m?G<2f/n9M`#IOdVCZmhl9V;N^jLU96EN3CeU?t;VP1Y*XIC$p'[FJi:pY$X,@sikIHXQsm/V!Z(_!]\2NH52[(K,q3I83/fG"SW9r?-`WD=afFT\%Q$]3V4h>nlEQJrcoaS"spo)Z[u[=^%`UW_@s58nTR_.NO+"ps=d6Xle`AXE"7F:t]CJV75mN<jZ)C8QK=<O;PX%iS/0_]u)uRZ"Ki86sO3'Ht<BjUnVF:&$G1%AqNf?(c6_:1:9PgB`HOE_H!RV(aFpl\.:?%L1C423XBb2FMa0NAJ3_!nL9#$c!P&m*2<<-B?BtdO?tTQ#lb]j+Hr9%f!H8kr\+hgo7],(P$Ac^Ab+?i,jkXfml!4:iL;rc[DYAbRQ7[P<B6a8bp4@<kHZ02[?O[TiJei]+n4m*fjKkS0c$Kg<`Q2WNCmK6KKmH7'a#RYeM\*<MsAs5s'&@A$uGDD%6e55-SjIr9I24PL?LLT2!n>Z:mQ?$WMe2+M9+i<H9TP5B>3q"f?>6"6fFo02HPKU0\2[W.jjKimWW.[@#=e\Ff6j?@Y)
 ?.l\sDOc>tlJAu`)b`[C^1bb"Plf[l9d6=]-1J2IFX8t[Ji+EMIH^f*FV7*DDkgpmQu%TH9%qaP.2kGJu8jjW/:n\FlLRIHCeEN^JGV+ko-8s[8n'tqiN6Bl9-8dpIkHY]@!;.OX]/08T3'M*!a*c22.+;rEEm*G_E"?VAm"YI1oA2KWdgRh,F?@^;Z_[PHVK<b2phS/DCh;'SG!*bNlGH_$p8!pAkC>&PYY1?$fp\I#O'5V$`h%m1`FR,@BXWL&=,kccEpVUFUneB>HUphl6Z%A.>DmHINo2AcDV^^NdX5BX)&?ZXK"Ff!Hc533H"2bJ0b*=*9NAl=I5aFZLeb.oLbXI^er&f$h:kqWG0;"jV)A_r/\t:\k;dO:LR7bDGG&^)<A'$BrT5QZ74+*XU67?uPk5,Mpf5:udL&YM7H[j=]QLWGuTk^l]E8ueOh)Or[NG(XkoTXXq1nin`D(b1VJd-G5&Zmem'W8j:rEs3JZ-UL?mn^cZ[FBh4qQ\Pp(,S;sJW5Lt4Q6;[O2`O6%:N,fj?R$1[N1A$BUAc1p8XW0>%"?;UoOmi0_f&[5>TJ0k`-,]Asdk0.GO&2Z[.!KZ&=b.E]TJK5-it0ZCZFZPN.cA)mD'Xe>4mP:*fTbbJO1:MmlfI7<?_K!`O8pXci&V9K"85p=[S-Mr.U96jpHkZ;1[#-4d.!POf\.g*[uT=E'$3_kt3q0mZFbY\7JpEFp/INs"V)VW,Ta1e$BFd@msOT88<rm<HK]0Mhna"G\D7V8qi]rA3a<9G'DDkc11nk4=2X=;9XaWc5b-iUp0FO8"m)a?aF'D..dKBhf1F/(c+]SMrVAC_-4eiUuG,(c=<,EkH\4q:H`ad2bFgmTajcGGKiQS4mSI++._[#0)]KA)cbKb<sH:l9rF3)+Qla!1BeNcs)9pT>f4"_lZ;/_n,9;2F$9jE;s^Q'A7kELdkPAk?f9)?#b,aaHQ*jfRDhj3e$)Q*L1">d%%Ct&+
 Y35I,$N^MnoJOX9TVR;a1aY4DkK-Qd!)Ja:d@g'MWN?_^A`0Mt%&ZL>I1:cXu-?q@eq!%d-ag`Qa]<1q<O^=7tu8eb42Nkb^n+mk53PqJ+DbFSmZ!QA!'qAa5;aq_&n8#pK~>
+endstream
+endobj
+58 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 57 0 R
+/Annots 59 0 R
+>>
+endobj
+59 0 obj
+[
+60 0 R
+61 0 R
+62 0 R
+63 0 R
+65 0 R
+]
+endobj
+60 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 90.0 295.6 143.328 283.6 ]
+/Rect [ 446.256 498.4 526.584 486.4 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://mail-archives.apache.org/mod_mbox/ws-woden-dev/200704.mbox/%3c4c2ae8f80704170847r5f2440dbrc800fabd2298577b@mail.gmail.com%3e)
+/A << /URI (http://dev.w3.org/cvsweb/2002/ws/desc/)
 /S /URI >>
 /H /I
 >>
 endobj
-57 0 obj
+61 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 90.0 274.4 162.324 262.4 ]
+/Rect [ 90.0 485.2 165.0 473.2 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://mail-archives.apache.org/mod_mbox/ws-woden-dev/200704.mbox/%3c4c2ae8f80704170938q74458582he93ce5e410e7fe2e@mail.gmail.com%3e)
+/A << /URI (http://dev.w3.org/cvsweb/2002/ws/desc/)
 /S /URI >>
 /H /I
 >>
 endobj
-58 0 obj
+62 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 90.0 253.2 165.312 241.2 ]
+/Rect [ 341.304 485.2 446.64 473.2 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://mail-archives.apache.org/mod_mbox/ws-woden-dev/200704.mbox/%3c4c2ae8f80704230613l5e365f02gf15c3cba1086db2d@mail.gmail.com%3e)
+/A << /URI (http://www.w3.org/Bugs/W3C)
 /S /URI >>
 /H /I
 >>
 endobj
-59 0 obj
+63 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 437.088 200.866 471.408 188.866 ]
+/Rect [ 168.984 329.2 208.992 317.2 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://lists.w3.org/Archives/Public/www-ws-desc/2006Jan/0023.html)
-/S /URI >>
+/A 64 0 R
 /H /I
 >>
 endobj
-60 0 obj
+65 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 90.0 187.666 170.004 175.666 ]
+/Rect [ 473.616 148.8 513.624 136.8 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://lists.w3.org/Archives/Public/www-ws-desc/2006Jan/0023.html)
+/A 64 0 R
+/H /I
+>>
+endobj
+66 0 obj
+<< /Length 2322 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gatm<gN)%,&:O:Sn1DpZ"Ptfs>OI\uP,>M<9ZPG#+:=8CP6:u<<pbZkHU/8i(DJ=/Bp+;nOMkW&m-`P4]NAIP?<qrjE35]-p\&(\+NKA68Grt6qYprT:JbM?@]_;4]6LTlYht,"l_uhDm=j$UEn"IJC3PCEMO_Icjjs+$+K;0<G\ShC7ar_jZTEbnokI:AYWC,^)cdo$-o-N9_\9R._kJ8a6bpmkr_)`,&TV!1MFt)d(LZ"/U=n<6?SR$3e<=]r^_^eZo>pjF7mUcOhI0RnM'bIZ4QLW,Y(5RR.1!sj?UL`UjWuEJ!R/a?L&g!W_#*R?]\(Yk!-@R2AYM2%.Be97kO;`$OJ*mOjIuk"#0s#L`<,)oP?9e;jE+L'JegFeL]f2Ga;.hp:dJR),Ou`%@m6R2+F=Hro;6OPP\+CYA0^Z*m15O,9)>4F,i7L=DK).2$S<>=W<cDdSXd#*B7dr".dt+S!L:-A-5E0Z,7@RB(1+CO3+79q%?rSu)?df""^rMNZj6Q9b(*r!FQ<qr#dZ)DA3LW"p>D`W*3?W>ji0aj[f4XLRPYe+=mecq9HXll"4,%O-d^-cH\C6f^KL9;hMH2=(G-;!8;[dUcr<Hs"'IJ%59hXY.tsm-^+1JfkoLX&K(cJ[.XaR,F?ln%*tJ*rf[CP%<E=.[91O5C)4tmOKK`o4(?EJFq!?Y);%>MH2-&-laYIj`X8X-LDZ)Y='S7+X=n=:2]sZS*)nI3`qRRUif+3hW)d@26"eZMOhiCq@>mIUN-^#&M"8!gN.1lXHCfLCAW@EB3FZT:pJ:a3CDl=5s8K@%a1Dlh1c,"0?L!!/a_$tT>]7\n&ir[SYOJE"4NG>'Q8U;mpK)n)a91Wb4dZ!0Pc6_!3&uX2='gt\/BNpPIkN#jD3%S,W)Udda+EB?74Y>)sN?o!C-2st)6O43]=SP"^C!*YMmZ$_-fskTr`XZO3qD<>->cc!h$$D?''1qRP8b9LXE&:0?bV%)
 Cg14Eofr6qi>+K`NUpt,;(JV6V"<Ta?qRos0a="dP+')lL*7n(5#df#ol<:QC-d0W#(AOg9kbFPG4G=5u+rY2as32j9TI&fAOAZ\X*l_",&)PR[3K0XqHRqFLDs0qV^c4")K[6Mip/If]9br*B_Xe30,oC[4[V;0gkJL"WolR]hNsI[g+J:6rS)a).EX%&?<1_</CE*Nq\-S!,*2F:eZJm*&:80c-%t?SNd7KEigQJM]9S.HO<!1KbM#BNeG@fU$7o"-F@Y&g]W7jIDQ#(6EIY&LW>o`.R?"esk*WEoEcMJI1U"r$kV.[=)_el[2&?-p,'Qj@DppAs%l=4C9O(rb#pAW+2n,%`]*inL@3r&-KB4([d3r#;qqtTpV`#S_?fkF,9'ZBAVU+oH4cA9mC4b^0TpT[j6<iVg2_+'C$3O400TO9d2RN9Wm-&/Ne<G[KE>J_"YXYZFFAN#8V,)%a-_91R*WY;7T9>?O;<S<=#+fdNM7$H$Xec]j<m>i9,YQ+B?p%jU"hA?EcjHsPPgcdZoc0A9lrUTg2.oW3W(_Wam<[23uq-Oh0oap0/gmHNm&#7-q0aWdoUjfEQ.[A40a8$UX-;oVU.9'L_`B=kk8)$`W@b7_X2r*.D!<f'DO)Mj[_FPGPhF[H%RfhKJ1F;!?'nW^m"G<)e1bT8`8mt==#@!/V<)q:-*C+eC.o*R6KAbnVFID\$\'OD2Ppt%;qg>sRHAbcDU,*9V@oO7BHc6.qCllVZj%)881ISO##eOY^^tWMdf5oa(is6g\Dr\2G)!DmL!O>#11UY+;.N?4KPh8TPPD8[L22Ti'Ghn"R)(B(]?sU2#Rbh0XT;I'TP4ZKD93M7)gIL==s3kEO#XiL20Y@tJ8&\p*`XaOt5r5nq.B^VeYXiCDW]Lu&/K5"X=-0-j5Fc70EOt@-VU<nYPI=Qg,T3JsH@-[?YrSC5do$`pgp^:;UtNu;GK3YBa7nL-mZ'lFq1hsF#W;CV5EN
 2\,`gk=5NL9)"A,4lli9]p._(:S>moJZ1YBIZP=BQ>L]Q28Pn5KXYR8IXo7^E+3pDAK38[Q_T6D1OZG'p1=j8=>Z+J>gX.j>'jpUdRNb9XdJD0d5lr9cp`NG8,DqQViitKIH)+U9@q21tIkQL,lWWJnJfDA(LoRVF7,\(Dga6rr;^,I7Q,c4joCZMKB/.V?LO].<XS64P6b/bUX&1ZN7`4)%`aqS^08%^(dM$^u5F]t+[HLp,=KH(X.824E`-nnon*EM$<]%a[u,YchZ6?cOWNY=%pO*GoF0+$?$GOs:cYLlks0F(D10\$g0"Jg7LP@2"9c50k_RZuY/?N1gi`O,=~>
+endstream
+endobj
+67 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 66 0 R
+/Annots 68 0 R
+>>
+endobj
+68 0 obj
+[
+69 0 R
+]
+endobj
+69 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 196.466 461.472 184.466 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://people.apache.org/~jkaputin/woden/milestones/1.0M7a-incubating/)
 /S /URI >>
 /H /I
 >>
 endobj
-61 0 obj
-<< /Length 878 /Filter [ /ASCII85Decode /FlateDecode ]
+70 0 obj
+<< /Length 1806 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-GauHI95g=S&AI`dHq^?=_5qqTe>-e&7BMe483O=C&D#$.AMLGakl1IJpH[CiVeX2.)*EuKo/s0clU,JO>6JO"\[*Ib437/Eo2!'^I7'M9;^<6,...@X>em$?4FQh>kB3!^)<H\N\6SbgYN>2CUC1Wq(N=>[O3I.)'%BY`1=W(uPBGqc0qD7YX)P)W75oNsRHr/!;)fB="R_SkmcJ32d\`>*TZ3fWjG+M`.MZ(4\]^SAEDGPK4Io>T^Q[)6Z>kW'q02r([6e4q!u5<W+/iOcRPPO.]CT!s4k5id77DR_qHr(+Bf^>-A1:`Qg`"WjlYR;+UCcEQJt:K%IY]&]*Gaor:"M-hp"\!KREmA-Yun]CcPpX;#^+#VS=9CPjY;K5d88VQfVoj5ta%MfuUQL?Qf$Z3Up/QA3CFd'i0N\\<]K;9k;V6SC\^HL/XWD_!V#Aha#\8^qmrWRYV$<;NcS@Ni'A"#qN2J(qsEG-d'@0+Ul&PB9!O)X\<k6CuK\le(`AgNEc@os#Ue;=b]N]aJ`s@gB-Z\$g,riXVE*?"M0-W1J%$g1r[gYe\FYaS)`oR[%@Ua"1b/3eb(@GBb*-k$FdtGL=BhWCYQ@j/Dm?%/c'aSkrhh_K&Kp=eTL)#:WQJ<7<@ZafM8!R&psFr=3qRlSTW#5AWTj$6Z'&%/TlDP)RZ&"TU]*qXo\42kV37N_kVXon:gK5rqg17<t%Y4*9/29bi&"4YfT@_g._`btY4Jl_.(`.[(RhO(,<Y6itW8W/BE`lFg1VR6%%$YCOh2P:pa--glEcj_j_Q~>
+Gb"/'968iG&AII3kg2]F7M%iuI,rd>lqTU:8K)B56_*Ck,UbD+.f_#!rUg=cd9&q9,WEEEj0:1$^g\DC[u85Kp$?9Rq`;XdNVr`d(0\eJH_)Vb\toA=+Een-EAiki^Wg)fB?OL7a0qLAV_`,@A]Z#Va&]t#,9HD,GJ5]l+.p4*N&L%eHsmP[SntCYW_nprQtV/AW)E<!fn+WDeWkDK':,RWb2[?I@phAM_:S4C`EtHA"^&=/=Xfdi:AZkTs*ALTlQCDW:q%jtE[HlnQX_1cg;VEN>.)!P+1um+"8g0.G5NHnnZ7At\G69N6,Bq"el6s'd8^K'(KhWb&T+goZbXXcq%WdmeOCEEL>TUL#$S\eAi[T/Hj"PPBqkmi,N!R-2]^'K'/0#V7^3p.`:7<k[d5,Yh'fQKC6h,hdCVh66sDcC8[EZ^=2FZE$JMWi`K+*$Z+S%'GT&P9Y_BsP+HIrGOYcJO(on4^WutWFqRERK^H)2F1:WJ^1s5pE.eS'D-"/kX=+$,g!@"h?0Q5O'Xi`FnY'F#K!bRFW+$k$j7KkR]edV]b1#7<G%&o,]1hWQ-Rkn3_%>[@,LFiUc91<thf6\B]L6d0Dke41AbVRX/;a\r/Ia0Rn7\<i=^qD&h]$$Q0R@S0?(6[koYNA77qH.atj6pp<2kSGCoXZ;5GXATX)86"F#PPf%^Bm!X]:t9p-:HSMch-._rOlVcj#$eH'56GTW]1FH&Yq9SICOX5HDQNW\]Z:VLpWJ8hD$6I54k_?cooYOCFF@B7?.<uMK,SnHnC4-Jt*.drY6iIlN7fXO-&s=#_&P*U0uN)m6eRd35Es8G[SeU/BqWH-*#\=kVafq'eu2Z?n%uWOELT!'eR[O&:Xpa"M,ED:ToEC!Q%+$ZsgVB4:sioh<6D/ETENmQ3#cQ_X*kc?B(hZa^.22m#A;+d?+:g,`Df9,"%I+^^kppO$@&ls5[1":3aU4LiM6tn(BZ.E:Q%?";p"CnoM5
 Ac581e-9Ge^TZSQt6.N`(QZdO<5F=J4:Ka9Y^DWDH:/_XBr\(^?'0a"[3jtrDD/_L0p$7UVp(Z@"Z;dOL2Al'2D@a,a+M[BXc4OJl[2d-!NUeY"A(q\_\nnCBs!tfB#C8AbjBW1?_5$k]Ws!JhNR(j4CKAtG"4r=O]qOd@'\hXHIX>a0Q<i)o:BW9`$,pI'QJJL6_%Jg0h'S@goU]p"Z?Pa@*8!I=5`^8A^p&uEht2;"nS@06J*<`,nT&H%5`9aae82;n3o-&*]14#=7gU^]Ah2-*b'$(cr2QdkB=-&@FjOu&p2pK%JC`/u)5VFhZ(r=TQ/:E2GeL[K&t>/I1Y6HF"1n7(,<9$6=jK^fnuH8!l31.f2Ne,a:A<HU;L]iL,J-b.J?J,K!'nip[*#*^F28AFG_=@\)+/.lWp\f!6rUI&d88:dnh'>:ERgNl%`+pX27[7sd_dO,/g^uHJ2[[cO<4:T*IB&i+CI(!ZojZVN,HEPkiB3I;a4W<QW_L)ob.uTOf<eaQg6"Gi)S]P$1#P!;@1-^nuPEPk@UJpct)%g2NaI_^6hf5`f!MO\gl%r82.i;\DfZeoDO<$p,kV.M+;qr-a=[5eOeXgU$p\*dOG'Kr_.0L7An`4@I!@!$hisi?I]30)f>QpY6G&&-#7bambb%bn46aXjRBf6lR;!>\'sS])]K6J]EnFS]%q7kG$G<Sa4;)9$O+!-')4ZY8lYTW^m1M,.b"!*ZQ6FaL4X"NX@BX0ObN_nX/Yb/]Q*FM^on[6<GBo&_DTWo<c+6qfH-PEmM]4d%YjQY(c0#'N[76lmVf4teU@~>
 endstream
 endobj
-62 0 obj
+71 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 61 0 R
-/Annots 63 0 R
+/Contents 70 0 R
 >>
 endobj
-63 0 obj
+72 0 obj
+<< /Length 2126 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+GauHLa`?,q&A@rkGT3P1L'VbE.CKnfP+"A%=;`4I*%2/W0VJc+M](^DVn&NfOcni^Q#]Isfun.noYR[)g&(TucSK=;iU=Ze?kUq->o3LLSa,qQ1MpS?.5r#TJ"9licXo+r5oDeQYKk?qb(P8oTVc(Q3\GDHgR)o=a7C[uS6*]6V7!2l(KnP222`kVe7'lM,aRD0<[>H!:@73`XqiN"oB_b4h3`[1)RV/+:DhV]FE[FWm;9^VKAI/TT&lBo#ZDujaY`*VhE!C'Tm\1ILRRumMg0^:%lHrY^9dQ_$\6o`FTB/CQ=8&dK('nL*!NM+$an%Y(4/(QQcf[e.?AbAN<BI!0.1;6$5"pgJ9Kli4Ui(#6ZXAL5Atg-EKHCtZ\npYfj_pW/<WOLlVfN4+rJ7;,I^p5oCRn[4(9T,Lt*S%4at>7JDWZ)P?C'fR6;*5Cqf"&4q=]rcs/-to4tbCjp=i$phcEnS4r[/8>9Q*jt](0fXD1S!OEF>K0Z%8DF>,WLoEDl+a;+hLsR0Tr$=+Qm_+R/+<756@n^.'7neT7f]h04&7@0T$h-'&;<r_KFBgO]\S_+Hko:kSj&))4;SJ?6:M'Ah#l08_.Ztlgq+b`<A1^jm_.[)paD[L9N!p\?:=)9uk$B8qrtTEq0umrqXBi59@)`6PS0M)j`R.r\PQPLSZqf-DV=DIuqS?i;N+:933c'@1!==9Yh+hdR`-4>=2"$ibdu(#<@t;V*<3gcHqoep9pBcaF'4B=!LQ1`$(^PX!h^-j\Jt<(X+S)tUZVq?L\gq"$+^=j'JL8Z9.*Bau_:_j#\QYnj;(%-&.m(RU48ULZTaD%Ajg!jK.T,9n_u8ESl[uQsC@!i%Kq?,\jP-4s6`h>.g&(=*qtk;]cDT;q$eQ"^>N9q:F4cQpQmumC6u$83V:q`A.8hB*/q^*mi+t'(rV^sdqR5_A)5sk$&<!iCk=AG)5\8<_bM1c)heoV&JK]L#RoZ@4YUQ^)R=X7
 kNQHsu1E4urFhH3IeC%Q-&,<Hf...@J>*dF-O[d1MbmEV(\L<]<\C=Q#4N1,8/5[+J:R/5][[oEkfuWCYC*/3lm;VWjedqCm>3NZfH)+S*n[5f_;c('Ks'!nut<[gC+<A!foPS0oJ=(R*/."6'BqQuSq0fO=-!;Q$LmNJ7\D:bK79T^Kd=,SnnsZcaej0_]>e@/&$H$;"\6]u[M=LnF])7@eICROg-*!N6i@6E5+E,`!rIM3JORa(Qr2d._X]j>)#VT>9LWG9lFHj[L$UEr:0^0*?Mnodmt4/rm`&7bLbB)B7YUB*m<;QL0=;f5r=_22Tp::[+X=#3A-RQ5=*:@r<'q/M/0qogf2$>cY</`&&sokD#^m6B0MlW=LJ6=s4)u>MTW@)t"`j/a^R"*ugU-oXSb$kIW[Z)8II+XP$UYc=V:>+r8RB$tF5*_+di)!K@s\o]iA0\#b+)[V^9=+u&,dKsAft:r`[aA]FO-i*t:.Yi#?uG2_\pg3=gPB-,6%pI2@E^Ir.VZ]#FKm<'(.$FR`lgA/T2bc.It<B"
 41+U5u?WJF_I?j#C(_Hm&8\@5"''EhSgXp-H:1XC5`O(m>OcD^R>a_7I7>4,]pZ/.;CWip7%:X#MI"guUcW!]'KRQ!1(=f>K$=l7D&?FJbfS"1L$TT5_2C=6"dW9n52bqkqTo-I9(q\K5Id&d~>
+endstream
+endobj
+73 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 72 0 R
+/Annots 74 0 R
+>>
+endobj
+74 0 obj
 [
-64 0 R
-65 0 R
+75 0 R
+76 0 R
+77 0 R
+78 0 R
+79 0 R
+80 0 R
+81 0 R
+82 0 R
 ]
 endobj
-64 0 obj
+75 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 90.0 541.2 252.972 529.2 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://mail-archives.apache.org/mod_mbox/ws-woden-dev/200704.mbox/%3c4c2ae8f80704160812h30e87b93je6e5d52607780265@mail.gmail.com%3e)
+/S /URI >>
+/H /I
+>>
+endobj
+76 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 90.0 520.0 143.328 508.0 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://mail-archives.apache.org/mod_mbox/ws-woden-dev/200704.mbox/%3c4c2ae8f80704170847r5f2440dbrc800fabd2298577b@mail.gmail.com%3e)
+/S /URI >>
+/H /I
+>>
+endobj
+77 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 90.0 498.8 162.324 486.8 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://mail-archives.apache.org/mod_mbox/ws-woden-dev/200704.mbox/%3c4c2ae8f80704170938q74458582he93ce5e410e7fe2e@mail.gmail.com%3e)
+/S /URI >>
+/H /I
+>>
+endobj
+78 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 90.0 477.6 165.312 465.6 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://mail-archives.apache.org/mod_mbox/ws-woden-dev/200704.mbox/%3c4c2ae8f80704230613l5e365f02gf15c3cba1086db2d@mail.gmail.com%3e)
+/S /URI >>
+/H /I
+>>
+endobj
+79 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 437.088 425.266 471.408 413.266 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://lists.w3.org/Archives/Public/www-ws-desc/2006Jan/0023.html)
+/S /URI >>
+/H /I
+>>
+endobj
+80 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 90.0 412.066 170.004 400.066 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://lists.w3.org/Archives/Public/www-ws-desc/2006Jan/0023.html)
+/S /URI >>
+/H /I
+>>
+endobj
+81 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 147.348 586.8 260.7 574.8 ]
+/Rect [ 147.348 277.266 260.7 265.266 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://www.w3.org/2002/ws/desc/#lists)
@@ -477,10 +626,10 @@
 /H /I
 >>
 endobj
-65 0 obj
+82 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 90.0 573.6 246.684 561.6 ]
+/Rect [ 90.0 264.066 246.684 252.066 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://www.w3.org/Bugs/Public/)
@@ -488,128 +637,135 @@
 /H /I
 >>
 endobj
-67 0 obj
+84 0 obj
 <<
  /Title (\376\377\0\61\0\40\0\111\0\156\0\164\0\162\0\157\0\144\0\165\0\143\0\164\0\151\0\157\0\156)
- /Parent 66 0 R
- /Next 68 0 R
+ /Parent 83 0 R
+ /Next 85 0 R
  /A 9 0 R
 >> endobj
-68 0 obj
+85 0 obj
 <<
  /Title (\376\377\0\62\0\40\0\117\0\160\0\145\0\156\0\40\0\104\0\145\0\166\0\145\0\154\0\157\0\160\0\155\0\145\0\156\0\164)
- /Parent 66 0 R
- /Prev 67 0 R
- /Next 69 0 R
+ /Parent 83 0 R
+ /Prev 84 0 R
+ /Next 86 0 R
  /A 11 0 R
 >> endobj
-69 0 obj
+86 0 obj
 <<
  /Title (\376\377\0\63\0\40\0\120\0\162\0\157\0\152\0\145\0\143\0\164\0\40\0\123\0\164\0\141\0\164\0\165\0\163)
- /Parent 66 0 R
- /Prev 68 0 R
- /Next 70 0 R
+ /Parent 83 0 R
+ /Prev 85 0 R
+ /Next 87 0 R
  /A 13 0 R
 >> endobj
-70 0 obj
+87 0 obj
 <<
  /Title (\376\377\0\64\0\40\0\120\0\162\0\157\0\152\0\145\0\143\0\164\0\40\0\104\0\151\0\163\0\143\0\165\0\163\0\163\0\151\0\157\0\156\0\40\0\141\0\156\0\144\0\40\0\103\0\157\0\155\0\155\0\165\0\156\0\151\0\143\0\141\0\164\0\151\0\157\0\156)
- /Parent 66 0 R
- /Prev 69 0 R
- /Next 71 0 R
+ /Parent 83 0 R
+ /Prev 86 0 R
+ /Next 88 0 R
  /A 15 0 R
 >> endobj
-71 0 obj
+88 0 obj
 <<
  /Title (\376\377\0\65\0\40\0\104\0\145\0\166\0\145\0\154\0\157\0\160\0\155\0\145\0\156\0\164\0\40\0\120\0\162\0\157\0\143\0\145\0\163\0\163)
- /Parent 66 0 R
- /Prev 70 0 R
- /Next 72 0 R
+ /Parent 83 0 R
+ /Prev 87 0 R
+ /Next 89 0 R
  /A 17 0 R
 >> endobj
-72 0 obj
+89 0 obj
 <<
  /Title (\376\377\0\66\0\40\0\102\0\165\0\147\0\40\0\124\0\162\0\141\0\143\0\153\0\151\0\156\0\147\0\40\0\141\0\156\0\144\0\40\0\127\0\157\0\162\0\153\0\40\0\111\0\164\0\145\0\155\0\163)
- /Parent 66 0 R
- /Prev 71 0 R
- /Next 73 0 R
+ /Parent 83 0 R
+ /Prev 88 0 R
+ /Next 90 0 R
  /A 19 0 R
 >> endobj
-73 0 obj
+90 0 obj
 <<
  /Title (\376\377\0\67\0\40\0\123\0\157\0\165\0\162\0\143\0\145\0\40\0\103\0\157\0\144\0\145)
- /Parent 66 0 R
- /Prev 72 0 R
- /Next 74 0 R
+ /Parent 83 0 R
+ /Prev 89 0 R
+ /Next 91 0 R
  /A 21 0 R
 >> endobj
-74 0 obj
+91 0 obj
 <<
- /Title (\376\377\0\70\0\40\0\124\0\145\0\163\0\164\0\151\0\156\0\147)
- /Parent 66 0 R
- /Prev 73 0 R
- /Next 75 0 R
+ /Title (\376\377\0\70\0\40\0\102\0\165\0\151\0\154\0\144\0\151\0\156\0\147)
+ /Parent 83 0 R
+ /Prev 90 0 R
+ /Next 92 0 R
  /A 23 0 R
 >> endobj
-75 0 obj
+92 0 obj
 <<
- /Title (\376\377\0\71\0\40\0\102\0\165\0\151\0\154\0\144)
- /Parent 66 0 R
- /Prev 74 0 R
- /Next 76 0 R
+ /Title (\376\377\0\71\0\40\0\124\0\145\0\163\0\164\0\151\0\156\0\147)
+ /Parent 83 0 R
+ /Prev 91 0 R
+ /Next 93 0 R
  /A 25 0 R
 >> endobj
-76 0 obj
+93 0 obj
 <<
  /Title (\376\377\0\61\0\60\0\40\0\122\0\145\0\154\0\145\0\141\0\163\0\145\0\40\0\120\0\162\0\157\0\143\0\145\0\163\0\163)
- /Parent 66 0 R
- /Prev 75 0 R
- /Next 77 0 R
+ /Parent 83 0 R
+ /Prev 92 0 R
+ /Next 94 0 R
  /A 27 0 R
 >> endobj
-77 0 obj
+94 0 obj
 <<
  /Title (\376\377\0\61\0\61\0\40\0\103\0\157\0\156\0\156\0\145\0\143\0\164\0\151\0\157\0\156\0\40\0\167\0\151\0\164\0\150\0\40\0\127\0\63\0\103\0\40\0\127\0\123\0\104\0\114\0\40\0\127\0\157\0\162\0\153\0\151\0\156\0\147\0\40\0\107\0\162\0\157\0\165\0\160)
- /Parent 66 0 R
- /Prev 76 0 R
+ /Parent 83 0 R
+ /Prev 93 0 R
  /A 29 0 R
 >> endobj
-78 0 obj
+95 0 obj
 << /Type /Font
 /Subtype /Type1
-/Name /F5
-/BaseFont /Times-Roman
+/Name /F3
+/BaseFont /Helvetica-Bold
 /Encoding /WinAnsiEncoding >>
 endobj
-79 0 obj
+96 0 obj
 << /Type /Font
 /Subtype /Type1
-/Name /F3
-/BaseFont /Helvetica-Bold
+/Name /F5
+/BaseFont /Times-Roman
 /Encoding /WinAnsiEncoding >>
 endobj
-80 0 obj
+97 0 obj
 << /Type /Font
 /Subtype /Type1
-/Name /F2
-/BaseFont /Helvetica-Oblique
+/Name /F6
+/BaseFont /Times-Italic
 /Encoding /WinAnsiEncoding >>
 endobj
-81 0 obj
+98 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F1
 /BaseFont /Helvetica
 /Encoding /WinAnsiEncoding >>
 endobj
-82 0 obj
+99 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F9
 /BaseFont /Courier
 /Encoding /WinAnsiEncoding >>
 endobj
-83 0 obj
+100 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F2
+/BaseFont /Helvetica-Oblique
+/Encoding /WinAnsiEncoding >>
+endobj
+101 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F7
@@ -618,19 +774,19 @@
 endobj
 1 0 obj
 << /Type /Pages
-/Count 7
-/Kids [6 0 R 31 0 R 40 0 R 47 0 R 49 0 R 53 0 R 62 0 R ] >>
+/Count 10
+/Kids [6 0 R 31 0 R 40 0 R 47 0 R 49 0 R 54 0 R 58 0 R 67 0 R 71 0 R 73 0 R ] >>
 endobj
 2 0 obj
 << /Type /Catalog
 /Pages 1 0 R
- /Outlines 66 0 R
+ /Outlines 83 0 R
  /PageMode /UseOutlines
  >>
 endobj
 3 0 obj
 << 
-/Font << /F5 78 0 R /F3 79 0 R /F2 80 0 R /F1 81 0 R /F9 82 0 R /F7 83 0 R >> 
+/Font << /F3 95 0 R /F5 96 0 R /F1 98 0 R /F6 97 0 R /F9 99 0 R /F2 100 0 R /F7 101 0 R >> 
 /ProcSet [ /PDF /ImageC /Text ] >> 
 endobj
 9 0 obj
@@ -684,118 +840,142 @@
 25 0 obj
 <<
 /S /GoTo
-/D [47 0 R /XYZ 85.0 343.866 null]
+/D [54 0 R /XYZ 85.0 455.4 null]
 >>
 endobj
 27 0 obj
 <<
 /S /GoTo
-/D [47 0 R /XYZ 85.0 291.532 null]
+/D [67 0 R /XYZ 85.0 520.2 null]
 >>
 endobj
 29 0 obj
 <<
 /S /GoTo
-/D [53 0 R /XYZ 85.0 230.2 null]
+/D [73 0 R /XYZ 85.0 454.6 null]
 >>
 endobj
-66 0 obj
+64 0 obj
+<<
+/S /GoTo
+/D [null /XYZ 0.0 0.0 null]
+>>
+endobj
+83 0 obj
 <<
- /First 67 0 R
- /Last 77 0 R
+ /First 84 0 R
+ /Last 94 0 R
 >> endobj
 xref
-0 84
+0 102
 0000000000 65535 f 
-0000023489 00000 n 
-0000023589 00000 n 
-0000023681 00000 n 
+0000034924 00000 n 
+0000035046 00000 n 
+0000035138 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
-0000000993 00000 n 
-0000001113 00000 n 
-0000001208 00000 n 
-0000023815 00000 n 
-0000001343 00000 n 
-0000023878 00000 n 
-0000001480 00000 n 
-0000023944 00000 n 
-0000001617 00000 n 
-0000024010 00000 n 
-0000001754 00000 n 
-0000024076 00000 n 
-0000001891 00000 n 
-0000024140 00000 n 
-0000002027 00000 n 
-0000024206 00000 n 
-0000002164 00000 n 
-0000024272 00000 n 
-0000002299 00000 n 
-0000024336 00000 n 
-0000002436 00000 n 
-0000024402 00000 n 
-0000002572 00000 n 
-0000024468 00000 n 
-0000002709 00000 n 
-0000005704 00000 n 
-0000005827 00000 n 
-0000005889 00000 n 
-0000006093 00000 n 
-0000006293 00000 n 
-0000006477 00000 n 
-0000006676 00000 n 
-0000006830 00000 n 
-0000007002 00000 n 
-0000009368 00000 n 
-0000009491 00000 n 
-0000009539 00000 n 
-0000009715 00000 n 
-0000009890 00000 n 
-0000010067 00000 n 
-0000010240 00000 n 
-0000012200 00000 n 
-0000012308 00000 n 
-0000014468 00000 n 
-0000014591 00000 n 
-0000014618 00000 n 
-0000014836 00000 n 
-0000017277 00000 n 
-0000017400 00000 n 
-0000017462 00000 n 
-0000017740 00000 n 
-0000018018 00000 n 
-0000018296 00000 n 
-0000018574 00000 n 
-0000018793 00000 n 
-0000019009 00000 n 
-0000019979 00000 n 
-0000020102 00000 n 
-0000020136 00000 n 
-0000020321 00000 n 
-0000024532 00000 n 
-0000020498 00000 n 
-0000020661 00000 n 
-0000020862 00000 n 
-0000021051 00000 n 
-0000021370 00000 n 
-0000021589 00000 n 
-0000021853 00000 n 
-0000022024 00000 n 
-0000022172 00000 n 
-0000022308 00000 n 
-0000022508 00000 n 
-0000022827 00000 n 
-0000022937 00000 n 
-0000023050 00000 n 
-0000023166 00000 n 
-0000023274 00000 n 
-0000023380 00000 n 
+0000000995 00000 n 
+0000001115 00000 n 
+0000001210 00000 n 
+0000035285 00000 n 
+0000001345 00000 n 
+0000035348 00000 n 
+0000001482 00000 n 
+0000035414 00000 n 
+0000001619 00000 n 
+0000035480 00000 n 
+0000001756 00000 n 
+0000035546 00000 n 
+0000001893 00000 n 
+0000035610 00000 n 
+0000002029 00000 n 
+0000035676 00000 n 
+0000002166 00000 n 
+0000035742 00000 n 
+0000002303 00000 n 
+0000035806 00000 n 
+0000002438 00000 n 
+0000035870 00000 n 
+0000002574 00000 n 
+0000035934 00000 n 
+0000002711 00000 n 
+0000005706 00000 n 
+0000005829 00000 n 
+0000005891 00000 n 
+0000006095 00000 n 
+0000006295 00000 n 
+0000006479 00000 n 
+0000006678 00000 n 
+0000006832 00000 n 
+0000007004 00000 n 
+0000009370 00000 n 
+0000009493 00000 n 
+0000009541 00000 n 
+0000009717 00000 n 
+0000009892 00000 n 
+0000010069 00000 n 
+0000010242 00000 n 
+0000012228 00000 n 
+0000012336 00000 n 
+0000015025 00000 n 
+0000015148 00000 n 
+0000015182 00000 n 
+0000015354 00000 n 
+0000015527 00000 n 
+0000018151 00000 n 
+0000018274 00000 n 
+0000018301 00000 n 
+0000018485 00000 n 
+0000021679 00000 n 
+0000021802 00000 n 
+0000021857 00000 n 
+0000022045 00000 n 
+0000022228 00000 n 
+0000022403 00000 n 
+0000035998 00000 n 
+0000022538 00000 n 
+0000022673 00000 n 
+0000025088 00000 n 
+0000025211 00000 n 
+0000025238 00000 n 
+0000025460 00000 n 
+0000027359 00000 n 
+0000027467 00000 n 
+0000029686 00000 n 
+0000029809 00000 n 
+0000029885 00000 n 
+0000030163 00000 n 
+0000030441 00000 n 
+0000030719 00000 n 
+0000030997 00000 n 
+0000031216 00000 n 
+0000031432 00000 n 
+0000031621 00000 n 
+0000036057 00000 n 
+0000031802 00000 n 
+0000031965 00000 n 
+0000032166 00000 n 
+0000032355 00000 n 
+0000032674 00000 n 
+0000032893 00000 n 
+0000033157 00000 n 
+0000033328 00000 n 
+0000033482 00000 n 
+0000033630 00000 n 
+0000033830 00000 n 
+0000034149 00000 n 
+0000034262 00000 n 
+0000034372 00000 n 
+0000034483 00000 n 
+0000034591 00000 n 
+0000034697 00000 n 
+0000034814 00000 n 
 trailer
 <<
-/Size 84
+/Size 102
 /Root 2 0 R
 /Info 4 0 R
 >>
 startxref
-24583
+36108
 %%EOF

Modified: incubator/woden/Site/src/documentation/content/xdocs/dev/devprocess.xml
URL: http://svn.apache.org/viewvc/incubator/woden/Site/src/documentation/content/xdocs/dev/devprocess.xml?rev=586369&r1=586368&r2=586369&view=diff
==============================================================================
--- incubator/woden/Site/src/documentation/content/xdocs/dev/devprocess.xml (original)
+++ incubator/woden/Site/src/documentation/content/xdocs/dev/devprocess.xml Fri Oct 19 03:34:23 2007
@@ -136,16 +136,214 @@
       </p>
     </section>
     <section>
-    	<title>Testing</title>
-    	<p>
-    		TBD: Insert details about how to test Woden
-    	</p>
+        <title>Building</title>
+        <p>
+        Woden defines an API and provides 2 implementations of it. One is based on the Document Object Model (DOM) 
+        and the other on the Axiom Object Model (OM).
+        </p>
+        <p>The Woden build produces 3 packages, distributed as archive files (zip and tar):</p> 
+        <ul>
+        <li>
+        The <em>API</em> package contains the Woden API classes only.
+        </li>
+        <li> 
+        The <em>DOM</em> package contains the DOM implementation of the Woden API. This includes the DOM-specific
+        classes and any common implementation classes.
+        </li>
+        <li>
+        The <em>OM</em> package contains the OM implementation of the Woden API. That is, the OM-specific classes
+        and any common implementation classes.
+        </li>
+        </ul>
+        <p>The Woden runtime code is in 3 jar files:</p>
+        <ul>
+        <li>woden-api-[version].jar</li>
+        <li>woden-impl-dom-[version].jar</li>
+        <li>woden-impl-om-[version].jar</li>
+        </ul>
+        <p>
+        Woden uses simply download the API package and the package for the implementation they prefer (DOM or OM).
+        Each implementation package includes the dependent jar files required by the implementation.
+        </p>
+        <p>
+        Woden has <a href="http://ant.apache.org/">Ant</a> and <a href="http://maven.apache.org/">Maven</a> build processes.
+        The Ant process was created originally and Maven was introduced later to integrate the Woden build with other
+        Apache projects that depend on it, like Axis2. We maintain both build processes so that users can choose the
+        one they prefer.
+        </p>
+        
+        <p>
+        <strong>Ant</strong> uses a concept of targets to figure out what work to do when you want a certain task done,
+        they are defined inside a build.xml which is in the root of our source directory.
+        There are two main ways in which we run a target, from the command line or inside eclipse.
+        If you want to use the command line you need to download and install Ant from their download site above,
+        then you just use the command <code>ant [targetname]</code> to run a target called targetname.
+        If you want to use Eclipse you need to make sure you have the Ant plug-in, which should come by default
+        depending which package you downloaded, then to run a target you can use the "Run As" context menu on a build.xml file
+        to run it as a "Ant Build" which will run the default ant task or as a "Ant Build..." to specify which target(s) you wish to run.
+        </p>
+        <p>The top level ant targets we have and their uses are :-</p>
+        <ul>
+            <li>
+                <code>buildAll</code>
+                - Builds all Woden packages (API, DOM, and OM).
+            </li>
+            <li>
+                <code>buildAndTestAll</code>
+                - Builds all Woden packages (API, DOM, and OM) then runs all the tests as explained in the Testing section.
+            </li>
+            <li>
+                <code>distBuild</code>
+               - Builds all Woden packages (API, DOM, and OM) then creates the compressed archives for the DOM and OM distributions with dependencies.
+            </li>
+            <li>
+                <code>buildAPI</code>
+                - Builds the Woden API package.
+            </li>
+            <li>
+                <code>buildDOM</code>
+                - Builds the Woden DOM package.
+            </li>
+            <li>
+                <code>buildOM</code>
+                - Builds the Woden OM package.
+            </li>
+        </ul>
+        <p><br/>These targets all use a common build directory to store their results in, its structure is :-</p>
+        <ul>
+            <li>
+                <code>build/</code>
+                - Root of the build directory.
+            </li>
+            <li>
+                <code>build/classes/</code>
+                - Classes from building the java source code.
+            </li>
+            <li>
+                <code>build/dist/</code>
+                - Zip and Tar files of complete distributions in the
+                form apache-woden-[src/dom/om]-[version].[zip/.tar.gz].
+            </li>
+            <li>
+                <code>build/test/</code>
+                - Test results from Junit tests.
+            </li>
+            <li>
+                <code>build/jar/</code>
+                - Jar files for each package in for form
+                woden-[api/dom/om]-[version].jar .
+            </li>
+            <li>
+                <code>build/JavaDoc/</code>
+                - Java Doc pages for all the java classes.
+            </li>
+        </ul>
+        
+        <p>
+        <strong>Maven</strong> uses a set of conventions to simplify the build and deployment process and uses a concept of goals to figure out
+        what needs to be done. The layout of the project is defined in pom.xml files, each of which specifies one distribution.
+        In Woden we have three main distributors so have four pom.xml files, one in the root source directory
+        and one in each of the woden-api, woden-dom and woden-om sub directories. To use Maven you need to 
+        <a href="http://maven.apache.org/download.html">download</a> it, 
+        then run one of the maven goals with <code>mvn [goal]</code>.
+        If you run these from the Woden root directory the goal will be applied all three distributions.
+        </p>
+        <p>The main goals you will use are :-</p>
+        <ul>
+            <li><code>compile</code> - Compiles all three distributions.</li>
+            <li><code>test</code> - Compiles then tests all three distributions.</li>
+            <li><code>package</code> - Compiles, tests then packages all three distributions.</li>
+        </ul>
+        <p><br/>Woden's Maven build uses the following directory structure :-</p>
+        <ul>
+            <li><code>/</code> - Root source folder with the pom.xml linking all three distributions.</li>
+            <li><code>/woden-api</code> - Woden API distribution, runs Maven goals on just the API java source.</li>
+            <li><code>/woden-dom</code> - Woden DOM distribution, runs Maven goals on the DOM and Common java source.</li>
+            <li><code>/woden-om</code> - Woden OM distribution, runs Maven goals on the OM and Common java source.</li>
+        </ul>
     </section>
     <section>
-    	<title>Build</title>
-    	<p>
-    		TBD: Insert details of the Woden build process
-    	</p>
+        <title>Testing</title>
+        <p>
+        There are 2 test suites for Woden. The <strong>JUnit test suite</strong> provided with Woden tests the Woden API
+        and functionality of the Woden framework (configuration, factory, reader, error handling, etc). 
+        The <strong>W3C WSDL 2.0 Test Suite</strong> tests Woden's compliance with the WSDL 2.0 Recommendation (i.e. its
+        WSDL 2.0 spec compliance).
+        </p>
+        <p>
+        Both of these test suites <em>should</em> be run to test Woden thoroughly. For example, it's not enough 
+        just to run the Woden JUnit tests. 
+        Both test suites <em>must</em> be run <em>before</em> committing code to the repository.
+        Code contributions submitted by non-committers as JIRA patches should also be tested against both test suites.
+        </p>
+        <p>
+        The Woden JUnit test suite should test the entire Woden API. It should invoke every API method at least once.
+        So for any additions or changes to the API, the Woden JUnit test suite must be updated accordingly.
+        For any non-WSDL functionality added or changed in the Woden implementation(s), appropriate test cases should
+        also be included in the JUnit test suite where appropriate. 
+        </p>
+        <p>
+        (TODO - maybe split the JUnit test
+        suite so that an API-only suite exists for use by projects that want to create their own implementation
+        of the Woden API).
+        </p>
+        <p>
+        The Woden JUnit test cases <em>must be written using the Woden API</em> (i.e. the correct Woden programming
+        model), unless it's absolutely necessary to exercise the implementation class methods directly for a given
+        test case. This will ensure that the Woden development team can change the implementation at any point 
+        without major impact on the test suite. On several occassions in the past, we have had
+        to do significant, time-consuming rework on the test suite to fix compile breaks introduced when the 
+        implementation changed, because Woden developers had used the implementation classes directly when writing
+        test cases.
+        Our initial reasons for this were "we know the code, so it's okay", but as we've learnt, getting Woden 
+        client code to work is not the same as keeping it working. We expect Woden users to use the API only, so 
+        our test suite should set the right example.
+        </p>
+        <p>
+        The W3C WSDL 2.0 Test Suite is complete for the 'good WSDL' test cases. It should now have WSDL test cases
+        that provide full coverage of what <em>is</em> allowed by WSDL 2.0 specification.
+        The test suite does not yet fully cover the 'bad WSDL' test cases. That is, it does not yet have WSDL test
+        cases for every <em>assertion</em> specified by the WSDL 2.0 specification.
+        All of Woden's WSDL 2.0 functionality (i.e. handling good WSDL and detecting bad WSDL) must be tested against
+        the W3C WSDL 2.0 Test Suite.
+        If a new WSDL 2.0 test case is needed to test some WSLD 2.0 functionality in Woden, Woden developers should
+        create the required test case and then contribute it as a patch to the 
+        <a href="http://dev.w3.org/cvsweb/2002/ws/desc/">W3C WSDL 2.0 CVS repository</a>.  
+        The patch can be submitted via the <a href="http://www.w3.org/Bugs/W3C">W3C Bugzilla system</a>
+        (select the 'WSDL' category when creating a new bug report).
+        </p>
+        <p>
+        <strong>JUnit Tests</strong> are located in the test/ directory which is structured to mirror the src/ folder
+        for the parts of code tests are written for. There are two ways these can be run either inside Eclipse or directly from Ant.
+        </p>
+        <p>Inside Eclipse the JUnit test(s) can be run by selecting "JUnit Test" in the "Run As" context menu for one test, whole packages,
+        or the entire test folder. Then the tests results with error messages with traces will be displayed in the JUnit panel. You can also
+        debug JUnit tests from inside Eclipse by selecting the "JUnit Test" from the "Debug As" context menu.
+        </p>
+        <p>Using Ant to run the JUnit tests can be done from the command line or inside Eclipse as described in the
+        <a href="#Building">building</a> section above. There are three different targets which you can run
+        each having a different subset of our JUnit tests. They each produce tests results in the build/test/(24 hour)_(minute)_(second)/ directory as follows.
+        </p>
+        <ul>
+           <li><code>runAllJUnitTests</code> - This runs all JUnit tests with the default xml parser.</li>
+           <li><code>runOMTests</code> - This runs all the applicable JUnit tests with the OM parser.</li>
+           <li><code>runDOMTests</code> - This runs all the applicable JUnit tests with the DOM parser.</li>
+        </ul>
+        <p>
+        <strong>W3C Test Suite</strong> is a collection of WSDL2.0 files written by the W3C WSDL2.0 Working Group and an xml format which 
+        to dump out the component model into once we have loaded the WSDL2.0 file to test we have correctly interpreted them.
+        As this is written by an external group it has two parts to it, the first loading the WSDL2.0 files with Woden and
+        getting the component model in an xml file out which is done by us, then testing all the xml files against correct
+        test results which is done by the W3C WSDL2.0 Working Group.
+        </p>
+        <p>Before you do anything else you need to have run Ant to build Woden as in the <a href="#Building">building</a> section above.
+        This will download the needed W3C test suite and build the jar's to test against.</p>
+        <p>To generate the component model in xml files you need to run Ant in the ant-test/ directory using its default target,
+        this will generate the xml files in the ant-test/results/ directory and ant-test/validation-results.xml file.
+        It will also copy the xml files over to the W3C Test Suite directory in downloads/w3c/results/Woden</p>
+        <p>To create the test report from these you need to run Ant in downloads/w3c/results with the three targets
+        <code>canonicalize-Woden,evaluate-Woden,Interchange.html</code> which put the results for you to look at in the Interchange.html file.
+        </p>
     </section>
     <section>
       <title>Release Process</title>



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