dIon, thanks for url.  maven-was5-plugin does not provide goals to
setup/destroy cluster(s), start/stop cluster(s) and deploy/undeploy to/from
cluster(s).  I'll try to contact Richard Lewis-Shell to see his thoughts on
functionalities provided by both plug-ins (may be merge to one) but before
further development in this direction I still need to provide to my
corporate execs the answers to the following questions:

1.  What is the process of donating plugins to maven.apache?
2.  How long does it take to go through this process?
3.  Are there any requirements/obligations for further support of these
plugins on my part?

Thanks,
-edward

P.S.  Here is a listing of goals and table of properties used to control
plugins described in e-mail below (For best viewing paste it in
non-word-wrapped text editor (notepad, etc.):

1) plugin for weblogic 8.x  
2) plugin for websphere 5.x
3) plugin that executes goals provided by the previous 2 plugins. 
   Determination of which one to use is derived from the property set by
user.
   This property can indicate to use both plugins and the order of the
usage.

The following listing contains "<vendor>" that should be substituted by
either "weblogic" or "websphere". 
Here is the listing of goals provided by plugin 1 and 2:

<vendor>:init-env       -       setup your J2EE appserver environment
according to the properties that you specify in project.properties,
$USER_HOME/build.properties or properties provided on maven command line
(-Dprop.x=x -Dprop.y=y ...).

<vendor>:deploy-ejb     -       starts necessary servers and deploys your
ejb artifacts on <vendor>, this goal tries to attain
<vendor>:config-resources which in turn calls
${pom.artifactId}:<vendor>:config-resources goal before deploying ejb and
calls <vendor>:post-deploy-config-resources which calls
${pom.artifactId}:<vendor>:post-deploy-config-resources after ejb deployment

<vendor>:deploy-ear     -       starts necessary servers and deploys your
ear artifacts on <vendor>,      this goal tries to attain
<vendor>:config-resources which in turn calls
${pom.artifactId}:<vendor>:config-resources goal before deploying ear and
calls <vendor>:post-deploy-config-resources which calls
${pom.artifactId}:<vendor>:post-deploy-config-resources after ear deployment
                                
<vendor>:undeploy       -       starts necessary servers and undeploys your
j2ee artifacts from <vendor> this goal tries to attain
<vendor>:clean-resources which in turn calls
${pom.artifactId}:<vendor>:clean-resources goal before undeploying ejb and
calls <vendor>:post-undeploy-clean-resources which calls
${pom.artifactId}:<vendor>:post-undeploy-cleean-resources after undeployment


So what ${pom.artifactId}:websphere:blah-blah-blah and
${pom.artifactId}:weblogic:blah-blah-blah goals are for? 
 - These goals must be implemented in every J2EE project's maven.xml.
Implementation may be blank.  If you are deploying an artifact that requires
setup of J2EE resources (ex: deploy MDB that requires JMSQueue) then ths
goals should contain the implementation of setup and clean up of J2EE
resources (JMSQueue in this case).
        
${pom.artifactId}:<vendor>:config-resources     -       goal to accomplish
the setup of necessary J2EE resources on <vendor> required for successful
j2ee artifact deployment, this goal is called prior the j2ee artifact
deployment
                                                        
${pom.artifactId}:<vendor>:post-deploy-config-resources -       goal to
accomplish the setup of necessary J2EE resources on <vendor> required for
successful execution of j2ee artifact, this goal is called after j2ee
artifact deployment 

${pom.artifactId}:<vendor>:clean-resources      -       goal to accomplish
the cleanup of necessary J2EE resources from <vendor> required for
successful j2ee artifact undeployment, this goal is called prior the j2ee
artifact undeployment
                                                        
${pom.artifactId}:weblogic:post-undeploy-cleean-resources      - goal to
accomplish the cleanup of necessary J2EE resources from <vendor> after j2ee
artifact undeployment

<vendor>:clean-env      -       removes all managed servers and clusters
form <vendor> environment that were created at the attainment of
<vendor>:init-env goal

