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
