aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bundler
Commit message (Collapse)AuthorAgeFilesLines
* [Resolver] Ensure that spec.required_ruby_version exists before using itSamuel Giddins2016-07-101-1/+7
|
* [Fetcher] Pass metadata when constructing EndpointSpecificationsSamuel Giddins2016-07-101-2/+2
|
* respect required_ruby_versions when presentAndre Arko2016-07-101-8/+5
| | | | | Not only does this test mean that we’re sure the method works, I like how the method is structured now a lot better too :grin:
* Don't parse empty Lockfile during GVP initchrismo2016-07-081-1/+1
| | | | | | | | Not a common case, but glitch is triggered by new plugin integration tests when there's no Gemfile or .bundle directory. A GemfileNotFound exception is raised deeper down the call stack trying to access the cache_path when executed in a non-bundler dir. That case apparently is legit for plugins.
* Raise message on multiple optionschrismo2016-07-081-2/+3
|
* 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.
* Hook-up `--strict` option, flesh out update specs.chrismo2016-07-081-1/+4
| | | | | Getting caught up on missing update_specs, realized `--strict` flagged wasn't being passed through. Fixed.
* Mark new options as hiddenchrismo2016-07-081-6/+4
|
* 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-082-39/+45
| | | | | | | | | | 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-082-33/+39
| | | | | | | | | | 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-082-2/+3
| | | | | 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 superfluous default value in Resolver initchrismo2016-07-081-1/+1
|
* Remove minimal optionchrismo2016-07-081-8/+2
|
* Clarified changing dependency specs.chrismo2016-07-082-0/+5
| | | | | | | A couple of confusing cases that should be clearer now and the differences called out. Details in the spec code and comments. Plus some MODO additions and other pending spec additions.
* Port GemVersionPromoter specs from bundler-patchchrismo2016-07-081-1/+3
|
* Add spec to definition for gem version promoter.chrismo2016-07-082-2/+1
|
* Ensure locked_specs provided in unlock all case.chrismo2016-07-083-4/+21
| | | | | | | | 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-084-134/+136
| | | | | | | | | | | | | | | | 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.
* Rename UpdateOptions=>DependencySearchchrismo2016-07-083-11/+11
|
* RuboCop fixeschrismo2016-07-082-31/+36
|
* 1st pass thorough specs on conservative resolver.chrismo2016-07-081-3/+4
| | | | | | | | | | Ported over resolver specs from bundler-patch README (which don't match the actual specs for no particular reason other than dev lolz) and expanded on some of the cases after a few weird cases resolved ... a little unexpectedly. They're passing, but some discussion to be had on some of the cases perhaps. See inline spec comments.
* First resolver spec and bug fix.chrismo2016-07-081-3/+3
| | | | | | | I stared at that code 2 or 3 times before seeing the obvious bug. Sigh. Anyway - needed to get these resolver specs going sooner or later. Both the first new resolver spec is passing as is the first update_spec spec (plus the pre-existing ones).
* minor/patch resolution code invokable.chrismo2016-07-083-17/+17
| | | | | | | | | | | | | | | | | | | | | | | Prior commit added in the code but it only worked in the default :major case by staying out of the way, so it at least didn't break existing functionality. But the GemsToPatch class hadn't been brought over from bundler-patch yet, so none of the patch/minor code could work as it was referencing an ivar that didn't exist yet. Bundler-patch not only will handle an update to whatever is the latest patch/minor version, but will also handle an update to a version specified in an advisory from ruby-advisory-db. At this point I don't believe we'll be adding the advisory behavior to Bundler proper, so this commit can bring over simply the array of gem names being updated without the GemsToPatch class or the extra sorting code that takes a specific version number into account. With these simplifications, the starter update_spec can run without exception, though for some reason it's behaving as if the :minor level were specified, instead of :patch. Rather than keep debugging from an integration level, it's time to start bringing over resolver tests.
* bundler-patch resolver code ported over.chrismo2016-07-082-3/+109
| | | | | | | | | | | Putting all this code into Resolver itself, when it's almost completely isolated, didn't make sense. UpdateOptions was the best place for it, prompting me to think that class needs renaming and see if the current search_for method could be moved into it as well. Except for `index_for` it's a cinch. `install_spec` and `update_spec` are still passing with this addition, first new spec for conservative update isn't yet.
* UpdateOptions added and passed thru all_the_thingschrismo2016-07-084-6/+32
| | | | | | | | | | | First shot adding new update CLI options and passing those through Definition into Resolver where they're needed. I opted for three separate options to reduce typing, vs. a --level [patch|minor|major]. It's a little painful merely extending parameter lists in places, but bigger refactorings prolly be more painful.
* Starter update_specschrismo2016-07-081-1/+1
|
* Auto merge of #4674 - asutoshpalai:plugin, r=segiddinsHomu2016-07-0516-121/+621
|\ | | | | | | | | | | [Plugin] Source plugins Adds source plugin. This is in continuation of #4608.
| * Spec fixes for older versionsAsutosh Palai2016-07-031-1/+1
| |
| * Added unit specs for api#sourceAsutosh Palai2016-07-031-1/+1
| |
| * Mixed SharedHelpers with Plugin::APIAsutosh Palai2016-07-033-16/+8
| |
| * Added to api/sourceAsutosh Palai2016-07-031-0/+18
| |
| * Separated generate_bin into source/path/installerAsutosh Palai2016-07-033-39/+42
| |
| * Fixed hard coded load path for pluginsAsutosh Palai2016-07-033-27/+44
| |
| * [Serializer]Array parser implementedAsutosh Palai2016-07-031-5/+13
| |
| * [Serializer] Dumping array and passing the old scan specsAsutosh Palai2016-07-031-11/+26
| |
| * Added methods to use source without apiAsutosh Palai2016-07-031-1/+14
| |
| * Added spec for plugin load pathAsutosh Palai2016-07-031-0/+1
| |
| * Addind the plugin lib path to load_pathAsutosh Palai2016-07-032-0/+20
| |
| * Fixing explicit default plugin sourceAsutosh Palai2016-07-031-1/+1
| |
| * Minor doc editsAsutosh Palai2016-07-032-10/+18
| |
| * Added cachingAsutosh Palai2016-07-033-6/+68
| |
| * Fixed random failures in spec for source_listAsutosh Palai2016-07-031-0/+4
| |
| * Fixed plugin install order for 1.8.7Asutosh Palai2016-07-032-11/+8
| |
| * lockfile plugin version shift and inferred_pluginAsutosh Palai2016-07-033-8/+8
| |
| * rubocop fixAsutosh Palai2016-07-031-4/+4
| |
| * Few correction from suggestionsAsutosh Palai2016-07-035-23/+59
| |