Permalink
Commits on Jun 25, 2017
  1. Prepare for release: v0.6.0

    luislavena committed Jun 25, 2017
  2. Format code following Ruby style guide

    luislavena committed Jun 25, 2017
    Use `rufo` to format code following defaults from style guide, making
    code more consistent.
  3. Use Ruby 1.9's Hash style

    luislavena committed Jun 25, 2017
    As we no longer support Ruby < 1.9 (actually minimum is 2.1), use
    1.9 Hash styles.
  4. Add local testing Makefile

    luislavena committed Jun 25, 2017
    Use `make test` to run test (no pun intended) for this library.
    
    Use `make autotest` (thanks to watchexec dependency) to run test continuously
    when introducing changes to either test or gem files.
    
    Kept this ignored a long time, use it locally during development and
    thought was good to have it part of the official repository.
    
    For `autotest` to work, you will need the external `watchexec` dependency:
    https://github.com/mattgreen/watchexec
    
    [skip ci]
Commits on Jun 24, 2017
  1. Add notes to History

    luislavena committed Jun 24, 2017
    Include latest merge changes
    
    [skip ci]
  2. Update MIT License details

    luislavena committed Jun 24, 2017
    - Drop years to avoid constant useless updating
    - Add *MIT License* line indicator to the top of the file
    
    [skip ci]
  3. Merge pull request #24 from luislavena/update-test-matrix

    luislavena committed on GitHub Jun 24, 2017
    Upgrade Travis and AppVeyor test matrix
  4. Upgrade Travis and AppVeyor test matrix

    luislavena committed Jun 24, 2017
    - Include Ruby 2.4.1 on both Linux and Windows
    - Update to latest 2.2 and 2.3 versions
    - Use latest version of Bundler
Commits on Nov 12, 2016
  1. Merge pull request #23 from luislavena/auto-release

    luislavena committed on GitHub Nov 12, 2016
    Automatically release new gems when tagging
Commits on Oct 8, 2016
  1. Automatically release new gems when tagging

    luislavena committed Oct 8, 2016
    Tagging releases will use Travis' deploy functionality to both
    upload artifacts of the build process (gem-compiler .gem file) to
    both RubyGems and GitHub releases page.
  2. CI: Build gem as part of the test

    luislavena committed Oct 7, 2016
    This confirms artifacts (gems) can be produced and installed
    successfully as part of the test/build process.
Commits on Oct 7, 2016
  1. Removes empty lines in README output sample

    luislavena committed Oct 7, 2016
    [skip ci]
  2. Describes years covered under MIT license

    luislavena committed Oct 7, 2016
    A MIT license file without years covered by its copyright might not
    be valid.
    
    See *Copyright Notice* of the license analysis:
    
    https://writing.kemitchell.com/2016/09/21/MIT-License-Line-by-Line.html
    
    [skip ci]
  3. Deal with RubyGems 2.5 deprecations

    luislavena committed Oct 7, 2016
    Use `Gem::Installer.at` instead of plain instance of Installer, as
    the later is now considered deprecated.
  4. Solves Ruby's warnings

    luislavena committed Oct 7, 2016
    - Remove unused variables from test
    - Weird memoization of `installer`
    - Remove `tmp_dir` redefinition warning
  5. Disables test's GEM_PATH to allow `rake` work

    luislavena committed Oct 7, 2016
    `rake` is invoked to compile extensions as part of the tests, which
    requires it to be accessible.
    
    `GEM_PATH` is set by Gem::TestCase to use a temporary directory,
    causing it not to be found and thus, triggering failures under
    Windows and some Ruby/Linux combinations (with or without Bundler)
    
    The change ensures `GEM_PATH` is unset from `ENV` on each test.
  6. Mimics Hoe's test loading mechanism

    luislavena committed Oct 7, 2016
    - Use Minitest's autorun
    - Require all test files
    - Accept extra environment options (`FILTER`, `TESTOPTS` and `N`)
      to alter which test will be run or the seed to be used
    - Disable RubyGems by default and require it instead.
    - Enable Ruby warnings to help out deal with deprecations/possible
      issues.
  7. Uses same version of Minitest as RubyGems

    luislavena committed Oct 7, 2016
    Avoid possible issues when using a different version of Minitest
    than the one used by RubyGems, which is locked at ~> 4.7
