...
- Ensure that there is a JIRA that covers the work
- Add the label 'api' to the JIRA
- Ensure there is a pre-commit review of the code in the JIRA
- Send an email to openjfx@java.net with the title: "[<release>] API Review for <bug-id>: <summary>"
- In addition to the normal reviewers, a +1 is required from the Team Lead or an Architect before the code is committed
Config Files, CSS, Properties and More are API
Usually we think of API in terms of classes and methods, however, things like config files and CSS are also API. Essentially, any set of characters or keywords that are documented to cause a well specified behaviour can be considered to be API. When in doubt, it is best to ask.
Behavioural Changes are API
Changes in behaviour can break the users of the toolkit. Major changes in behaviour such as threading should be treated like API and require the same steps as an API review. It is critical that the Team Lead and Architects are aware of how the toolkit behaves and understand how it is used.
While API is some API changes such as new classes and methods are easy to definesee, behavioural changes can be fuzzy. When in doubt, askasking for clarification is the best policy here.
FXML Considerations
When defining API, it's often easy to forget to take into account how the API will be accessed from FXML. New events and properties are easily consumed by FXML. In constructors, use of @NamedArg() allows FXML to construct objects, often to be assigned to properties.
...