summaryrefslogtreecommitdiff
path: root/lib/bundler/gem_version_promoter.rb
Commit message (Collapse)AuthorAgeFilesLines
* Add support for BUNDLER_ prefixed debug environment variablesSutou Kouhei2020-01-191-1/+1
| | | | | DEBUG_RESOLVER is used in RubyGems too. So we can't enable it only for Bundler.
* Bump rubocop to 0.68.0rubocop_0_68David Rodríguez2019-04-301-2/+2
|
* [GemVersionPromoter] Prefer non-pre-release versionssegiddins/6684-gvp-prefer-non-presSamuel Giddins2018-09-121-0/+12
|
* improve rubocop_todo.ymlKeiji Yoshimi2017-09-241-1/+1
| | | | | | | | | | | | | | - Style/EmptyLinesAroundExceptionHandlingKeywords - Style/SpaceAroundOperators - Style/SpaceInsideBlockBraces - Lint/DuplicateMethods - Lint/Void - Style/IfUnlessModifier - Style/MixinGrouping - Style/NestedParenthesizedCalls - Style/OrAssignment - Style/RedundantParentheses - Style/TernaryParentheses
* [GemVersionPromoter] Avoid checking ENV for debug every timeSamuel Giddins2017-09-051-2/+4
|
* [RuboCop] Enable Layout/EmptyLineAfterMagicComment copKoichi ITO2017-07-161-0/+1
|
* [RuboCop] Update to 0.41.2Samuel Giddins2016-07-201-5/+4
|
* GemVersionPromoter refactoringschrismo2016-07-111-31/+35
| | | | | | | | | | | I've been changing bundler-patch to work with the code portions that have been moved into Bundler, and the tap block at the end of sort_dep_specs couldn't be overridden, so that's been moved into its own method. Another refactoring was to move local vars into instance vars to stop passing them around. Going all the way to push that into a class seemed a bit much at this stage.
* Add docs to GemVersionPromoter.chrismo2016-07-081-18/+53
| | | | | Also some pending specs cleanup. These may be added as new issues and addressed later.
* Support for reverting to older versions.chrismo2016-07-081-4/+13
| | | | | | | | | | | | This is the first behavior change from bundler-patch. Used to be older versions would never be an option, but Bundler proper has always supported this (if necessary to resolve the dependency tree) and there can be some legit cases for doing this. The `--strict` flag could be used to override this behavior, but I'm running into a Molinillo behavior that I'm not sure is correct, so the specs involving the strict option are failing right now. I'm going to push so @segiddins and I can discuss.
* No need to dupe cached GVP outputchrismo2016-07-081-3/+1
| | | | ...now that its output is inside the Resolver's cache.
* Fix up major support in GVP.chrismo2016-07-081-17/+25
| | | | | | | | | | If GVP handles the default :major case, it now passes all the specs, but that's a lot of existing functionality to hand off to it at this stage, so I kept in the conditional to just roll with existing results if :major. Got rid of a couple of superfluous begin/end I'd included to make RubyMine auto-format the code in a way that made Rubocop happy.
* Moved GemVersionPromoter inside search_for cache.chrismo2016-07-081-15/+15
| | | | | | | | | | In the process I was able to simplify some of the code inside GemVersionPromoter dealing with SpecGroups. I also attempted to implement the :major behavior into GemVersionPromoter as that would eliminate the logic to skip it in `#search_for`, however I ran into some test failures that I need to investigate further, though unit specs are working so far.
* Cleanup DEBUG var and outputchrismo2016-07-081-5/+4
|
* Invalid level in GemVersionPromoter now raises.chrismo2016-07-081-1/+2
| | | | | This shouldn't ever surface to the user, would be the result of a coding mistake.
* Use readers instead of ivarschrismo2016-07-081-7/+6
|
* Remove minimal optionchrismo2016-07-081-8/+2
|
* Port GemVersionPromoter specs from bundler-patchchrismo2016-07-081-1/+3
|
* Add spec to definition for gem version promoter.chrismo2016-07-081-1/+1
|
* Ensure locked_specs provided in unlock all case.chrismo2016-07-081-2/+3
| | | | | | | | Another bit brought over from bundler-patch, this code in Definition ensures the GemVersionPromoter has the locked specs it needs in the 'unlock all' case. Everywhere else in Definition, empty @locked_specs means unlock all, but doing conservative updates requires knowing the current locked version so it always needs this list.
* GemVersionPromoter refactorchrismo2016-07-081-0/+126
UpdateOptions which was then renamed to DependencySearch is now called GemVersionPromoter, cuz I can't name this damn class. It's in its own file now, so there's that. I took a shot at moving Resolver#search_for into it, but had naively overlooked a few instance variables and such and it just didn't make as much sense as I'd first envisioned. Probably some other smaller classes in between perhaps. GemVersionPromoter class now caching its results, too, and I moved out the return from it back into Resolver as it made more sense there. As a standalone class, it may make sense to have this actually implement :major sorting, but maybe later.