Skip to content
This repository has been archived by the owner on Sep 18, 2021. It is now read-only.

Iago doesn't build under Windows #4

Open
jwaldrop opened this issue Jun 27, 2012 · 12 comments
Open

Iago doesn't build under Windows #4

jwaldrop opened this issue Jun 27, 2012 · 12 comments

Comments

@jwaldrop
Copy link
Contributor

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.

@caniszczyk
Copy link
Contributor

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?

@hsiboy
Copy link

hsiboy commented Jun 27, 2012

i have thrift installed and on the path, i get this error.

@jwaldrop
Copy link
Contributor Author

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.

@jwaldrop
Copy link
Contributor Author

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.

@hsiboy
Copy link

hsiboy commented Jun 29, 2012

"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.

@jwaldrop
Copy link
Contributor Author

jwaldrop commented Jul 5, 2012

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.

@christianhenle
Copy link

Where can I clone the branch, which solves the Problem? Or is there another solution for the Problem found?

@WamBamBoozle
Copy link

There is no branch that solves this. Solutions include

  1. don't use Windows
  2. fix the maven-finage-thrift-plugin
  3. 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//issues/4#issuecomment-24377369
.

@apennebaker
Copy link

Maybe tweak the build to look for the thrift executable on PATH, rather than in the JAR?

@WamBamBoozle
Copy link

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.

@WamBamBoozle
Copy link

This should be fixed as of

415c797

waiting for a windows user to verify ...

@WamBamBoozle
Copy link

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//issues/4#issuecomment-34364261
.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants