Command line interface

If you take a look at toolkit/bin/qxtransformer.json file which you include in your project's config you can notice shell command. It's how qxtransformer is called from qooxdoo toolchain.


Let's take a look closer:


"command" : "${PYTHON} ${QXTRANSFORMER_PATH}/bin/${QXTRANSFORMER} --dir source/class --out source/class -v '${QXT_VERBOSE}'"


As you can see, there are 3 options in this command:

1) --dir is a directory where your xml files are located (by default this is a source/class directory, but if you want to separate your xml files and your classes, you can use any other location under the project's folder).

2) --out is a directory where to place generated code (source/class)

3) -v defines logging options. By default logging option is set to INFO level just to don't bother you with a lot of details. But if you would like to debug or just see what qxtransformer does deep inside you can redefine this constant and use for example "main:DEBUG;dev:DEBUG;" value. You will see every step from loading configuration and dialect settings to processing each tag and each attribute. It is helpful when you need to see how particular tag was processed, which template was used to render this tags, see expanded tags config, etc. Just try to run your application with this settings. Define 


"let": {

....

"QXT_VERBOSE": "main:DEBUG;dev:DEBUG;",

....

}


constant in "let" section of your project's config.


Okay, now it's time to get to know what qxtransformer does to process XML files to JavaScript code.