Community
Participate
Working Groups
The Ant View should show checkboxes on targets and projects. Currently, targets have to be selected by double-clicking them but there is no visual indication that this is necessary. When double-clicked, the target icon changes to an icon with a checkmark on it. Checkboxes will not only make it clear to the user that they need to select targets, they will also make the view more consistent with the platform.
SWT does not support a Tree with checkboxes on a subset of the nodes. This means that using the current CheckboxTreeViewer would put checkboxes on target dependencies and execution order nodes, which wouldn't make sense. To fit into the model that SWT provides, we should try to convey the target dependency and execution order information in some other way. That is, we should remove these items from the tree so that the only visible items would be the projects and targets. We should be able to display the execution order information by just appending numbers ("[1]") to the end of the target names in the tree. Questions: 1. What does it mean to select a project? Do you run all targets or only the default? 2. How do we show target dependencies? Would putting that info in the hover-help be enough?
For the record, my suggestion for #1 is that checking a project means the default target should be run. My suggestion for #2 is that target dependencies can be shown in the hover-help. Additionally, I propose a "Properties" dialog on projects in the Ant View that would display the dependencies and execution order of the project.
Would it be worthwhile to have a two-pane view? The first pane is the project and target nodes, and the second pane shows the target dependencies and execute order for the selected target?
Some comments: I believe the actual purpose of the Ant View isn't totally clear yet... at least it isn't to me. It seems a great way to quickly get an overview of available buildfiles and targets, and trigger their execution (that the purpose isn't clear is clearly the fault of the UI itself). As others have noted, the UI is counter-intuitive when it comes to running/selecting targets. For example, the first thing I tried was to right-click on a target and invoke "Run"... which causes the Ant View to complain about no targets being selected. A change as initiated by the report is clearly necessary. However, I'm not sure I agree with the motion towards using a CheckboxTreeViewer. Instead, I think the Ant View needs a clear focus on quickly running targets. The most common use case is probably to run a single target, and that should IMHO work by just clicking a target and invoking "Run". All targets it depends on will get executed anyway. Now, the current "selecting" of targets is obviously to support the execution of multiple targets -- and such that have no dependancies on each other -- in one run. Let me restate that I don't think this is a very common use case. If people need to often execute multiple targets in this way, they should create an Ant Script configuration. However, there could be a link between the Ant View and the Ant Script config dialog: For example, if I (single-click-)select multiple targets and invoke "Run", then the Ant Script config dialog could open up with the selected targets would automatically be in the "Targets to execute" list; I could then change the order and run the thing. [Generally, if multiple targets need to be run constantly in sequence with a given order, that should definitely be defined in the Ant buildfile itself by the use of dependancies between the targets, or by creating a "glue"-target.] In addition, I'd love to see the target description in the hover, rather than the dependancies (or anything else, actually).
I've come around to the idea of making the Ant View selection-based. That is, the user just selects (or multi-selects?) targets or projects, right clicks, and says "Run" to run the selected targets. No checkboxes, no ordering. Based on user feedback, this seems to be the behavior they expect. The first time I used the view, it was the behavior I expected as well.
I've completely rewritten the Ant View as part of Bug 27101. Since this report deals with the old version of the ant view, I'm closing it. Discussion of the pros and cons of the new view can be posted to Bug 27101 or on the mailing list.