In addition you can use the following goals out of band to manage your J2EE
runtime environment

<vendor>:startadminserver       -       starts <vendor> adminserver
<vendor>:stopadminserver        -       stops <vendor> adminserver
<vendor>:startup                -       starts all <vendor> admin and
managed servers and clusters
<vendor>:shutdown               -       stops all <vendor> admin and managed
servers and clusters 
<vendor>:startmanagedservers    -       starts all <vendor> managed servers
and clusters
<vendor>:stopmanagedservers     -       stops all <vendor> managed servers
and clusters 
<vendor>:startstandaloneservers -       starts all <vendor> managed
standalone servers
<vendor>:stopstandaloneservers  -       stops all <vendor> managed
standalone servers
<vendor>:startclusters          -       starts all <vendor> managed clusters
<vendor>:stopclusters           -       stops all <vendor> managed clusters 

The following table lists the properties used to control the above plugins:

#---------------------------------------------------------------------------
----------------------------------------------------------------------------
------------------------------
# WebLogic properties                                           Required
Default                 Description     
#---------------------------------------------------------------------------
----------------------------------------------------------------------------
------------------------------

bea.home=d:/bea                                                 y
-                       specify the top level of bea installation directory
weblogic.config.dir=c:/bea                                      y
-                       specify the top level directory where to store
directories for domain configuration files
weblogic.domain=dev-domain                                      n
dev-domain              the name of the weblogic domain
weblogic.domain.dir=${weblogic.config.dir}/${weblogic.domain}   n
<- see value            directory where to store domain configuration files

weblogic.home=${bea.home}/weblogic81                            n
<- see value            directory of weblogic installation
weblogic.home.server.bin=${weblogic.home}/server/bin            n
<- see value            direcotry containing server executables
weblogic.java.home=${bea.home}/jdk141_03                        n
<- see value            weblogic java home 
weblogic.jar.files=${weblogic.home}/server/lib/weblogic.jar     n
<- see value            list of jars required to construct the classpath to
run weblogic

weblogic.admin.server.name=aserver                              n
-                       logical name of administration server
weblogic.admin.server.protocol=http                             y
http                    admin server listen protocol
weblogic.admin.server.port=7001                                 n
7001                    admin server listen port
weblogic.admin.server.node=weblogic.node.1                      n
weblogic.node.1         reference to the node that hosts admin server
weblogic.admin.username=WEBLOGIC_ADMIN_USERNAME_INVALID         y
-                       weblogic administrative user name

weblogic.admin.password=WEBLOGIC_ADMIN_PASSWORD_INVALID         y
-                       weblogic administrative user password

#Node declaration.  [1..N]
weblogic.node.1.name=localhost                                  n
localhost               logical name of the host for the first node     
weblogic.node.1.host=localhost                                  n
localhost               node manager host of the first node
weblogic.node.1.manager.port=5555                               n
5555                    node manager listen port of the first node
.................................
.................................
.................................
weblogic.node.N.name=localhost                                  n
-                       logical name of the host for the Nth node, value is
required for this property if any server references Nth node            
weblogic.node.N.host=localhost                                  n
-                       node manager host of the Nth node, value is required
for this property if any server references Nth node             
weblogic.node.N.manager.port=5555                               n
-                       node manager listen port of the Nth node, value is
required for this property if any server references Nth node            

#Managed server declaration.  [0..M]
weblogic.num.managed.servers=M                                  n
-                       number of managed servers to consider for the
environment.
        
a value indicates the minimum number of managed servers that has to be
declared in this file
        
set this number to 0 for deployment of admin server only.
        
