Extension Best Practices
Play Nicely With Others
Remember that users will install a variety of extensions, not just yours. That means you should always be enabling your functionality only when it should be used.
For example, in
getPriority() methods, make sure you are returning
NOT_APPLICABLE when your code is not applicable. Or in
supports() calls, make sure you return
if that is not a database your code is trying to support.
Be Open to Extension
Remember that just like you are looking to improve Liquibase, others will want to improve your extension. Be open to extension with both your code and your configuration.
For example, don't return
getPriority(). Also, consider extracting portions of your logic to protected methods that someone else can subclass and override in their own extensions.
Carefully consider dependencies using the guidelines from liquibase-core.