[ 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