a value of atleas 1 is strongly recommended
weblogic.managed.server.1.name=mserver-1                        n
-                       logical name of the host for the first managed
server, value is required for this property if weblogic.num.managed.servers
>= 1
weblogic.managed.server.1.port=7061                             n
-                       listen port for the first managed server, value is
required for this property if weblogic.num.managed.servers >= 1
weblogic.managed.server.1.node=weblogic.node.1                  n
-                       reference to the node that hosts this managed
server, value is required for this property if weblogic.num.managed.servers
>= 1
weblogic.managed.server.1.cluster=weblogic.cluster.1            n
-                       reference to the cluster that this managed server is
part of, value is optional, if not provided - managed server is considered
as stand-alone
.................................
.................................
.................................

weblogic.managed.server.M.name=mserver-M
weblogic.managed.server.M.port=
weblogic.managed.server.M.node=weblogic.node.N
weblogic.managed.server.M.cluster=weblogic.cluster.Y

#Cluster declaration.  [0..Y]
weblogic.num.clusters=Y                                         n
-                       number of managed clusters to consider for the
environment, value indicates the minimum number of managed clusters that has
to be declared in this file
weblogic.cluster.1.name=dev-cluster                             n
-                       logical name of the first managed cluster, unique
across clusters in the domain, value is required for this property if
weblogic.num.clusters >= 1
weblogic.cluster.1.multicast.address=                           n
-                       multicast address of the first cluster, value is
required for this property if weblogic.num.clusters >= 1, it is strongly
recommended not to share the same multicast address across multiple
clusters/developers
weblogic.cluster.1.address=SPECIFY_ADDRESS                      n
-                       listen address for this cluster, value is required
for this property if weblogic.num.clusters >= 1
.................................
.................................
.................................
weblogic.cluster.Y.name=dev-clusterY
weblogic.cluster.Y.multicast.address=SPECIFY_MULTICAST_ADDRESS
weblogic.cluster.Y.address=SPECIFY_ADDRESS

weblogic.deployment.target.names=${weblogic.managed.server.1.name} n
-                       a comma separated list of target managed servers and
clusters to deploy J2EE artifact to


#---------------------------------------------------------------------------
----------------------------------------------------------------------------
------------------------------
# WebSphere properties
Required        Default                 Description     
#---------------------------------------------------------------------------
----------------------------------------------------------------------------
------------------------------
#<PLUGIN DEV PROPERTIES>
websphere.script.Linux.ext=.sh
n               .sh                     websphere scripts extension on Linux
platform
websphere.script.SunOS.ext=.sh
n               .sh                     websphere scripts extension on SunOS
platform
websphere.script.Windows\ 2000.ext=.bat
n               .bat                    websphere scripts extension on Win
2000 platform
websphere.script.Windows\ XP.ext=.bat
n               .bat

websphere.appserver.start.script=${websphere.appserver.bin.dir}/startServer
n               <- see value            path to the script used to start
WebSphere Base Product server
websphere.appserver.start.script.options=
n               -                       options to pass to the script that
is used to start WebSphere Base Product server
websphere.appserver.stop.script=${websphere.appserver.bin.dir}/stopServer
n               <- see value            path to the script used to stop
WebSphere Base Product server
websphere.appserver.stop.script.options=
n               -                       options to pass to the script that
is used to stop WebSphere Base Product server

websphere.dmgr.start.script=${websphere.dmgr.bin.dir}/startManager
n               <- see value            path to the script used to start
WebSphere Network Deployment server (Deployment Manager)
websphere.dmgr.start.script.options=
n               -                       options to pass to the script that
is used to start Network Deployment server (Deployment Manager)
websphere.dmgr.stop.script=${websphere.dmgr.bin.dir}/stopManager
n               <- see value            path to the script used to stop
WebSphere Network Deployment server (Deployment Manager)
websphere.dmgr.stop.script.options=
n               -                       options to pass to the script that
is used to stop Network Deployment server (Deployment Manager)

#TODO websphere.admin.server.start.max.wait=60
#TODO websphere.admin.server.stop.max.wait=0
#TODO websphere.managed.server.N.start.max.wait=60

