You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by "Mark Hobson (JIRA)" <ji...@codehaus.org> on 2005/08/27 23:12:03 UTC

[jira] Updated: (MNG-785) m2 tomcat plugin

     [ http://jira.codehaus.org/browse/MNG-785?page=all ]

Mark Hobson updated MNG-785:
----------------------------

    Attachment: maven-tomcat-plugin.tar.gz

mojo.codehaus.org submission

> m2 tomcat plugin
> ----------------
>
>          Key: MNG-785
>          URL: http://jira.codehaus.org/browse/MNG-785
>      Project: Maven 2
>         Type: New Feature
>   Components: maven-plugins
>     Versions: 2.0-beta-1
>     Reporter: Mark Hobson
>  Attachments: maven-tomcat-plugin.tar.gz, maven-tomcat-plugin.zip
>
>
> See attached for an initial stab at a m2 Tomcat plugin.  The plugin provides the following goals:
> tomcat:deploy
> tomcat:undeploy
> tomcat:reload
> tomcat:start
> tomcat:stop
> It's geared towards Tomcat 5.5 in which the install/remove commands are depreciated in preference of deploy/undeploy.  It shouldn't be much work to add these for Tomcat 5.0 users if necessary.
> I tried to keep the config to a minimum since the vast number of deployment options that Tomcat provides tends to complicate plugins.  The core config params for all tasks are:
> url - the Tomcat manager URL (default = "http://localhost:8080/manager")
> username - the Tomcat manager username (default = "admin")
> password - the Tomcat manager password (default = "")
> charset - the Tomcat manager request URL encoding charset (default = "ISO-8859-1")
> path - the web context path (default = "/${project.build.finalName}")
> The tomcat:deploy goal requires further parameters to customise the type of deployment.  After considering the various deployment methods supported by manager, I decided that the project-centric ones applicable to a m2 plugin come down to three modes of operation:
> remote
> - the war is deployed via a HTTP PUT to manager
> - war plugin mode must be "normal" (i.e. not exploded)
> - suitable for cross-network
> local
> - the war is deployed by supplying a path to the war file/dir
> - the war plugin mode config param determines whether the war is deployed as a file or as a dir
> - suitable for localhost tomcat
> inplace
> - the war is deployed via a context.xml file that refers to the war dir
> - the war plugin mode must be exploded
> - suitable for dev
> The other Tomcat deployment methods didn't seem too useful for project-orientation deployment - they are summarised here:
> http://jakarta.apache.org/tomcat/tomcat-5.5-doc/manager-howto.html#Deploy%20A%20New%20Application%20from%20a%20Local%20Path
> So the tomcat:deploy specific config params are:
> mode - "remote", "local" or "inplace" (default = "remote")
> war - the war file path (default = "${project.build.directory}/${project.build.finalName}.war")
> warDir - the war dir path (default = "${project.build.directory}/${project.build.finalName}")
> config - the context.xml path (default = "${project.build.directory}/${project.build.finalName}/META-INF/context.xml")
> update - whether to undeploy before deploying (default = false)
> When deploying inplace the context.xml Context/@docBase attribute needs to be set to the war dir.  I noticed the discussion on the m2 mailing list regarding resource filtering, so hopefully that can perform this task pre-war.
> The code is inspired by the Tomcat Ant tasks, but rewritten for m2.  This is my first m2 plugin so any constructive comments are welcome!  In particular, feedback on the following would be appreciated:
> - opinions on the remote/local/inplace mode of operations
> - any config options I've missed
> - is the method of introspecting the war plugin config the norm, or is there a nicer way?
> You're welcome to the code & I'm happy to adopt this plugin time-permitting.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org