| Target | Description |
|---|
| deploy | deploys archive to jboss |
| undeploy | removes archive from jboss deploy folder |
| fdeploy | copy deployment folder to jboss |
| fundeploy | removes deployment folder from jboss |
| jspc | compile JSPs |
| start | start jboss server |
| stop | stop jboss server |
| appc | compile/verify app - only handles JSPs |
<?xml version="1.0" encoding="UTF-8"?>
<project name="appserver">
<description>
+ ==\_/============J=A=V=A=G=E=N===A=N=T===M=O=D=U=L=E=S================= +
+ \(_)/ +
+ -(_)- JBoss 2 Application Server Module +
+ /(_)\ +
+ ======================================================================= +
+ Copyright (c) 2002-2005 Outsource Cafe, Inc. All rights reserved. +
+ ======================================================================= +
+
+ Public targets:
+ deploy - deploys distribution file to application server
+ undeploy - removes distribution file from application server
+ fdeploy - folder deploy expands distribution files on server
+ fundeploy - folder undeploy removes expaned directory from server
+ start - starts application server
+ stop - stops application server
+ jspc - server-specific JSP compiler
+
+ Required properties:
+ dist.name - the distribution file name, should be predefined.
+ dist.dir - the loaction of jar/war files, should be predefined.
+
+ Optional properties (see source for others):
+ jboss.conf - jboss server configuration to use, defaults to 'default'
+
+ developer: RichardEasterling@OutsourceCafe.com
+ ======================================================================= +
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ =J=A=M===========================================J=A=V=A=G=E=N=.=C=O=M= +
</description>
<property name="APPSERVER.PRESENT" value="true"></property>
<property name="JBOSS3.PRESENT" value="true"></property>
<!-- =================================================================== -->
<!-- public targets: -->
<!-- =================================================================== -->
<target name="deploy" depends="-deploy" description="deploys archive to jboss"></target>
<target name="undeploy" depends="-undeploy" description="removes archive from jboss deploy folder"></target>
<target name="fdeploy" depends="-fdeploy" description="copy deployment folder to jboss"></target>
<target name="fundeploy" depends="-fundeploy" description="removes deployment folder from jboss"></target>
<target name="jspc" depends="-jspc" description="compile JSPs"></target>
<target name="start" depends="started, -start" description="start jboss server"></target>
<target name="stop" depends="stopped, -stop" description="stop jboss server"></target>
<target name="appc" depends="-jspc" description="compile/verify app - only handles JSPs"></target>
<!-- ==================================================================== -->
<!-- JBoss-specific properties and sanity checks: -->
<!-- ==================================================================== -->
<condition property="jboss.dist" value="${env.JBOSS_DIST}">
<isset property="env.JBOSS_DIST"></isset>
</condition>
<fail unless="jboss.dist">'jboss.dist' is not set. Set the 'jboss.dist' property or create an environmental variable called 'JBOSS_DIST' pointing to the top-level JBoss installation directory.</fail>
<available property="jboss.present" file="${jboss.dist}/bin/run.jar"></available>
<fail unless="jboss.present">Property "jboss.dist" or 'JBOSS_DIST' is set but it does not seem to point to the right directory. The file "run.jar" must be available at ${jboss.dist}/bin. </fail>
<property name="jboss.version" value="3.0"></property>
<!-- db, use database.name if set otherwise us defalut jboss db -->
<condition property="jboss.type.mapping" value="${database.name}">
<isset property="database.name"></isset>
</condition>
<property name="jboss.type.mapping" value="Hypersonic SQL"></property>
<!-- datasource, use database.name if set otherwise us defalut datasource -->
<condition property="jboss.datasource.name" value="${datasource.name}">
<isset property="datasource.name"></isset>
</condition>
<property name="jboss.datasource.name" value="java:/DefaultDS"></property>
<!-- directory properties -->
<property name="jboss.lib.dir" location="${jboss.dist}/lib"></property>
<property name="jboss.client.dir" location="${jboss.dist}/client"></property>
<!-- Configuration used on JBoss 3 to run your server. There must be a
directory with the same name under "${jboss.dist}/server"
Command line example: ant -Djboss.conf=all deploy
-->
<property name="jboss.conf" value="default"></property>
<property name="jboss.conf.lib" value="server/${jboss.conf}/lib"></property>
<property name="jboss.server.home" location="${jboss.dist}/server/${jboss.conf}"></property>
<property name="jboss.table.create" value="true"></property>
<property name="jboss.table.remove" value="true"></property>
<property name="jboss.tuned.updates" value="false"></property>
<!-- ==================================================================== -->
<!-- standard application server settings -->
<!-- ==================================================================== -->
<property name="appserver.name" value="JBoss"></property>
<property name="appserver.version" value="3.x"></property>
<property name="appserver.deploy.dir" location="${jboss.dist}/server/${jboss.conf}/deploy"></property>
<property name="appserver.http.port" value="8080"></property>
<property name="appserver.host" value="localhost"></property>
<!-- adjust delays (in seconds) according to deployment speed: -->
<property name="appserver.start.delay" value="45"></property>
<property name="appserver.deploy.delay" value="15"></property>
<property name="appserver.post.stop.delay" value="4"></property>
<!-- used in Log4J config. to determine log file locations: -->
<property name="appserver.log.folder" value="$${jboss.server.home.dir}/log/"></property>
<!-- ==================================================================== -->
<!-- standard client properties -->
<!-- ==================================================================== -->
<property name="appserver.java.naming.factory.initial" value="org.jnp.interfaces.NamingContextFactory"></property>
<property name="appserver.java.naming.provider.url" value="jnp://localhost:1099"></property>
<property name="appserver.java.naming.factory.url.pkgs" value="org.jboss.naming:org.jnp.interfaces"></property>
<path id="appserver.client.classpath">
<fileset dir="${jboss.client.dir}">
<include name="*.jar"></include>
</fileset>
</path>
<!-- ==================================================================== -->
<!-- jspc properties: -->
<!-- ==================================================================== -->
<!-- jasper default jar propertries, reccomend overriding in project.xml -->
<available property="JASPER.PRESENT" file="${appserver.deploy.dir}/jbossweb-jetty.sar/jasper-compiler.jar"></available>
<property name="appserver.jspc.java.dir" location="${build.web.jspc.dir}"></property>
<property name="appserver.jspc.classes.dir" location="${build.web.jspc.dir}"></property>
<property name="jspc.package" value="."></property>
<property name="jspc.uriroot" location="${build.web.dir}"></property>
<path id="jspc.classpath">
<path refid="build.web.classpath"></path>
<pathelement location="${jasper.compiler.jar}"></pathelement>
<pathelement location="${jasper.runtime.jar}"></pathelement>
</path>
<!-- =================================================================== -->
<!-- compiles JSPs to java, then to classes: -->
<!-- =================================================================== -->
<target name="-jspc" if="JASPER.PRESENT">
<property name="jasper.compiler.jar" location="${appserver.deploy.dir}/jbossweb-jetty.sar/jasper-compiler.jar"></property>
<property name="jasper.runtime.jar" location="${appserver.deploy.dir}/jbossweb-jetty.sar/jasper-runtime.jar"></property>
<available type="file" file="${jasper.compiler.jar}" property="jasper.compiler.jar.present"></available>
<fail unless="jasper.compiler.jar.present" message="jasper.compiler.jar property not set"></fail>
<available type="file" file="${jasper.runtime.jar}" property="jasper.runtime.jar.present"></available>
<fail unless="jasper.runtime.jar.present" message="jasper.runtime.jar property not set"></fail>
<mkdir dir="${appserver.jspc.classes.dir}"></mkdir>
<mkdir dir="${appserver.jspc.java.dir}"></mkdir>
<jspc srcdir="${build.web.dir}" destdir="${appserver.jspc.java.dir}" uriRoot="${build.web.dir}" verbose="2">
<include name="**/*.jsp"></include>
<include name="**/*.jspx"></include>
<classpath refid="jspc.classpath"></classpath>
</jspc>
<javac srcdir="${appserver.jspc.java.dir}" destdir="${appserver.jspc.classes.dir}" source="${compiler.source}" target="${compiler.target}" classpathref="jspc.classpath" debug="${compiler.debug}" deprecation="${compiler.deprecation}" optimize="${compiler.optimize}" compiler="${compiler.type}"></javac>
</target>
<!-- =================================================================== -->
<!-- deploy archive (jar/war/ear) to server -->
<!-- =================================================================== -->
<target name="-deploy">
<copy file="${dist.dir}/${dist.name}" todir="${appserver.deploy.dir}"></copy>
</target>
<!-- =================================================================== -->
<!-- remove archive (jar/war/ear) from server -->
<!-- =================================================================== -->
<target name="-undeploy">
<echo>undeploy: ${appserver.deploy.dir}/${dist.name}</echo>
<delete file="${appserver.deploy.dir}/${dist.name}"></delete>
</target>
<!-- =================================================================== -->
<!-- deploy unpacked files to server -->
<!-- =================================================================== -->
<target name="-fdeploy">
<mkdir dir="${appserver.deploy.dir}/${dist.name}"></mkdir>
<unzip src="${dist.dir}/${dist.name}" dest="${appserver.deploy.dir}/${dist.name}"></unzip>
</target>
<!-- =================================================================== -->
<!-- remove unpacked deployment from server - server must be stopped -->
<!-- =================================================================== -->
<target name="-fundeploy">
<delete dir="${appserver.deploy.dir}/${dist.name}"></delete>
</target>
<!-- =================================================================== -->
<!-- server started check, sets server.started if already running -->
<!-- =================================================================== -->
<target name="started">
<condition property="server.started">
<and>
<socket port="${appserver.http.port}" server="${appserver.host}"></socket>
</and>
</condition>
<echo>server.started = ${server.started}</echo>
</target>
<!-- =================================================================== -->
<!-- start jboss -->
<!-- =================================================================== -->
<target name="-start" unless="server.started">
<java classname="org.jboss.Main" fork="yes">
<jvmarg value="-Dprogram.name=${jboss.dist}/bin/run.bat"></jvmarg>
<arg line="-c default"></arg>
<classpath>
<pathelement location="${jboss.dist}/bin/run.jar"></pathelement>
<pathelement location="${tools.jar}"></pathelement>
</classpath>
</java>
</target>
<!-- =================================================================== -->
<!-- server pre-stop check, sets can.end if server is running -->
<!-- =================================================================== -->
<target name="stopped">
<condition property="can.end">
<and>
<socket port="${appserver.http.port}" server="${appserver.host}"></socket>
<not>
<isset property="server.started"></isset>
</not>
</and>
</condition>
<echo>can.end = ${can.end}</echo>
</target>
<!-- =================================================================== -->
<!-- stop jboss -->
<!-- =================================================================== -->
<target name="-stop" if="can.end">
<java classname="org.jboss.Shutdown" fork="yes">
<arg line="-s localhost"></arg>
<classpath>
<pathelement location="${jboss.dist}/bin/shutdown.jar"></pathelement>
<pathelement location="${tools.jar}"></pathelement>
</classpath>
</java>
<echo>sleeping ${appserver.post.stop.delay}s...</echo>
<sleep seconds="${appserver.post.stop.delay}"></sleep>
</target>
</project>