git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@113286 13f79535-47bb-0310-9956-ffa450edef68
167 lines
5.9 KiB
XML
167 lines
5.9 KiB
XML
<?xml version="1.0"?>
|
|
|
|
<!--
|
|
=============================================================================
|
|
JBoss plugin for Maven. Contains JBoss related goals useful for
|
|
packaging and deploying applications.
|
|
=============================================================================
|
|
-->
|
|
<project xmlns:j="jelly:core">
|
|
|
|
<!--
|
|
========================================================================
|
|
Default goal.
|
|
========================================================================
|
|
-->
|
|
<goal name="jboss"
|
|
description="Creates a specific JBoss server configuration"
|
|
prereqs="jboss:package"/>
|
|
|
|
<!--
|
|
========================================================================
|
|
Initializations.
|
|
========================================================================
|
|
-->
|
|
<goal name="jboss:init">
|
|
|
|
<!-- Check if the maven.jboss.home mandatory property is set -->
|
|
<j:set var="jbosshomeX" value="${maven.jboss.home}X"/>
|
|
<j:choose>
|
|
<j:when test="${jbosshomeX == 'X'}">
|
|
<fail>You need to set the maven.jboss.home property</fail>
|
|
</j:when>
|
|
<j:otherwise>
|
|
<echo>Using JBoss from ${maven.jboss.home} ...</echo>
|
|
</j:otherwise>
|
|
</j:choose>
|
|
|
|
<property name="maven.jboss.build.deploy.dir"
|
|
value="${maven.jboss.build.dir}/${maven.jboss.conf.name}/deploy"/>
|
|
<property name="maven.jboss.build.lib.dir"
|
|
value="${maven.jboss.build.dir}/${maven.jboss.conf.name}/lib"/>
|
|
<property name="maven.jboss.build.conf.dir"
|
|
value="${maven.jboss.build.dir}/${maven.jboss.conf.name}/conf"/>
|
|
|
|
</goal>
|
|
|
|
<!--
|
|
========================================================================
|
|
Creates a JBoss server configuration directory structure, packaging
|
|
the application EAR in it.
|
|
========================================================================
|
|
-->
|
|
<goal name="jboss:package"
|
|
description="Creates a specific JBoss server configuration"
|
|
prereqs="ear:ear,jboss:init">
|
|
|
|
<!-- Copy the EAR to install to the JBoss deploy dir. -->
|
|
<copy file="${maven.build.dir}/${maven.final.name}.ear"
|
|
todir="${maven.jboss.build.deploy.dir}"/>
|
|
|
|
<!-- Copy the JBoss jars from an existing JBoss default server
|
|
configuration to our specific configuration -->
|
|
<copy todir="${maven.jboss.build.lib.dir}">
|
|
<fileset dir="${maven.jboss.default.lib.dir}"
|
|
includes="${maven.jboss.default.lib.includes}"
|
|
excludes="${maven.jboss.default.lib.excludes}"/>
|
|
</copy>
|
|
|
|
<!-- Copy the JBoss default conf files from an existing JBoss
|
|
server configuration to our specific configuration -->
|
|
<copy todir="${maven.jboss.build.conf.dir}">
|
|
<fileset dir="${maven.jboss.default.conf.dir}"
|
|
includes="${maven.jboss.default.conf.includes}"
|
|
excludes="${maven.jboss.default.conf.excludes}"/>
|
|
</copy>
|
|
|
|
<!-- Copy the JBoss default deploy files from an existing JBoss
|
|
server configuration to our specific configuration -->
|
|
<copy todir="${maven.jboss.build.deploy.dir}">
|
|
<fileset dir="${maven.jboss.default.deploy.dir}"
|
|
includes="${maven.jboss.default.deploy.includes}"
|
|
excludes="${maven.jboss.default.deploy.excludes}"/>
|
|
</copy>
|
|
|
|
<!-- Copy the application-specific JBoss conf files to our
|
|
specific configuration (if any) -->
|
|
<j:set var="jbossconfX" value="${maven.jboss.conf.dir}X"/>
|
|
<j:if test="${jbossconfX != 'X'}">
|
|
<copy todir="${maven.jboss.build.conf.dir}">
|
|
<fileset dir="${maven.jboss.conf.dir}"/>
|
|
</copy>
|
|
</j:if>
|
|
|
|
<!-- Copy the application-specific JBoss deploy files to our
|
|
specific configuration (if any) -->
|
|
<j:set var="jbossdeployX" value="${maven.jboss.deploy.dir}X"/>
|
|
<j:if test="${jbossdeployX != 'X'}">
|
|
<copy todir="${maven.jboss.build.deploy.dir}">
|
|
<fileset dir="${maven.jboss.deploy.dir}"/>
|
|
</copy>
|
|
</j:if>
|
|
|
|
<!-- Copy the application-specific conf files to our
|
|
specific configuration (if any) -->
|
|
<j:set var="jbossappconfX" value="${maven.jboss.appconf.dir}X"/>
|
|
<j:if test="${jbossappconfX != 'X'}">
|
|
<copy todir="${maven.jboss.build.conf.dir}">
|
|
<fileset dir="${maven.jboss.appconf.dir}"/>
|
|
</copy>
|
|
</j:if>
|
|
|
|
<!-- Generate the distributable -->
|
|
<zip destfile="${maven.build.dir}/${pom.artifactId}-${pom.currentVersion}.zip">
|
|
<zipfileset dir="${maven.jboss.build.dir}/${maven.jboss.conf.name}"
|
|
prefix="${maven.jboss.conf.name}"/>
|
|
</zip>
|
|
|
|
</goal>
|
|
|
|
<!--
|
|
========================================================================
|
|
Start JBoss using our specific server configuration.
|
|
========================================================================
|
|
-->
|
|
<goal name="jboss:start" prereqs="jboss:init"
|
|
description="Starts JBoss with our specific server configuration">
|
|
|
|
<java classname="org.jboss.Main" fork="yes" dir="${maven.jboss.home}/bin">
|
|
|
|
<sysproperty key="program.name" file="${maven.jboss.home}/bin/run.bat"/>
|
|
<sysproperty key="jboss.server.home.dir"
|
|
file="${maven.jboss.build.dir}/${maven.jboss.conf.name}"/>
|
|
<sysproperty key="jboss.server.home.url"
|
|
value="file:/${maven.jboss.build.dir}/${maven.jboss.conf.name}"/>
|
|
|
|
<arg line="-c ${maven.jboss.conf.name}"/>
|
|
|
|
<classpath>
|
|
<pathelement location="${maven.jboss.home}/bin/run.jar"/>
|
|
<pathelement path="${java.home}/../lib/tools.jar"/>
|
|
</classpath>
|
|
|
|
</java>
|
|
|
|
</goal>
|
|
|
|
<!--
|
|
========================================================================
|
|
Stop JBoss.
|
|
========================================================================
|
|
-->
|
|
<goal name="jboss:stop" prereqs="jboss:init"
|
|
description="Stops JBoss">
|
|
|
|
<java classname="org.jboss.Shutdown" fork="yes">
|
|
<arg value="localhost"/>
|
|
|
|
<classpath>
|
|
<pathelement location="${maven.jboss.home}/bin/shutdown.jar"/>
|
|
</classpath>
|
|
|
|
</java>
|
|
|
|
</goal>
|
|
|
|
</project>
|