I maintain a Gradle plugin that, among other things, tries to detect the
--stacktrace commandline argument (it outputs diagnostic info if it is present). It has done so by using
StartParameter.getShowStacktrace(), which appears to be a public API.
As of 2.14, the return value (enum
ShowStacktrace) has been moved to another module and, crucially, another package, breaking my plugin at runtime. Sorry to have missed this during RC, but I have two questions:
- By all appearances this was a public API. If so, this seems to be an unwarranted breaking change.
- If ShowStacktrace was not a public API, how can we tell? I’d like to avoid using internals where possible.
It’s not the end of the world; I can work around the change either by reflection or Groovy magic, but it’s unfortunate for my users in the meantime.