Skip to content
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

Replace Molinillo-based resolver #961

Merged
merged 2 commits into from
Aug 23, 2016
Merged

Conversation

stevendanna
Copy link
Contributor

The Molinillo library is a good library for systems that need a
constraint solver that will solve dependency problems requiring a single
version of each named dependency.

In our case, the eventual goal is to allow libraries to have conflicting
transitive dependencies at runtime. Isolation will be provided by
restricting all calls within a given profile to scope which can only see
that profile's dependencies.

To facilitate working on the isolation feature, I've replaced the
Molinillo-based resolver with a minimal resolver which will allow us to
load multiple versions of the same library.

Since we will likely want a good amount of logging around this feature
in the future, I've added a Inspec::Log singleton-style class, replacing
the previous Inpsec::Log which appeared unused in the code base.

The Molinillo library is a good library for systems that need a
constraint solver that will solve dependency problems requiring a single
version of each named dependency.

In our case, the eventual goal is to allow libraries to have conflicting
transitive dependencies at runtime. Isolation will be provided by
restricting all calls within a given profile to scope which can only see
that profile's dependencies.

To facilitate working on the isolation feature, I've replaced the
Molinillo-based resolver with a minimal resolver which will allow us to
load multiple versions of the same library.

Since we will likely want a good amount of logging around this feature
in the future, I've added a Inspec::Log singleton-style class, replacing
the previous Inpsec::Log which appeared unused in the code base.

Signed-off-by: Steven Danna <steve@chef.io>
Signed-off-by: Steven Danna <steve@chef.io>
@vjeffrey
Copy link

👍

@ksubrama ksubrama merged commit 3415359 into master Aug 23, 2016
@ksubrama ksubrama deleted the ssd/deps-resolver-replace branch August 23, 2016 14:52
@chris-rock chris-rock changed the title WIP: Replace Molinillo-based resolver Replace Molinillo-based resolver Aug 23, 2016
@chris-rock
Copy link
Contributor

I am not fan of adding two things at the same time. The logger should have been done in a separate PR. In addition, using the https://github.com/chef/mixlib-log result in additional output on STDOUT, which breaks json output in a computed format. Therefore the default output should be STDERR

@chris-rock
Copy link
Contributor

👍 on the dependency resolver

@chris-rock chris-rock modified the milestone: 0.32.0 Aug 24, 2016
@chris-rock
Copy link
Contributor

related to #888

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants