JBoss 2 Application Server Module

Public Targets

TargetDescription
deploydeploys archive to jboss
undeployremoves archive from jboss deploy folder
fdeploycopy deployment folder to jboss
fundeployremoves deployment folder from jboss
jspccompile JSPs
startstart jboss server
stopstop jboss server
appccompile/verify app - only handles JSPs

Source: appserver-jboss3.xml

				<?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>