Commits on Oct 6, 2016
  1. Drops support for Ruby prior to 2.1.0

    luislavena committed Oct 6, 2016
    Ruby 2.0.0 has reached EOL (End-Of-Life) support back in February.
    
    Remove testing against it from Travis and AppVeyor and update test
    matrix to ensure supported versions are working to latest version
    supported by CI provider:
    
    - 2.1.x
    - 2.2.x
    - 2.3.x
    - HEAD (Travis only)
    
    Update gemspec to limit installation on unsupported version of Ruby.
Commits on Apr 24, 2016
  1. Prepare for release: v0.5.0

    luislavena committed Apr 24, 2016
    [skip ci]
  2. Merge pull request #22 from luislavena/lock-ruby-abi

    luislavena committed Apr 24, 2016
    Lock Ruby's ABI on compiled gem
  3. Lock Ruby's ABI on compiled gem

    luislavena committed Apr 24, 2016
    This ensures that resulting gem can only be installed on a compatible
    version of Ruby, reducing the chances of an incompatible option
    be exposed and the gem fail at runtime.
    
    With this change is now the default behavior, which can be turned
    off by using `--no-abi-lock` option during compilation (but is discouraged).
    
    Closes #11
  4. Merge pull request #21 from luislavena/run-rubygems-hooks

    luislavena committed Apr 24, 2016
    Run RubyGems' pre_install hooks at compilation time
Commits on Apr 23, 2016
  1. Run RubyGems' pre_install hooks at compilation time

    luislavena committed Apr 23, 2016
    Some tools like RubyInstaller's DevKit uses RubyGems' `pre_install`
    hooks to alter the environment and prepend the compiler toolchain
    for compilation of gem extensions.
    
    With this change we aim to reduce documentation, friction and issues
    when attempt to compile binary gems on Windows natively.
    
    Closes #18
  2. Check Ruby and RubyGems version of gemspec (#20)

    luislavena committed Apr 23, 2016
    Before unpacking gem contents, check if both Ruby and RubyGems
    versions (possible present in the gemspec) match the current ones.
    
    This corrects the potential problem of attempt to compile a gem
    that is not compatible with the current version of Ruby (or RubyGems)
    that are installed.
  3. badges: adjust to use master

    luislavena committed Apr 23, 2016
    This should avoid Travis or AppVeyor picking up pull request merges
    for the badge display in README.
    
    [skip ci]
  4. Reduce `compile` method complexity

    luislavena committed Apr 23, 2016
    Split different aspects of Gem compilation process into smaller,
    more easy to parse methods.
  5. Identify correctly skipped test

    luislavena committed Apr 23, 2016
    Avoid `return` on `ensure` block so skipped test is properly
    identified.
    
    It fixes the incorrect `0 skips`.
  6. Ensure clenaup is performed after compilation

    luislavena committed Apr 23, 2016
    Is possible an exception on extension compilation or packaging
    caused temporary files remained in the system.
    
    This ensures a cleanup is performed in case of failure.
  7. Avoid run ensure block of test on non Windows platform

    luislavena committed Apr 23, 2016
    This was causing RubyGems to fail to remove temporary directory
    during test teardown on platforms other than Windows.
  8. Remove list of personal desires from README

    luislavena committed Apr 23, 2016
    README included a list of unfulfilled promises that are no longer
    personal desires or the direction I want this project pursue.
    
    Lot happened since 2012 when I open-sourced this project and my
    objectives for it have changed since then.
    
    gem-compiler is now a single-purpose tool and does not aim to
    become a *Jack of all trades* tool.
    
    The removal of these items from README will help state this more
    clearly.
    
    Closes #2, closes #3 and closes #4.
    
    [skip ci]
  9. Normalize badges and use shields CDN

    luislavena committed Apr 23, 2016
    Point all the SVG badges from README to use shields.io CDN.
    
    Also correct the URLs these badges point to reduce redirects.
    
    [skip ci]
  10. Adjust History with changes from merges

    luislavena committed Apr 23, 2016
  11. Remove redudant comments

    luislavena committed Apr 23, 2016
    Test description and introduction describe almost all aspects of
    the test (and the reason it exists).
  12. Remove temporary file from merge

    luislavena committed Apr 23, 2016
    Seems a VIM temporary file was committed by mistake.