-
Notifications
You must be signed in to change notification settings - Fork 288
Use of node-pre-gyp #249
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use of node-pre-gyp #249
Conversation
…t environment variables
…ed before running pre-gyp
Updating binaryPath in nodeJavaBridge to point to the lib directory (because that's where node-gyp copies the final built modules)
@joeferner Have you had a chance to review this? Any update? |
@seanmcilvenna this sounds incredibly promising! Can you fetch the latest from master? (preferrably with a rebase and squash down to a single commit)? |
One downside to this approach however, is that it requires an AWS account. Nothing beats free. Is there a way to leverage npm instead of AWS? |
How would we make a release with this? Would we need access to all the different platforms (windows, osx, Linux, raspberrypi, etc) to build the binaries? |
Seems like we would @joeferner. Travis gets us linux and OSX, but no windows. |
@jsdevel, I'll check out how to use something else... I know node-pre-gyp supports all sorts of storage types, they just highly recommend s3. So I'll see what else we can do. |
@joeferner, the beauty of this is that you don't necessarily have to have a pre-built library... If you don't, the --fallback-to-build switch will tell it to build if no pre-built exists. But yes, the release process would require building on each environment if you want a pre-built for it. My company has VMs that are setup for windows and linux, and I imagine our CTO would be willing to contribute their use for the purpose of pre-building assemblies. However, we don't have anything for Mac... so we'd have to figure something out for that. |
Conflicts: package.json
Going to close this pull request and create a new one with the latest joeferner:master pulled |
Please see #257 |
As for hosting the binaries on something other than S3... The cost is so minimal I would be willing to pay for it out of pocket (at least for now). The three binaries I have on there now only cost 4 scents a month. I suspect it will take quite a few versions to rack up more than $1/mo, which I'm fine paying for myself. If you guys are OK with this, I can setup some credentials on my S3's node-java bucket so you can publish to it as well. |
I have created a fork that uses node-pre-gyp to handle pre-built assemblies. In my initial testing, it seems to work well. The process for building and publishing the assemblies is pretty simple:
I'd be happy to give a select number of people push access to the S3 repository I created... I have pre-built assemblies for the latest version of node-java on linux 64bit (two different versions of node) and for windows 32bit.
I believe this would drammatically simplify the installation of the node-java module.
Also note that I changed the path to the binary that is used by require() to "lib", because that is the default location where node-gyp and node-pre-gyp compiles and/or extracts the assemblies to.