You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by pl...@apache.org on 2003/05/05 04:58:47 UTC
cvs commit: maven/src/plugins-build/appserver plugin.jelly
plynch 2003/05/04 19:58:47
Modified: src/plugins-build/appserver plugin.jelly
Log:
o now closely mimics the behaviour of the webserver plugin protocol
o a complete rewrite, therefore the version gets bumped to 2.0
Revision Changes Path
1.3 +464 -119 maven/src/plugins-build/appserver/plugin.jelly
Index: plugin.jelly
===================================================================
RCS file: /home/cvs/maven/src/plugins-build/appserver/plugin.jelly,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- plugin.jelly 11 Apr 2003 17:21:18 -0000 1.2
+++ plugin.jelly 5 May 2003 02:58:47 -0000 1.3
@@ -1,14 +1,19 @@
<?xml version="1.0"?>
<!-- ================================================================== -->
-<!-- A P P S E R V E R P L U G I N -->
+<!-- W E B S E R V E R P L U G I N -->
<!-- ================================================================== -->
-<project xmlns:j="jelly:core" xmlns:ant="jelly:ant" xmlns:log="jelly:log">
+<project xmlns:j="jelly:core" xmlns:ant="jelly:ant" xmlns:log="jelly:log"
+ xmlns:util="jelly:util"
+ xmlns:exception="http://www.maven.org/plugin/appserver/exception"
+ xmlns:appserver="http://www.maven.org/plugin/appserver"
+ xmlns:define="jelly:define" >
<!--==================================================================-->
- <!-- S U P P O R T E D A P P S E R V E R S -->
+ <!-- S U P P O R T E D W E B S E R V E R S -->
<!--==================================================================-->
- <j:import inherit="true" uri="file:${plugin.resources}/tomcat-4.x.jelly" />
+ <j:import inherit="true" file="${plugin.resources}/tomcat-4.0.x.jelly" />
+ <j:import inherit="true" file="${plugin.resources}/tomcat-4.1.x.jelly" />
<!--==================================================================-->
<!-- B E G I N C O R E P R O C E S S I N G -->
@@ -17,14 +22,160 @@
<goal name="appserver:init"
description="Initialize resources needed for the plugin">
- <!-- a flag to see if the appserver is started -->
- <ant:condition property="maven.appserver.started">
- <ant:http url="${maven.appserver.url}" />
- </ant:condition>
+ <!--
+ 1. First check that name and version properties have values
+ 2. Check the appserver name and version is supported by this plugin
+ 3. Check the home dir to make sure we can find the install
+ 4. Check the rest of the required properties
+ 5. Check the ports to make sure they are numbers only
+ -->
+
+ <define:taglib uri="http://www.maven.org/plugin/appserver/exception">
+ <define:tag name="requiredPropertyMissing">
+ <ant:fail message=" ">
+ --------------------------------------------------------------------------
+ | Plugin Configuration Error |
+ --------------------------------------------------------------------------
+
+ A required property is missing a value.
+
+ Property name: ${propname}
+
+ Errors must be corrected before using this plugin.
+
+ --------------------------------------------------------------------------
+ </ant:fail>
+ </define:tag>
+ <define:tag name="invalidPropertyDirectory">
+ <ant:fail message=" ">
+ --------------------------------------------------------------------------
+ | Plugin Configuration Error |
+ --------------------------------------------------------------------------
+
+ A required property is pointing to an invalid directory.
+
+ Property name: ${propname}
+ Invalid value: ${propvalue}
+
+ Errors must be corrected before using this plugin.
+
+ --------------------------------------------------------------------------
+ </ant:fail>
+ </define:tag>
+ <define:tag name="appserverNameNotSupported">
+ <ant:fail message=" ">
+ --------------------------------------------------------------------------
+ | Plugin Configuration Error |
+ --------------------------------------------------------------------------
+
+ The specified appserver name is currently not supported.
+
+ Property name: ${propname}
+ Property value: ${propvalue}
+
+ For supported ${propname} values, please see the help docs.
+
+ --------------------------------------------------------------------------
+ </ant:fail>
+ </define:tag>
+ <define:tag name="appserverVersionNotSupported">
+ <ant:fail message=" ">
+ --------------------------------------------------------------------------
+ | Plugin Configuration Error |
+ --------------------------------------------------------------------------
+
+ The specified version for the ${appserver} appserver is currently
+ not supported.
+
+ Property name: ${propname}
+ Property value: ${propvalue}
+
+ For supported ${propname} values, please see the help docs.
+
+ --------------------------------------------------------------------------
+ </ant:fail>
+ </define:tag>
+ </define:taglib>
+
+
+ <!-- Check required properties for a name and version first -->
+ <j:if test="${context.getVariable('maven.appserver.name') == null}">
+ <exception:requiredPropertyMissing propname="maven.appserver.name" />
+ </j:if>
+ <j:if test="${context.getVariable('maven.appserver.version') == null}">
+ <exception:requiredPropertyMissing propname="maven.appserver.version" />
+ </j:if>
- <!-- a flag to see if the appserver is installed -->
- <ant:available property="maven.appserver.installed"
- file="${maven.appserver.root}" type="dir" />
+ <!-- Check if the appserver name and version are supported -->
+ <j:choose>
+ <j:when test="${context.getVariable('maven.appserver.name') == 'tomcat'}">
+ <j:choose>
+ <j:when test="${context.getVariable('maven.appserver.version') == '4.0.x'}" />
+ <j:when test="${context.getVariable('maven.appserver.version') == '4.1.x'}" />
+ <j:otherwise>
+ <exception:appserverVersionNotSupported
+ appserver="${maven.appserver.name}"
+ propname="maven.appserver.version"
+ propvalue="${maven.appserver.version}" />
+ </j:otherwise>
+ </j:choose>
+ </j:when>
+ <j:otherwise>
+ <exception:appserverNameNotSupported propname="maven.appserver.name"
+ propvalue="${maven.appserver.name}" />
+ </j:otherwise>
+ </j:choose>
+
+ <!-- Check the home dir to see if it exists -->
+ <!-- hack to work around maven console caching property values -->
+ <j:remove var="maven.appserver.conf.dir.exists" />
+ <util:available file="${maven.appserver.home}">
+ <j:set var="maven.appserver.home.exists" value="true" />
+ </util:available>
+ <j:if test="${!context.getVariable('maven.appserver.home.exists')}">
+ <exception:invalidPropertyDirectory propname="maven.appserver.home"
+ propvalue="${maven.appserver.home}" />
+ </j:if>
+
+ <!-- Check the rest of the required properties -->
+ <j:if test="${context.getVariable('maven.appserver.dir') == null}">
+ <exception:requiredPropertyMissing propname="maven.appserver.dir" />
+ </j:if>
+ <j:if test="${context.getVariable('maven.appserver.test.socket') == null}">
+ <exception:requiredPropertyMissing propname="maven.appserver.test.socket" />
+ </j:if>
+ <j:if test="${context.getVariable('maven.appserver.root') == null}">
+ <exception:requiredPropertyMissing propname="maven.appserver.root" />
+ </j:if>
+
+ <!-- sanity check for preset variables -->
+ <j:choose>
+ <j:when test="${context.getVariable('maven.appserver.port.http') == null}">
+ <j:if test="${context.getVariable('maven.appserver.port.https') == null}">
+ <exception:requiredPropertyMissing
+ propname="maven.appserver.port.http OR maven.appserver.port.https" />
+ </j:if>
+ </j:when>
+ <j:when test="${context.getVariable('maven.appserver.port.https') == null}">
+ <j:if test="${context.getVariable('maven.appserver.port.http') == null}">
+ <exception:requiredPropertyMissing
+ propname="maven.appserver.port.http OR maven.appserver.port.https" />
+ </j:if>
+ </j:when>
+ </j:choose>
+
+ <!-- These are special cases where the user should not override -->
+ <j:if test="${context.getVariable('maven.appserver.fullname') == null}">
+ <exception:requiredPropertyMissing propname="maven.appserver.fullname" />
+ </j:if>
+ <j:remove var="maven.appserver.conf.dir.exists" />
+ <util:available file="${maven.appserver.conf.dir}">
+ <j:set var="maven.appserver.conf.dir.exists" value="true" />
+ </util:available>
+ <j:if test="${!context.getVariable('maven.appserver.conf.dir.exists')}">
+ <exception:invalidPropertyDirectory propname="maven.appserver.conf.dir"
+ propvalue="${maven.appserver.conf.dir}" />
+ </j:if>
<!-- convert all path related properties to their os equivalent -->
<ant:property name="maven.appserver.home.path"
@@ -38,23 +189,57 @@
<!-- create the filterset to be available to copy tasks that want it -->
<ant:filterset id="maven.appserver.filterset.default">
- <ant:filter token="maven.appserver.home" value="${maven.appserver.home.path}" />
- <ant:filter token="maven.appserver.name" value="${maven.appserver.name}" />
- <ant:filter token="maven.appserver.version" value="${maven.appserver.version}" />
- <ant:filter token="maven.appserver.port.http" value="${maven.appserver.port.http}" />
- <ant:filter token="maven.appserver.port.https" value="${maven.appserver.port.https}" />
- <ant:filter token="maven.appserver.port.one" value="${maven.appserver.port.one}" />
- <ant:filter token="maven.appserver.port.two" value="${maven.appserver.port.two}" />
- <ant:filter token="maven.appserver.port.three" value="${maven.appserver.port.three}" />
- <ant:filter token="maven.appserver.conf.dir" value="${maven.appserver.conf.dir.path}" />
- <ant:filter token="maven.appserver.host" value="${maven.appserver.host}" />
- <ant:filter token="maven.appserver.dir" value="${maven.appserver.dir.path}" />
- <ant:filter token="maven.appserver.root" value="${maven.appserver.root.path}" />
+ <ant:filter token="maven.appserver.home"
+ value="${maven.appserver.home.path}" />
+ <ant:filter token="maven.appserver.name"
+ value="${maven.appserver.name}" />
+ <ant:filter token="maven.appserver.version"
+ value="${maven.appserver.version}" />
+ <ant:filter token="maven.appserver.port.http"
+ value="${maven.appserver.port.http}" />
+ <ant:filter token="maven.appserver.port.https"
+ value="${maven.appserver.port.https}" />
+ <ant:filter token="maven.appserver.port.A"
+ value="${maven.appserver.port.A}" />
+ <ant:filter token="maven.appserver.port.B"
+ value="${maven.appserver.port.B}" />
+ <ant:filter token="maven.appserver.port.C"
+ value="${maven.appserver.port.C}" />
+ <ant:filter token="maven.appserver.conf.dir"
+ value="${maven.appserver.conf.dir.path}" />
+ <ant:filter token="maven.appserver.host"
+ value="${maven.appserver.host}" />
+ <ant:filter token="maven.appserver.dir"
+ value="${maven.appserver.dir.path}" />
+ <ant:filter token="maven.appserver.root"
+ value="${maven.appserver.root.path}" />
</ant:filterset>
- <ant:filterset id="maven.appserver.filterset">
- <ant:filter token="maven.appserver.NULLTOKEN" value="foobar" />
- </ant:filterset>
+ <!-- a flag to see if the appserver is started -->
+ <j:remove var="maven.appserver.started" />
+ <ant:condition property="maven.appserver.started">
+ <ant:and>
+ <ant:socket server="${maven.appserver.host}"
+ port="${maven.appserver.test.socket}" />
+ <!-- only use the test url if defined, else just use the socket -->
+ <j:if test="${context.getVariable('maven.appserver.test.url') != null}">
+ <ant:http url="${maven.appserver.test.url}" />
+ </j:if>
+ </ant:and>
+ </ant:condition>
+
+ <!-- a flag to see if the appserver is installed -->
+ <j:remove var="maven.appserver.installed" />
+ <ant:condition property="maven.appserver.installed">
+ <ant:and>
+ <ant:available file="${maven.appserver.root}" type="dir" />
+ <ant:available file="${maven.appserver.dir}" type="dir" />
+ </ant:and>
+ </ant:condition>
+
+ <j:if test="${context.getVariable('maven.appserver.started') == 'true' and context.getVariable('maven.appserver.installed') == 'true'}">
+ <j:set var="maven.appserver.installedAndStarted" value="true" />
+ </j:if>
<j:set var="maven.appserver.installed.msg">
<j:choose>
@@ -70,173 +255,333 @@
</j:choose>
</j:set>
- <log:info trim="false">Maven has determined your <j:expr value="${maven.appserver.fullname}"/> appserver instance is <j:expr value="${maven.appserver.installed.msg}"/> in directory [ <j:expr value="${maven.appserver.dir}"/> ] and <j:expr value="${maven.appserver.started.msg}"/> on <j:expr value="${maven.appserver.url}"/>
+ <j:if test="${context.getVariable('maven.appserver.test.url') != null}">
+ <log:info trim="false">
+Maven has determined your <j:expr value="${maven.appserver.fullname}"/> appserver instance is <j:expr value="${maven.appserver.installed.msg}"/> in directory [ <j:expr value="${maven.appserver.dir}"/> ] and <j:expr value="${maven.appserver.started.msg}"/> on <j:expr value="${maven.appserver.test.url}"/>
</log:info>
+ </j:if>
+
+ <j:if test="${context.getVariable('maven.appserver.test.url') == null}">
+ <log:info trim="false">
+Maven has determined your <j:expr value="${maven.appserver.fullname}"/> appserver instance is <j:expr value="${maven.appserver.installed.msg}"/> in directory [ <j:expr value="${maven.appserver.dir}"/> ] and <j:expr value="${maven.appserver.started.msg}"/> using socket <j:expr value="${maven.appserver.test.socket}"/> on host <j:expr value="${maven.appserver.host}"/>.
+ </log:info>
+ </j:if>
+
+ <!--==================================================================-->
+ <!-- C O R E -->
+ <!--==================================================================-->
+ <define:taglib uri="http://www.maven.org/plugin/appserver">
+
+ <!--==================================================================-->
+ <!-- C L E A N -->
+ <!--==================================================================-->
+ <define:tag name="clean">
+ <log:info trim="false">
+<j:expr value="${maven.appserver.fullname}" />: Deleting appserver instance ...
+ </log:info>
+ <attainGoal session="${context.getVariable('maven.session.global', 'parent')}"
+ name="appserver:clean-${maven.appserver.fullname}" />
+ <ant:delete dir="${maven.appserver.dir}"/>
+ </define:tag>
+
+ <!--==================================================================-->
+ <!-- I N S T A L L -->
+ <!--==================================================================-->
+ <define:tag name="install">
+ <log:info trim="false">
+<j:expr value="${maven.appserver.fullname}" />: Installing appserver instance ...
+ </log:info>
+ <attainGoal
+ session="${context.getVariable('maven.session.global', 'parent')}"
+ name="appserver:install-${maven.appserver.fullname}" />
+ </define:tag>
+
+ <!--==================================================================-->
+ <!-- R E I N S T A L L -->
+ <!--==================================================================-->
+ <define:tag name="reinstall">
+ <log:info trim="false">
+<j:expr value="${maven.appserver.fullname}" />: Re-installing appserver instance ...
+ </log:info>
+ <attainGoal session="${context.getVariable('maven.session.global', 'parent')}"
+ name="appserver:reinstall-${maven.appserver.fullname}" />
+ </define:tag>
+
+ <!--==================================================================-->
+ <!-- S T A R T -->
+ <!--==================================================================-->
+ <define:tag name="start">
+ <log:info trim="false">
+<j:expr value="${maven.appserver.fullname}" />: Starting appserver instance ...
+ </log:info>
+ <attainGoal
+ session="${context.getVariable('maven.session.global', 'parent')}"
+ name="appserver:start-${maven.appserver.fullname}" />
+ </define:tag>
+
+ <!--==================================================================-->
+ <!-- R E S T A R T -->
+ <!--==================================================================-->
+ <define:tag name="restart">
+ <log:info trim="false">
+<j:expr value="${maven.appserver.fullname}" />: Re-starting appserver instance ...
+ </log:info>
+ <attainGoal
+ session="${context.getVariable('maven.session.global', 'parent')}"
+ name="appserver:restart-${maven.appserver.fullname}" />
+ </define:tag>
+
+ <!--==================================================================-->
+ <!-- S T O P -->
+ <!--==================================================================-->
+ <define:tag name="stop">
+ <log:info trim="false">
+<j:expr value="${maven.appserver.fullname}" />: Stopping appserver instance ...
+ </log:info>
+ <attainGoal session="${context.getVariable('maven.session.global', 'parent')}"
+ name="appserver:stop-${maven.appserver.fullname}" />
+ </define:tag>
+
+ </define:taglib>
</goal>
<!--==================================================================-->
- <!-- I S T A L L -->
+ <!-- C Y C L E -->
<!--==================================================================-->
- <goal name="appserver:install" prereqs="appserver:init"
- description="Install or reinstall a appserver instance">
+ <goal name="appserver:cycle" prereqs="appserver:init"
+ description="Forced install and start of a appserver instance">
+ <!-- all goals will need a appserver dir -->
<ant:mkdir dir="${maven.appserver.dir}" />
+ <ant:mkdir dir="${maven.appserver.root}" />
<j:choose>
- <!-- not installed - simply install -->
- <j:when test="${!maven.appserver.installed}">
- <attainGoal name="appserver:install-${maven.appserver.fullname}" />
+ <!-- not installed - simply install and start-->
+ <j:when test="${context.getVariable('maven.appserver.installed') != 'true'}">
+ <appserver:install />
+ <appserver:start />
</j:when>
+
<!-- installed and stopped -->
- <j:when
- test="${maven.appserver.installed and !maven.appserver.started}">
- <attainGoal name="appserver:reinstall" />
+ <j:when test="${context.getVariable('maven.appserver.installed') == 'true' and context.getVariable('maven.appserver.started') != 'true'}">
+ <appserver:reinstall />
+ <appserver:start />
</j:when>
+
<!-- installed and started -->
- <j:when test="${maven.appserver.installed and !maven.appserver.started}">
- <attain>
- <attainGoal name="appserver:stop" />
- <attainGoal name="appserver:reinstall" />
- <attainGoal name="appserver:start" />
- </attain>
+ <j:when test="${context.getVariable('maven.appserver.installedAndStarted') == 'true'}">
+ <appserver:reinstall />
+ <appserver:restart />
</j:when>
<!-- one of those 'things' that should never happen -->
<j:otherwise>
- <log:info>
- Could not determine the current status for your
- <j:expr value="${maven.appserver.fullname}"/> instance.
- </log:info>
+ <ant:fail message=" ">
+ --------------------------------------------------------------------------
+ | Plugin Runtime Error |
+ --------------------------------------------------------------------------
+
+ Maven could not determine the current status for your <j:expr value="${maven.appserver.fullname}"/>
+ instance. This was an unexpected runtime error that should be reported.
+
+ --------------------------------------------------------------------------
+ </ant:fail>
</j:otherwise>
</j:choose>
</goal>
+
+ <!--==================================================================-->
+ <!-- I N S T A L L -->
+ <!--==================================================================-->
+ <goal name="appserver:install" prereqs="appserver:init"
+ description="Install a appserver instance">
+
+ <!-- all goals will need a appserver dir -->
+ <ant:mkdir dir="${maven.appserver.dir}" />
+ <ant:mkdir dir="${maven.appserver.root}" />
+
+ <j:choose>
+ <!-- not installed - simply install -->
+ <j:when test="${context.getVariable('maven.appserver.installed') != 'true'}">
+ <appserver:install />
+ </j:when>
+ <j:otherwise>
+ <ant:echo message=" ">
+ --------------------------------------------------------------------------
+ | Plugin Warning |
+ --------------------------------------------------------------------------
+
+ Appserver already installed
+
+ You may try
+ o appserver:reinstall
+
+ --------------------------------------------------------------------------
+ </ant:echo>
+ </j:otherwise>
+ </j:choose>
+
+ </goal>
+
+
<!--==================================================================-->
<!-- R E I N S T A L L -->
<!--==================================================================-->
<!-- the purpose of this target is to allow the user to be very -->
<!-- specific when using pre and post goals and sometimes there may -->
- <!-- be custom implementations of reinstall -->
+ <!-- be custom implementations of reinstall needed -->
+ <!-- by default we just call the install goal again -->
<goal name="appserver:reinstall"
- prereqs="appserver:init, appserver:install-${maven.appserver.fullname}"
- description="Reinstall a appserver instance" >
+ prereqs="appserver:init" description="Reinstall a appserver instance" >
+
+ <j:choose>
+ <j:when test="${context.getVariable('maven.appserver.installed') != 'true'}">
+ <ant:echo message=" ">
+ --------------------------------------------------------------------------
+ | Plugin Warning |
+ --------------------------------------------------------------------------
+
+ Appserver not yet installed
+
+ You may try
+ o appserver:install
+
+ --------------------------------------------------------------------------
+ </ant:echo>
+ </j:when>
+ <j:otherwise>
+ <appserver:reinstall />
+ </j:otherwise>
+ </j:choose>
</goal>
+
<!--==================================================================-->
<!-- S T A R T -->
<!--==================================================================-->
<goal name="appserver:start" prereqs="appserver:init"
- description="Start or restart a appserver instance">
-
- <!-- property to remember what goal the user first called -->
- <property name="appserver:start.called" value="true" />
+ description="Start a appserver instance">
- <!-- must install before starting -->
- <j:if test="${!maven.appserver.installed}">
- <log:info trim="false">
-
-Installing the <j:expr value="${maven.appserver.fullname}" /> appserver instance before starting it ...
+ <j:choose>
+ <j:when test="${context.getVariable('maven.appserver.installed') != 'true'}">
+ <ant:echo message=" ">
+ --------------------------------------------------------------------------
+ | Plugin Warning |
+ --------------------------------------------------------------------------
+
+ Appserver not yet installed
+
+ You may try
+ o appserver:install appserver:start
+ o appserver:cycle
- </log:info>
- <attainGoal name="appserver:install" />
- </j:if>
+ --------------------------------------------------------------------------
+ </ant:echo>
+ </j:when>
+ <j:when test="${context.getVariable('maven.appserver.started') == 'true'}">
+ <ant:echo message=" ">
+ --------------------------------------------------------------------------
+ | Plugin Warning |
+ --------------------------------------------------------------------------
+
+ Appserver already started
+
+ You may try
+ o appserver:restart
+ o appserver:cycle
- <j:choose>
- <j:when test="${maven.appserver.started}">
- <attain>
- <attainGoal name="appserver:stop" />
- <log:info>
- Restarting the <j:expr value="${maven.appserver.fullname}"/>
- appserver instance ...
- </log:info>
- <attainGoal name="appserver:restart" />
- </attain>
+ --------------------------------------------------------------------------
+ </ant:echo>
</j:when>
- <j:when test="${!maven.appserver.installed}">
- <log:info>
- Installing the <j:expr value="${maven.appserver.fullname}"/>
- appserver instance before starting it ...
- </log:info>
- <attainGoal name="appserver:install" />
- <attainGoal name="appserver:start-${maven.appserver.fullname}"/>
+ <j:when test="${context.getVariable('maven.appserver.installed') == 'true'}">
+ <appserver:start />
</j:when>
</j:choose>
</goal>
+
<!--==================================================================-->
<!-- R E S T A R T -->
<!--==================================================================-->
<!-- the purpose of this target is to allow the user to be very -->
<!-- specific when using pre and post goals -->
<goal name="appserver:restart"
- prereqs="appserver:init,appserver:restart-${maven.appserver.fullname}"
- description="Restart the web server instance">
- <!-- <attainGoal name="start-${maven.appserver.fullname}" /> -->
+ prereqs="appserver:init"
+ description="Restart a appserver instance">
+
+ <j:choose>
+ <j:when test="${context.getVariable('maven.appserver.started') == 'true'}">
+ <appserver:restart />
+ </j:when>
+ <j:otherwise>
+ <ant:echo message=" ">
+ --------------------------------------------------------------------------
+ | Plugin Warning |
+ --------------------------------------------------------------------------
+
+ Appserver not yet started
+
+ You may try
+ o appserver:start
+ o appserver:cycle
+
+ --------------------------------------------------------------------------
+ </ant:echo>
+ </j:otherwise>
+ </j:choose>
</goal>
+
<!--==================================================================-->
<!-- S T O P -->
<!--==================================================================-->
<goal name="appserver:stop" prereqs="appserver:init"
- description="Stop a appserver instance if started">
+ description="Stop a appserver instance">
<j:choose>
- <j:when test="${maven.appserver.installed and maven.appserver.started}">
- <attainGoal
- name="appserver:stop-${maven.appserver.fullname}" />
+ <j:when test="${context.getVariable('maven.appserver.installedAndStarted') == 'true'}">
+ <appserver:stop />
</j:when>
<j:otherwise>
- <j:if test="${!appserver-clean.called}">
- <log:info>
- The <j:expr value="${maven.appserver.fullname}"/>
- is already stopped!
- </log:info>
- </j:if>
+ <log:info trim="false">
+==> Appserver already stopped!
+ </log:info>
</j:otherwise>
</j:choose>
-
</goal>
+
<!--==================================================================-->
<!-- C L E A N -->
<!--==================================================================-->
<goal name="appserver:clean" prereqs="appserver:init"
description="Safely delete an installed appserver instance">
- <!-- property to remember what goal the user first called -->
- <property name="appserver:clean.called" value="true" />
+ <j:choose>
- <j:if test="${maven.appserver.started}">
- <log:info>
- Stopping the <j:expr value="${maven.appserver.fullname}" />
- appserver instance before deleting it...
- </log:info>
- <attainGoal name="appserver:stop" />
- </j:if>
-
- <j:if test="${maven.appserver.installed}">
- <log:info>
- Deleting the <j:expr value="${maven.appserver.fullname}" />
- appserver instance ...
- </log:info>
-
- <!-- allow appservers to have their own cleanup -->
- <attainGoal name="appserver:clean-${maven.appserver.fullname}" />
- <!-- by default cleanup the server dir -->
- <ant:delete dir="${maven.appserver.dir}"/>
+ <!-- started and installed -->
+ <j:when test="${context.getVariable('maven.appserver.installedAndStarted') == 'true'}">
+ <appserver:stop />
+ <appserver:clean />
+ </j:when>
- </j:if>
+ <!-- installed not started -->
+ <j:when test="${context.getVariable('maven.appserver.installed') == 'true'}">
+ <appserver:clean />
+ </j:when>
- <j:if test="${!maven.appserver.installed}">
- <log:info>
- The <j:expr value="${maven.appserver.fullname}"/>
- appserver instance is already cleaned!
- </log:info>
- </j:if>
+ <!-- already cleaned -->
+ <j:otherwise>
+ <log:info trim="false">
+==> Appserver already cleaned!
+ </log:info>
+ </j:otherwise>
+ </j:choose>
</goal>
</project>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org