Skip to content

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

Closed
wants to merge 12 commits into from
Closed

Use of node-pre-gyp #249

wants to merge 12 commits into from

Conversation

seanmcilvenna
Copy link

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:

node-pre-gyp rebuild
node-pre-gyp package publish

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.

@seanmcilvenna
Copy link
Author

@joeferner Have you had a chance to review this? Any update?

@jsdevel
Copy link
Collaborator

jsdevel commented Sep 18, 2015

@seanmcilvenna this sounds incredibly promising! Can you fetch the latest from master? (preferrably with a rebase and squash down to a single commit)?

@jsdevel
Copy link
Collaborator

jsdevel commented Sep 18, 2015

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?

@joeferner
Copy link
Owner

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?

@jsdevel
Copy link
Collaborator

jsdevel commented Sep 18, 2015

Seems like we would @joeferner. Travis gets us linux and OSX, but no windows.

@seanmcilvenna
Copy link
Author

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

@seanmcilvenna
Copy link
Author

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?

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

@seanmcilvenna
Copy link
Author

Going to close this pull request and create a new one with the latest joeferner:master pulled

@seanmcilvenna
Copy link
Author

Please see #257

@seanmcilvenna
Copy link
Author

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.

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

Successfully merging this pull request may close these issues.

3 participants