I hate to squash other engineers ideas, but it seems that the advantages this
package brings to the table does not outweigh the disadvantages. I agree with
others that posts to this thread about requiring an IDE to rely on a
third-party tool to generate code. If something breaks, we are dead in the
water for a while - whether we are waiting for someone to fix the issue in the
tool or whether we need to rewrite code to rip it out.
Also, what about debugging? If there is a bug somewhere and it happens to be
in or near the generated code (or the meta-code used to generate the actual
code), how easy or hard would it be to access, read, or walk-through that code.
Or what if the code generator had a bug generating code. We will either need
to wait for a fix in the generator or figure out a work-around.
It just seems to me that there is more work around using this tool then it is
to just manually create the classes. On that note, how many classes are really
that simple that we need such a tool?
On 3/2/18, 11:58 AM, "Doroszlai, Attila" <adorosz...@apache.org> wrote:
I'd like to start a vote on adding the FreeBuilder library to Ambari.
FreeBuilder is an annotation processor that generates (at compile
time) immutable value objects and their builders from interfaces or
abstract classes annotated with @FreeBuilder. If you are interested
in the details, please check the website at
https://github.com/inferred/FreeBuilder#freebuilder Their concise
readme has examples and explanations.
The reason for the vote thread is that a quick, one-time setup is
needed for IDEs for those working on ambari-server.
* IDEA: find the directory "ambari-server > target >
generated-sources > annotations" in the Project pane, right-click it,
and select Mark Directory as > Generated Sources Root.
* Eclipse: instructions are at
* NetBeans: non-FreeBuilder-specific tutorial:
If the vote passes, I will add setup instructions to the Ambari wiki.
[ ] +1, add FreeBuilder to Ambari
[ ] -1, keep FreeBuilder out of Ambari
Thanks for your time.