Skip to content
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

Shrink public API, update autotools, run build in thread to handle panics #2

Merged
merged 1 commit into from
Jun 9, 2019

Conversation

onelson
Copy link
Owner

@onelson onelson commented Jun 9, 2019

This refocuses the crate to be a lot more purpose built. Previously the public API was a bit bigger as I was planning to use the crate to build jq from source for a variety of targets. In reality, this crate serves as a convenience, and statically linking to libjq and libonig is the probably the most straightforward case. No need to clutter this up to handle different use cases. If the caller wants to do something specific, they are probably best to just compile jq themselves.

The autotools update was largely straightforward. The api just changed slightly in how it handled some arguments.

While looking into #1, is seems that the build failures happen on the flip of a coin. I can't understand how or why, but I did find that often times the "fix" is just to re-run the build. Since the autotools crate will panic when a command fails, I wrapped the calls to this crate in a thread so I can trap the panic and retry the build a couple times as needed.

Seems to fix #1, or at least paper over it.

Fixes #1. Run autotools build in thread to attempt recovery during failure.

Version bump, update issue cited for bug.

Let's do the version bump stuff in master, I guess.
@onelson onelson merged commit 6af741e into master Jun 9, 2019
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.

_Something_ sometimes breaks the build script
1 participant