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



Reply via email to