Subversion Repositories DevTools

Rev

Rev 1815 | Rev 4148 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1815 mhunt 1
<project name="xdoclet-macrodef">
2
 
3
	<macrodef name="ant-ejbdoclet">
4
 
5
		<attribute name="srcdir"/>
6
		<attribute name="destdir"       default = "${basedir}/build/generate"/>
7
		<attribute name="ejbspec"       default = "2.0"/>
8
		<attribute name="jboss.version" default = "3.0"/>
9
		<attribute name="force"         default = "${xdoclet.force}"/>
10
		<attribute name="mergedir"      default = "${basedir}/xdoclet"/>
11
 
12
		<element name="xdoclet-classpath" optional="no" implicit="no" description="Anything you can put in a fileset."/>
13
 
14
		<sequential>
15
 
16
			<taskdef name      = "ejbdoclet"
17
			         classname = "xdoclet.modules.ejb.EjbDocletTask">
18
				<classpath>
1817 skinsman 19
					<path refid = "using.xdoclet.classpath"/>
1815 mhunt 20
					<xdoclet-classpath/>
21
				</classpath>
22
	  		</taskdef>
23
 
24
			<ejbdoclet destdir      = "@{destdir}"
25
			           excludedtags = "@version,@author"
26
			           ejbspec      = "@{ejbspec}"
27
			           mergedir     = "@{mergedir}"
28
			           force        = "@{force}">
29
 
30
				<fileset dir="@{srcdir}">
31
					<!--</xdoclet-fileset>-->
32
					<include name="**/*Bean.java"/>
33
				</fileset>
34
 
35
				<!-- Generate 'api' classes; these include:
36
				        * remote interfaces
37
				        * remote home interfaces
38
				        * value objects / data transfer objects (DTOs)
39
				        * entity primary key classes (for CMP)
40
				  -->
41
				<remoteinterface    pattern="{0}"
42
				                    destdir="@{destdir}/api"/>
43
				<homeinterface      pattern="{0}Home"
44
				                    destdir="@{destdir}/api"/>
45
				<valueobject        pattern="{0}Details"
46
				                    destdir="@{destdir}/api"
47
				                    templateFile="${using.ant-ejbdoclet.basedir}/valueobject-custom.xdt"/>
48
				<entitypk           pattern="{0}Key"
49
				                    destdir="@{destdir}/api"/>
50
 
51
				<!-- Generate 'implementation' classes to be deployed on the server; these include:
52
				        * local interfaces
53
				        * local home interfaces
54
				        * utility broker objects (some of which will be transferred to the API)
55
				        * CMP entity beans
56
				        * BMP entity beans
57
				        * The deployment descriptor (both standard and JBoss-specific)
58
				  -->
59
				<localinterface     pattern="Local{0}"
60
				                    destdir="@{destdir}/impl"/>
61
				<localhomeinterface pattern="Local{0}Home"
62
				                    destdir="@{destdir}/impl"/>
63
				<utilobject         pattern="{0}Broker"
64
				                    destdir="@{destdir}/impl"
65
				                    cacheHomes="true"
66
				                    templateFile="${using.ant-ejbdoclet.basedir}/lookup-custom.xdt"/>
67
				<entitycmp          destdir="@{destdir}/impl"/>
68
				<entitybmp          destdir="@{destdir}/impl"/>
69
				<deploymentdescriptor destdir="@{destdir}/impl/META-INF"/>
70
				<jboss version     = "@{jboss.version}"
71
				       mergeDir    = "@{mergedir}"
72
				       xmlencoding = "UTF-8"
73
				       destdir     = "@{destdir}/impl/META-INF"
74
				       validateXml = "false"/>
75
			</ejbdoclet>
76
 
77
			<!-- Any brokers that act for remote EJBs should be in the API, so move them there -->
78
			<move todir="@{destdir}/api">
79
				<fileset dir="@{destdir}/impl" includes="**/*Broker.java">
80
					<contains text="cachedRemoteHome" casesensitive="no"/>
81
				</fileset>
82
			</move>
83
 
84
		</sequential>
85
	</macrodef>
86
</project>