[ http://issues.apache.org/jira/browse/DDLUTILS-133?page=all ]
Thomas Dudziak updated DDLUTILS-133:
------------------------------------
Fix Version/s: 1.1
Sounds good too me ! Please check out whether you can use commons-cli
(http://jakarta.apache.org/commons/cli/) to do the commandline parsing.
Some suggestions:
* In general, it is most useful to have the CLI in one jar file with wrapper
shell script/batch files. Invocation then would be
java -jar ddlutils-cli.jar ...
or
ddlutils ...
* I would organize the commandline as follows:
ddlutils <main command> <options>
E.g. ddlutils createdb -cp $CLASSPATH -driver ... -username ...
* For entering the password, the commandline interface should provide some
interactive means (e.g. stdin).
* It is quite useful to allow the specification of options via properties
files. E.g.
ddlutils createdb -cp $CLASSPATH -options classpath:derby.properties
(loads the options file from the classpath) or
ddlutils createdb -cp $CLASSPATH -options derby/derby.properties
* Normal output should go to stdout (esp. if reading a schema XML from the
database) unless a -output (or similar) option is used. This makes piping quite
easy.
* Logging should be configured to print to stderr, and have WARN as default.
This can be done in code or via a log4j proeprties file embedded in the cli jar.
Let me know wdyt and if you need help with this.
> Command-Line Invoker
> --------------------
>
> Key: DDLUTILS-133
> URL: http://issues.apache.org/jira/browse/DDLUTILS-133
> Project: DdlUtils
> Issue Type: New Feature
> Components: Ant Tasks
> Reporter: Alexander Hars
> Assigned To: Thomas Dudziak
> Priority: Minor
> Fix For: 1.1
>
>
> We should be able to use DdlUtils even in non-Java, non-Ant environments. For
> example, I would like to use DdlUtils for running unit tests in PHP. My Php
> tests are not executed using Ant.
> It would not be very complicated to extend the tasks classes with a few
> CommandLine tasks. They can be modeled on the Ant tasks.
> Parameters could be, for example (just an initial set):
> cmd=(createDb | dropDb | SchemaToDb | DataToDb | DbToDtd | DataToFile |
> SchemaToFile | SchemaSqlToFile)
> driver=<database driver class>
> url=<database url>
> user=<databaser user name>
> password=<database password>
> file=<file to be written to or read from>
> ..
> This way, DdlUtils could be used very easily with many more programming
> languages and target environments. The programmer would only have to have the
> JRE, the DdlUtils jars (including dependencies) and the database driver
> installed to use DdlUtils.
> I am willing to do this, but need your feedback if this makes sense.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira