db-ddlutils-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Dudziak (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DDLUTILS-133) Command-Line Invoker
Date Thu, 23 Nov 2006 22:17:03 GMT
     [ 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

        

Mime
View raw message