molinillo 0.6.1 → 0.6.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ARCHITECTURE.md +1 -1
- data/CHANGELOG.md +14 -0
- data/lib/molinillo/gem_metadata.rb +1 -1
- data/lib/molinillo/resolution.rb +8 -7
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5b31401d705c0bd1b9839f3b560996af5339a632
|
4
|
+
data.tar.gz: daabc784cc8a0385da64f2befa949887c70e3502
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 139afb59678e775ae0e93214dfa78e13f1da4b4e73a42b514ab696818cfa00947e57b16a01b4582dbbc2563c222166c3779e032e899244cebf95f4573259ee7b
|
7
|
+
data.tar.gz: 708818cffc500e0f686a51e6025d254150408e206d48e176b5fa97d6466bd8efcf3897ab6fc4f21602197e5c1ac56b5f623b796617741451be77f5d182126ca0
|
data/ARCHITECTURE.md
CHANGED
@@ -18,7 +18,7 @@ This stack-based approach is used because backtracking (also known as *unwinding
|
|
18
18
|
2. The client calls `resolve` with an array of user-requested dependencies and an optional 'locking' `DependencyGraph`
|
19
19
|
3. The `Resolver` creates a new `Resolution` with those four user-specified parameters and calls `resolve` on it
|
20
20
|
4. The `Resolution` creates an `initial_state`, which takes the user-requested dependencies and puts them into a `DependencyState`
|
21
|
-
- In the process of creating the state, the `SpecificationProvider` is asked to sort the dependencies and return all the `possibilities` for the `initial_requirement` (taking into account whether the dependency is `locked`). These possibilities are then grouped into `PossibilitySet`s, with each set representing a group of versions for the dependency which share the same sub-dependency requirements
|
21
|
+
- In the process of creating the state, the `SpecificationProvider` is asked to sort the dependencies and return all the `possibilities` for the `initial_requirement` (taking into account whether the dependency is `locked`). These possibilities are then grouped into `PossibilitySet`s, with each set representing a group of versions for the dependency which share the same sub-dependency requirements and are contiguous
|
22
22
|
- A `DependencyGraph` is created that has all of these requirements point to `root_vertices`
|
23
23
|
5. The resolution process now enters its main loop, which continues as long as there is a current `state` to process, and the current state has requirements left to process
|
24
24
|
6. `UI#indicate_progress` is called to allow the client to report progress
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,19 @@
|
|
1
1
|
# Molinillo Changelog
|
2
2
|
|
3
|
+
## 0.6.2 (2017-08-25)
|
4
|
+
|
5
|
+
##### Enhancements
|
6
|
+
|
7
|
+
* None.
|
8
|
+
|
9
|
+
##### Bug Fixes
|
10
|
+
|
11
|
+
* Insist each PossibilitySet contains contiguous versions. Fixes a regression
|
12
|
+
where an older dependency version with identical sub-dependencies to the
|
13
|
+
latest version may be preferred over the second-latest version.
|
14
|
+
[Grey Baker](https://github.com/greysteil)
|
15
|
+
|
16
|
+
|
3
17
|
## 0.6.1 (2017-08-01)
|
4
18
|
|
5
19
|
##### Enhancements
|
data/lib/molinillo/resolution.rb
CHANGED
@@ -791,24 +791,25 @@ module Molinillo
|
|
791
791
|
end
|
792
792
|
|
793
793
|
# Build an array of PossibilitySets, with each element representing a group of
|
794
|
-
# dependency versions that all have the same sub-dependency version constraints
|
794
|
+
# dependency versions that all have the same sub-dependency version constraints
|
795
|
+
# and are contiguous.
|
795
796
|
# @param [Array] an array of possibilities
|
796
797
|
# @return [Array] an array of possibility sets
|
797
798
|
def group_possibilities(possibilities)
|
798
799
|
possibility_sets = []
|
799
|
-
|
800
|
+
current_possibility_set = nil
|
800
801
|
|
801
802
|
possibilities.reverse_each do |possibility|
|
802
803
|
dependencies = dependencies_for(possibility)
|
803
|
-
if
|
804
|
-
|
804
|
+
if current_possibility_set && current_possibility_set.dependencies == dependencies
|
805
|
+
current_possibility_set.possibilities.unshift(possibility)
|
805
806
|
else
|
806
|
-
possibility_sets
|
807
|
-
|
807
|
+
possibility_sets.unshift(PossibilitySet.new(dependencies, [possibility]))
|
808
|
+
current_possibility_set = possibility_sets.first
|
808
809
|
end
|
809
810
|
end
|
810
811
|
|
811
|
-
possibility_sets
|
812
|
+
possibility_sets
|
812
813
|
end
|
813
814
|
|
814
815
|
# Pushes a new {DependencyState}.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: molinillo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel E. Giddins
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-08-
|
11
|
+
date: 2017-08-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|