mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
Don't pin packages we're trying to upgrade
Now meteor update will actually upgrade the packages it's trying to upgrade
This commit is contained in:
@@ -195,10 +195,13 @@ ConstraintSolver.PackagesResolver.prototype.resolve = function (
|
||||
// split every package name to one or more archs belonging to that package
|
||||
// (["foobar"] => ["foobar#os", "foobar#web.browser", ...])
|
||||
// XXX for now just hardcode in all of the known architectures
|
||||
options.upgrade = _.filter(_.flatten(_.map(options.upgrade, function (packageName) {
|
||||
return [packageName + "#os", packageName + "#web.browser",
|
||||
packageName + "#web.cordova"];
|
||||
})), _.identity);
|
||||
var upgradeUnibuilds = {};
|
||||
_.each(options.upgrade, function (packageName) {
|
||||
_.each(self._unibuildsForPackage(packageName), function (unibuildName) {
|
||||
upgradeUnibuilds[unibuildName] = true;
|
||||
});
|
||||
});
|
||||
options.upgrade = upgradeUnibuilds;
|
||||
|
||||
var dc = self._splitDepsToConstraints(dependencies, constraints);
|
||||
|
||||
@@ -207,15 +210,18 @@ ConstraintSolver.PackagesResolver.prototype.resolve = function (
|
||||
|
||||
var res = null;
|
||||
// If a previous solution existed, try resolving with additional (weak)
|
||||
// equality constraints on all the versions from the previous solution. If
|
||||
// it's possible to solve the constraints without changing any of the previous
|
||||
// versions (though we may add more choices in addition, or remove some
|
||||
// now-unnecessary choices) then that's our first try.
|
||||
// equality constraints on all the versions from the previous solution (except
|
||||
// those we've explicitly been asked to update). If it's possible to solve the
|
||||
// constraints without changing any of the previous versions (though we may
|
||||
// add more choices in addition, or remove some now-unnecessary choices) then
|
||||
// that's our first try.
|
||||
if (!_.isEmpty(options.previousSolution)) {
|
||||
var constraintsWithPreviousSolutionLock = _.clone(dc.constraints);
|
||||
_.each(options.previousSolution, function (uv) {
|
||||
constraintsWithPreviousSolutionLock.push(
|
||||
self.resolver.getConstraint(uv.name, '=' + uv.version));
|
||||
if (!_.has(options.upgrade, uv.name)) {
|
||||
constraintsWithPreviousSolutionLock.push(
|
||||
self.resolver.getConstraint(uv.name, '=' + uv.version));
|
||||
}
|
||||
});
|
||||
try {
|
||||
// Try running the resolver. If it fails to resolve, that's OK, we'll keep
|
||||
@@ -337,7 +343,7 @@ ConstraintSolver.PackagesResolver.prototype._getResolverOptions =
|
||||
// if the upgrade is preferred over preserving previous solution, pretend
|
||||
// there are no previous solution
|
||||
_.each(prevSol, function (uv) {
|
||||
if (! _.contains(options.upgrade, uv.name))
|
||||
if (! _.has(options.upgrade, uv.name))
|
||||
prevSolMapping[uv.name] = uv;
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user