websphere.node.start.script=${websphere.appserver.bin.dir}/startNode
n               <- see value            path to the script used to start
Node Manager for WebSphere Base Product servers in the Network Deployment
environment
websphere.node.stop.script=${websphere.appserver.bin.dir}/stopNode
n               <- see value            path to the script used to stop Node
Manager for WebSphere Base Product servers in the Network Deployment
environment

websphere.admin.script.name=wsadmin
n               <- see value            the name of the script used for
WebSphere administration
websphere.admin.script=${websphere.appserver.bin.dir}/${websphere.admin.scri
pt.name} n              <- see value            path to the script used for
WebSphere administration
websphere.admin.script.options=
n               -                       options to pass to the script that
is used for WebSphere administration
websphere.admin.username=
n               -                       websphere administrative user name
websphere.admin.password=
n               -                       websphere administrative password
</PLUGIN DEV PROPERTIES>


#<DESCRIBE WHAT YOU HAVE>
websphere.home=WAS_HOME_INVALID
y               -                       top level websphere installation
directory
websphere.appserver.home=${websphere.home}/appserver
y               <- see value            websphere appserver installation
directory
websphere.appserver.bin.dir=${websphere.appserver.home}/bin
y               <- see value            websphere appserver directory
containing appserver executables
websphere.appserver.port=9090
n               9090                    appserver listen port, required for
WebSphere Base Product Deployment
websphere.appserver.name=server1
n               server1                 logical name of appserver, required
for WebSphere Base Product Deployment
websphere.appserver.node=websphere.node.1
n               <- see value            reference to the node that hosts
appserver

websphere.cell=${env.COMPUTERNAME}Network
y(unix)         - on unix               the name of the websphere cell,
${env.HOSTNAME}Network recommended for unix platforms
        
<-- see value on win
websphere.java.home=${websphere.appserver.home}/java
n               <- see value            weblsphere java home 

#Node declaration.  [0..N]
websphere.node.1.name=${env.COMPUTERNAME}
y(unix)         - on unix               logical name of the host for the
first node, ${env.HOSTNAME} recommended for unix platforms
        
<- see value on win     
websphere.node.1.host=localhost
n               localhost               node manager host of the first node
websphere.node.1.manager.port=
y               -                       node manager listen port of the
first node
websphere.node.2.name=${env.COMPUTERNAME}Manager
y(unix)         - on unix               logical name of the host for the
second node, ${env.HOSTNAME} recommended for unix platforms
        
<- see value on win
websphere.node.2.host=localhost
n               localhost               node manager host of the second
node, this node is declared to host Deployment Manager and is sharing the
same host as the first node, required for Base plus Network Deployment
installation
websphere.node.2.manager.port=
n               -                       node manager listen port of the
second node, required for Base plus Network Deployment installation
..............................................
..............................................
..............................................
websphere.node.N.name=
n               -                       logical name of the host for the
first node, value is required for this property if any server references Nth
node            
websphere.node.N.host=
n               -                       node manager host of the first node,
value is required for this property if any server references Nth node

websphere.node.N.manager.port=
n               -                       node manager listen port of the Nth
node, value is required for this property if any server references Nth node


#Deployment manager declaration.  [0..1]
necessary for WebSphere Network Deployment installation
websphere.dmgr.home=${websphere.home}/deploymentmanager
n               <- see value            websphere deployment manager
directory
websphere.dmgr.bin.dir=${websphere.dmgr.home}/bin
n               <- see value            websphere deployment manager
directory containing executables
websphere.dmgr.server.port=9091
n               <- see value            websphere deployment manager port
websphere.dmgr.server.name=dmgr
n               dmgr                    websphere deployment manager logical
name
websphere.dmgr.server.node=websphere.node.2
n               <- see value            reference to the node that hosts
deployment manager
#</DESCRIBE WHAT YOU HAVE>

