geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dain Sundstrom <dsundst...@gluecode.com>
Subject Re: Please Vote: 1 deployment tool or 2?
Date Thu, 28 Oct 2004 16:48:37 GMT
On Oct 27, 2004, at 5:49 PM, Aaron Mulder wrote:

> 	I vote for two tools.
>
> 	If we end up with one tool, here's my thoughts on the syntax.  If
> you read the first few options, you'll understand why I think it's too
> cumbersome to have one tool.

I think the problem is your are trying to write the "universal adapter"

> --install       add module to server environment, don't start it.
>                    module AND/OR plan required if no URL is provided
>                    and the deployer JAR is in the destination Geronimo
>                    tree.  module AND plan required if a URL is 
> provided.
>
> --deploy        add module to server environment and start it
>                    module and plan are required, targets optional
>
> --start         start a module that's available but not running
>                    modulelist required
>
> --stop          stop a module that's running
>                    modulelist required
>
> --undeploy      stop (if necessary) and remove a module
>                    modulelist required

These are the main commands.  I like hiram's idea of dropping the -- 
from them like svn and cvs do.  I don't see why you have extra 
restrictions on install.  Actually, why not just drop install since it 
is just deploy?

> --module        module to install or deploy
>
> --plan          deployment plan for module to install or deploy

These are the most common options and should be shortened and 
simplified.  For example the tool really requires one or two files when 
installing, a jar file and an xml file.  You can determine which one is 
which, by simply looking at the magic number of each file.

> --url           URL to contact the management server.  Required if the
>                    deployer JAR is not IN the destination Geronimo
>                    tree or if you want to connect to a remote server or
>                    a server other than Geronimo.  Not compatible with
>                    --classPath, --mainClass, or --outfile options.
>                    Defaults to null if the command is install and the
>                    --targets option is not specified, or if the
>                    mainClass, outfile, or classPath arguments are
>                    specified.  Defaults to Geronimo on localhost if the
>                    start, stop, deploy, undeploy, list-targets, or
>                    list-modules commands are given, or the install
>                    command with the --targets option.

+1

>
> --modulelist    a list of TargetModuleID names to start, stop, or
>                    undeploy
>
> --list-modules  gives you a list of modules available from the
>                    management server you connected to.  defaults
>                    to all targets, or use --targets

What is the difference between these two?

>
> --help          this list

+1

> --list-targets  gives you a list of targets available from the
>                    management server you connected to
>
>  --targets       a list of targets to get modules for, or to install
>                    or deploy to.  defaults to all targets available
>                    from the current management server if a URL is
>                    specified or defaulted to.  defaults to the current
>                    server environment only if the URL is null.

These are almost never going to be used, so should be documented as such

> --classPath     classpath to set for an executable module
>
> --mainClass     main class for an executable module
>
> --outfile       build a CAR instead of deploying into the server
>                    environment

Options of creating an output Jar... these are rarely used and should 
be documented as such.

> --driver        JAR of the server driver, if not already on classpath.
>                    only necessary when non-Geronimo server targeted

I don't think there is any reason for us to support other app servers 
drivers.  This is a tool by geronimo for geronimo.  Let the ide vendors 
come up with the universal adapter.

So I see the following as being the most common usage:

deployer deploy funk.war
deployer undeploy funk

-dain


Mime
View raw message