-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Verbose extension builder #261
Conversation
Whenever an extension builder has its verbose attribute set to something non-falsy, the commands executed to build the gem will output to the terminal. This lets us follow what's happening during compilations that take some time to complete. The default is to behave exactly like before.
This way invoking `gem install --verbose` will display the entire compilation process in the terminal.
I really like it! Always hated the need to hunt gem make.out Will take a look at the office. Thanks! Sorry for top posting. Sent from mobile.
|
|
||
unless $?.success? then | ||
raise Gem::InstallError, "#{class_name} failed:\n\n#{results.join "\n"}" | ||
results << "Look above for error messages!" if verbose |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This error message needs to be improved. Perhaps "Building has failed. See above output for information on failure."
hi @evanphx, I've pushed an updated error message. I'm not a native English speaker, and will appreciate any enhancement suggestions. |
Looks good! Thanks! |
Adds Regexp specs for lookbehinds.
The Debian Ruby packaging helper, gem2deb uses Rubygems to build C extensions to make sure we are 100% compatible with Rubygems packages. When building Debian packages it's useful to follow the build as it goes, but currently Rubygems hides the compilation from the user -- what makes a lot of sente.
This branch makes the extension builder output terminal as the build proceeds upon request.
gem install --verbose
will enable this behavior, and gem2deb would enable it by settingGem.configuration.verbose
directly. The default is to behave as it does now, i.e. to not output anything unless something goes wrong.