After trying the previous build systems I can say that Cmd v3 is a huge step in the right direction. Keep going.

I've got some feedback on the generated ExtJS app and an exception I can't get past that mikih was also seeing here.

Feedback:

the Main view is generated but not hooked up in the Viewport - seems strange and incomplete but easy to correct

the app.js contains a view: ["Main"] - shouldn't this be on the Main.js controller?

Main.js view would/should have an alias defined, e.g. "widget:Main" ?

The template code uses double quotes for the views and controllers arrays, i.e. substituted text...is this a 'standard' or an artifact of the template processing? When should one use single vs double quotes? Does it matter?

Yeah, the Main view is not used anywhere but yes it should get an alias much like Viewport should get an alias. All views should have one. I believe the reason it is not used anywhere is because the template file is used for any view that you create using Sencha Cmd and by default it creates the Main view.

Having the Main view in app.js or a controller is really a matter of where it is used. IMO, the Viewport class likely should be using the Main view so it should require the Main view not app.js or the controller.

About the double or single quotes, this is a simple template that could be fixed to use single quotes.

The NullPointerException I was seeing with build 141 while doing a 'sencha app build' immediately after generating the raw MyApp has gone - yay!...but it doesn't appear to have done the equivalent build...Compass and sprite tasks seemed to have been skipped.

Also, when I go in to the build folder and launch the index.html it doesn't load because the all-classes.js path is off. The compiler puts my files under a sub-folder (defaults to MyApp) and this is missing from the script tag. Thats easy enough to fix manually...but should be fixed.

Try running the command with the "-debug" switch (as in "sencha -debug ant build") and see what you get.

The "app.dir" property is set by Sencha Cmd based on the application as determined by your current directory. If you current directory is not the application root folder (or a sub-folder), this could be the cause.

I'm running the refresh command from inside the testapp folder...this folder was created using...

Code:

sencha generate app MyApp ./testapp

I've installed Cmd in the recommended location...

Code:

/Users/huwjones/bin/Sencha/Cmd/3.0.0.181

and the sencha.cfg file contains the following...

Code:

# This is the Sencha Cmd version. By defining this property, we are declaring this
# folder to be a Sencha Cmd installation folder.
cmd.version=3.0.0.181
# This version indicates the level of backwards compatibility provided. That is to say,
# users requiring versions between tools.minver and tools.version (inclusive) should be
# able to use this version.
cmd.minver=3.0.0.0
cmd.jvm.args=-Xms128m -Xmx512m
sencha#sdk=/Users/huwjones/bin/Sencha/sdk/ext-4.1.1a

NOTE: I added the sdk path here so I don't have to keep specifying it on the command line

Specifying the sdk option in the sencha.cfg doesn't appear to work.
It DOES use the path there as my generated apps appear to get all the right ext files from the specified framework.
But for some reason 'app.dir' is not setup or evaluated correctly.

When I generate an app using the -sdk option on the command line then subsequent calls work.

I think at some point soon you need to clean up the help (which I like) but add some better validation and feedback.

A specific example would be: sencha app upgrade -p ext

I've been having problems getting the upgrade command to work at all.
On examination the -p can be dropped as it just controls the color output.
The ext (path to the ext framework install) argument is the important part but its not clear in the help.

Code:

* upgrade - Upgrade the given application to the SDK at the current working directory

Finally, if a command combination is 'deprecated' and given the beta state of this project wouldn't it be better to simply remove it to avoid confusion. I'm talking about 'sencha app build'. This appears to do just a JavaScript compile and build now. Is this intended? Not sure how this is different from a 'sencha compile concatenate'.

Hope this makes sense.
Am loving the progress you are making and the fact that I can actually get real work done with this now.

Thanks for the constructive observations. Especially on the error messages and process of discovering the proper command syntax in all cases. It is easy to overlook that aspect especially as the developers.