This is regarding this commit:
"Badge project root nodes acc. to filesystem status automatically."
Is this meant as a general contract on which the project types are allowed to depends? If yes, shouldn't:
1) be the contract documented?
2) the spec versions&dependencies adjusted in such a way that the updated project types will require the new behavior?
(In order to prevent regressions when a new version of project type is used against the old version of projectui.)
3) tests exist to ensure the behavior will not regress?
4) be the contract reviewed through the API review process?
I do plan to deal with this shortly, just have not had a moment yet...
The changeset you linked to is unrelated. I think you meant to link to
Test written in
Created attachment 62294 [details]
Proposed API change patch for main repo
Created attachment 62295 [details]
Corresponding patch for contrib
Created attachment 62296 [details]
Patch for main updated to include groovy.grailsproject
Please comment on the change in behavior of the Projects tab referred to here: project root nodes will be automatically
badged according to the VCS status of files contained in the project. This may be considered an API change to the extent
that project types formerly implemented this logic for themselves but no longer need to. The specification version and
dependency increment ensures that new project types cannot be mixed with the old Projects tab - this would result in
loss of root node badging, which would be a minor bug.
Note that the Projects tab already performed display name badging (if the VCS requested it), just not icon badging. (It
also marked the main project bold and performing some other standard enhancements of the root node, such as adding
SearchInfo.) The change consolidates the badging logic in one place, relieving project types of the burden of
implementing this for themselves (with substantial code duplication), as well as fixing some subtle problems that were
previously addressed in only some project types.
Other subnodes may still need to be explicitly badged if they somehow display files. The new behavior does not attempt
to provide a convenience API for implementing such logic, though it could be useful as a future enhancement. (Java
package root nodes do this automatically, as does FolderNode, but special nodes such as "Important Files" need custom
#78e1be465fab for core-main. I will wait to apply it for contrib until the former gets pushed into main.
Integrated into 'main-golden', will be available in build *200809061401* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
User: Jesse Glick <email@example.com>
Log: #145682: refine fix of #135399 to account for lazy projects.
Created attachment 69401 [details]
In case somebody wants to badge the "lazy" projects, here is a patch
I think adding the wait icon as in your patch would be a good idea.
(BTW the second hunk in the patch is bogus.)