The issue is that the maven-finagle-thrift-plugin doesn't ship a Windows thrift executable, so the thrift bindings are impossible to generate (the error message is a very unhelpful NPE in plexus-utils trying to copy the binary out of the jar).
The work-around issue for Iago is to ship a separate thrift dependency that doesn't require people to generate thrift bindings on Windows.
How about we just fix maven-finagle-thrift-plugin or as a work around, force people on windows to have thrift installed already as a pre-req?
i have thrift installed and on the path, i get this error.
Yes, the error is not that thrift isn't present, but that thrift isn't in the jar. The plugin attempts to find a thrift.null executable in the jar and needless to say that fails. So, even if people have thrift, the plugin needs to be revved to realize that it's on Windows. Also, the generator needs to be the Finagle generator specifically, since the normal thrift generator doesn't generate async (Future-aware) Java code.
I have a partner in crime for building the finagle-ized thrift generator so that we can include it in the plugin. We're worried this may take some time, and I think the project could stand to have the thrift interface separated out anyway, so I'm going to proceed with the workaround for now and then we'll rev the plugin when we have the binaries.
"The plugin attempts to find a thrift.null executable in the jar and needless to say that fails." ah, yes, that explains the error message. happy to test the workaround when its available.
I thought of another solution that I like more. We have an open source project called Scrooge that generates Finagle-compatible Scala code from Thrift IDLs. This removes the dependency on native binaries completely... I have a branch that is a WIP which converts to Scrooge.
Where can I clone the branch, which solves the Problem? Or is there another solution for the Problem found?
Maybe tweak the build to look for the thrift executable on PATH, rather than in the JAR?
We have a fix for this in the works. We're using the scrooge generator. I hope to push this out within the next few work days.
This should be fixed as of
waiting for a windows user to verify ...