summaryrefslogtreecommitdiffstats
path: root/Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/etc/common.xml
blob: daf60cef90745262102f1547c2c29bd9ffa02c05 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<property file="${basedir}/etc/common.properties"/>
<property environment="env"/>
<property name="appserver.home" value="${env.GLASSFISH_HOME}"/>
<property name="src.dir" value="${basedir}/src"/>
<property name="build.dir" value="${basedir}/build"/>
<property name="package.dir" value="${basedir}/package"/>
<property name="support.dir" value="${basedir}/SupportFiles"/>
<property name="temp.dir" value="${basedir}/temp"/>
<property name="app.src.dir" value="${src.dir}/${app.pkg}"/>

<target name="build.cpath">
	<path id="appserver.lib">
		<fileset dir="${appserver.home}/lib" includes="*.jar" />
	</path>
	<pathconvert pathsep=";" property="appserver.cpath" refid="appserver.lib"/>
</target>

<target name="init.common" depends="build.cpath">
	<property name="build.classpath" value="${appserver.cpath}:${java.home}/../lib/tools.jar"/>
</target>

<target name="compile.common" depends="init.common">
	<mkdir dir="${build.dir}/${app.name}"/>
	<javac srcdir="${app.src.dir}" destdir="${build.dir}/${app.name}" classpath="${build.classpath}"/>
</target>

<target name="package.client" if="create.client">
	<mkdir dir="${package.dir}/${app.name}"/>
	<jar destfile="${package.dir}/${app.name}/${app.name}Client.jar">
		<fileset dir="${build.dir}/${app.name}/">
			<include name="**/client/**"/>
			<include name="**/*.class"/>
			<include name="**/interfaces/**"/>
			<exclude name="**/*Bean.class"/>
			<exclude name="**/container/**"/>
		</fileset>
	</jar>
</target>

<target name="package.ejb" if="create.ejb">
	<mkdir dir="${package.dir}/${app.name}"/>
	<jar destfile="${package.dir}/${app.name}/${app.name}EJB.jar">
		<metainf file="${app.src.dir}/META-INF/persistence.xml"/>
		<fileset dir="${build.dir}/${app.name}/">
			<exclude name="**/client/**"/>
			<exclude name="**/container/**"/>
			<exclude name="**/WEB-INF/**"/>
			<include name="**/*.class"/>
			<include name="**/interfaces/**"/>
		</fileset>
	</jar>
</target>

<target name="package.war" if="create.war">
	<mkdir dir="${package.dir}/${app.name}"/>
	
	<!-- Setup temporary staging area with proper structure -->
	<mkdir dir="${temp.dir}/${app.name}/WEB-INF/classes"/>
	
	<!-- Copy over files -->
	<copy todir="${temp.dir}/${app.name}/WEB-INF/classes">
		<fileset dir="${build.dir}/${app.name}">
			<include name="**/container/**"/>
		</fileset>
	</copy>
	
	<copy todir="${temp.dir}/${app.name}/WEB-INF" file="${app.src.dir}/WEB-INF/web.xml"/>
	
	<jar destfile="${package.dir}/${app.name}/${app.name}Web.war">
		<fileset dir="${temp.dir}/${app.name}"/>
	</jar>
	
	<!-- Remove temp staging area -->
	<delete dir="${temp.dir}/${app.name}"/>
</target>

<target name="package.ear" if="create.ear">
	<mkdir dir="${package.dir}/${app.name}"/>
	
	<!-- Setup temporary staging area with proper structure -->
	<mkdir dir="${temp.dir}/${app.name}/ear"/>
	
	<!-- Copy over files -->
	
	<jar destfile="${package.dir}/${app.name}/${app.name}.ear">
		<metainf file="${app.src.dir}/META-INF/application.xml"/>
		<fileset file="${package.dir}/${app.name}/${app.name}Web.war"/>
		<fileset file="${package.dir}/${app.name}/${app.name}EJB.jar"/>		
	</jar>
</target>

<target name="package.common" depends="package.client,package.ejb,package.war,package.ear"/>

<target name="deploy.common" if="deploy">
	<copy todir="${appserver.home}/domains/domain1/autodeploy" file="${package.dir}/${app.name}/${app.name}.ear"/>
</target>

<target name="execClient" depends="init.common">
	<java fork="true" classname="${client.class}" classpath="${build.classpath}:${java.home}/lib/jsse.jar:${package.dir}/${app.name}/${app.name}Client.jar"/>
</target>