#<DESCRIBE WHAT YOU WANT TO HAVE>
websphere.num.clusters=1
websphere.cluster.1.name=dev-cluster
n               -                       logical name of the first managed
cluster, unique across clusters in the cell, value is required for this
property if websphere.num.clusters >= 1
websphere.cluster.1.address=SPECIFY-ADDRESS
n               -                       listen address for this cluster,
value is required for this property if websphere.num.clusters >= 1
..............................................
..............................................
..............................................
websphere.cluster.Y.name=dev-clusterY
websphere.cluster.Y.address=SPECIFY_ADDRESS

#Managed server declaration.  [0..M]
websphere.num.managed.servers=M
websphere.managed.server.1.name=mserver-1
n               -                       logical name of the host for the
first managed server, value is required for this property if
websphere.num.managed.servers >= 1
websphere.managed.server.1.port=
n               -                       listen port for the first managed
server, value is required for this property if
weblogic.num.websphere.servers >= 1
websphere.managed.server.1.node=websphere.node.1
n               -                       reference to the node that hosts
this managed server, value is required for this property if
websphere.num.managed.servers >= 1
websphere.managed.server.1.cluster=websphere.cluster.1
n
..............................................
..............................................
..............................................
..............................................
websphere.managed.server.M.name=mserver-M
websphere.managed.server.M.port=
websphere.managed.server.M.node=websphere.node.N
websphere.managed.server.M.cluster=websphere.cluster.Y
</DESCRIBE WHAT YOU WANT TO HAVE>

<ADDITIONAL PROPERTIES FROM $COMPONENT_DIR/project.properties>
#websphere deployment properties
set of properties related to deployment of J2EE artifact produced by this
project
${maven.final.name}.websphere.path=
n               maven.target.dir        path to the directory containing
J2EE artifact produced by this project

${maven.final.name}.websphere.install.options=
y               -                       install options required for J2EE
artifact deployment.  deploy your artifact using wsadmin $AdminApp
installInteractive command and look for this string in wsadmin.log file
${maven.final.name}.websphere.uninstall.options=
n               -                       uninstall options, usually none.
</ADDITIONAL PROPERTIES FROM $COMPONENT_DIR/project.properties>


-----------------------------------------------------------------
Subject: contribution/donation of websphere 5.x and weblogic 8.x plugins
From: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
Date: Sun, 14 Mar 2004 02:22:14 +1100
Content-Type: multipart/alternative; boundary="=_alternative
005330D2CA256E56_="

FYI, there is a websphere 5.x plugin under development on sourceforge.

See http://maven-plugins.sourceforge.net/maven-was5-plugin/
--
dIon Gillard, Multitask Consulting

----------------------------------------------------------------------

"Kaganovich, Edward" <[EMAIL PROTECTED]> wrote on 13/03/2004 
08:18:39 PM:

> 
> Hello All, let me first appologize if I'm using wrong mailing list.  I 
have
> developed the following plugins that I'm interested to donate to
> maven.apache for further development and maintanence:
> 
> 1) plugin for weblogic 8.x 
> 2) plugin for websphere 5.x
> 3) plugin that executes goals provided by the previous 2 plugins.
> Determination of which one to use is derived from the property set by 
user.
> This property can indicate to use both plugins and the order of the 
usage.
> 
> The first two plugins provide symmetric functionality to setup/destroy
> servers/clusters; startup/shutdown of servers/clusters; ejb/ear (war, 
rar
> type artifacts can be added easily) deployment/undeployment to
> servers/clusters or subset of servers in a cluster; j2ee resource
> setup/destroy from servers/clusters.  So before you dive into the 
details of
> these plugins I'm looking for answers to the following questions:
> 
> 1.  What is the process of donating plugins to maven.apache?
> 2.  How long does it take to go through this process?
> 3.  Are there any requirements/obligations for further support of these
> plugins on my part?
> 
> I need these answers to provide to corporate execs before they can make 
any
> decisions on the donation of these plugins. (There may be follow up
> questions)
> 
> The attached file contains the listing of goals and properties used to
> control the above plugins.
> 
> Thanks for your feedback and response.
> -edward

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to