<?xml version="1.0"?>

<!-- 
  Copyright (c) 2002, 2003,2004 Eteration Bilisim A.S.
  Naci Dai and others.
  
   
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Public License v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/legal/epl-v10.html
  
  Contributors:
      Eteration Bilisim A.S. - initial API and implementation
      Naci Dai
  For more information on eteration, please see
  <http://www.eteration.com/>.
 -->



<project name="xdocletBuild" default="webdoclet" basedir=".">

   <!-- Init -->
   <target name="init">
      <property file="build.properties"/>

      <property name="web.dd.dir" value="${web.project.dir}/${web.module.webinf}"/>
      <property name="xdoclet.force" value="true"/>
      <property name="container.type" value="web-war"/>
      
   	  <!-- Set up java.class.path -->
      <path id="project.class.path">
        <pathelement location="${web.project.dir}/${web.bin.dir}" />
        <pathelement path="${web.project.classpath}" />


     	<fileset dir="${ant.home}">
        	<include name="*/**/ant.jar"/>
      	</fileset>
        <fileset dir="${xdoclet.home}">
            	<include name="**/*.jar"/>
        </fileset>

        <!-- append the external classpath lastly -->
        <pathelement path="${java.class.path}" />
                
     </path>


   </target>

   <!-- Run EJBDoclet -->
   <target name="webdoclet" depends="init">

    <taskdef name="webdoclet" classname="xdoclet.modules.web.WebDocletTask">
		<classpath refid="project.class.path"/>
	</taskdef>

    <webdoclet 
    		destdir="${web.project.dir}/${web.module.gen}"
    		mergedir="${web.project.dir}/${web.module.webinf}"
    	    excludedtags="@version,@author,@todo"
    	    addedtags="@wtp generated"
    	    force="${xdoclet.force}"
    	    verbose="true" >
    	
    	<!-- SERVLETS START -->
    	 	   <fileset dir="${web.project.dir}/${web.module.src}" defaultexcludes="yes"> 
    	   	    @servlets@
    	 	   </fileset>
    	<!-- SERVLETS END -->
  		<deploymentdescriptor useIds="true" servletspec="${servlet.spec.version}" destdir="${web.dd.dir}">
        </deploymentdescriptor> 
    	


    	  @jboss@
    	  @jonas@
    	  @weblogic@
    	  @websphere@
            

    	
   	</webdoclet>
 
   </target>

</project>
