iago
iago copied to clipboard
Iago doesn't build under Windows
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?
There is no branch that solves this. Solutions include
- don't use Windows
- fix the maven-finage-thrift-plugin
- On a non-windows platform, create a version of Iago that has the generated source, then submit that as a patch.
Hope that helps!
On Fri, Sep 13, 2013 at 12:19 AM, X-Man71 [email protected] wrote:
Where can I clone the branch, which solves the Problem? Or is there another solution for the Problem found?
— Reply to this email directly or view it on GitHubhttps://github.com/twitter/iago/issues/4#issuecomment-24377369 .
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
415c7970cce6e3f5569cd2ee8f46d3c91308bf90
waiting for a windows user to verify ...
I think this is resolved by switching to the scrooge generator. We're waiting for some windows user to verify.
On Thu, Feb 6, 2014 at 12:01 PM, apennebaker [email protected]:
Maybe tweak the build to look for the thrift executable on PATH, rather than in the JAR?
Reply to this email directly or view it on GitHubhttps://github.com/twitter/iago/issues/4#issuecomment-34364261 .