mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
glasser's responses on the -rc changes
This commit is contained in:
@@ -265,8 +265,12 @@ ConstraintSolver.PackagesResolver.prototype.resolve = function (
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
var ret = {
|
||||
answer: resolverResultToPackageMap(res),
|
||||
usedRCs: resolverOptions["useRCs"]
|
||||
};
|
||||
|
||||
return resolverResultToPackageMap(res);
|
||||
return ret;
|
||||
};
|
||||
|
||||
var removeUnibuild = function (unitName) {
|
||||
|
||||
@@ -390,7 +390,8 @@ ConstraintSolver.Constraint.prototype.isSatisfied = function (
|
||||
}
|
||||
|
||||
if (self.type === "any-reasonable") {
|
||||
// Non-prerelease versions are always reasonable.
|
||||
// Non-prerelease versions are always reasonable, and if we are OK with
|
||||
// using RCs all the time, then they are reasonable too.
|
||||
if (!/-/.test(candidateUV.version) ||
|
||||
resolveContext.useRCsOK)
|
||||
return true;
|
||||
@@ -421,9 +422,10 @@ ConstraintSolver.Constraint.prototype.isSatisfied = function (
|
||||
return self.version === candidateUV.version;
|
||||
}
|
||||
|
||||
// If you're not asking for a pre-release, you'll only get it if it was a top
|
||||
// level explicit mention (eg, in the release).
|
||||
if (/-/.test(candidateUV.version)) {
|
||||
// If you're not asking for a pre-release (and you are not in pre-releases-OK
|
||||
// mode), you'll only get it if it was a top level explicit mention (eg, in
|
||||
// the release).
|
||||
if (/-/.test(candidateUV.version) && !resolveContext.useRCsOK) {
|
||||
if (self.version === candidateUV.version)
|
||||
return true;
|
||||
if (!_.has(resolveContext.topLevelPrereleases, self.name) ||
|
||||
|
||||
@@ -528,13 +528,15 @@ _.extend(CompleteCatalog.prototype, {
|
||||
messageAfterMs: 1000,
|
||||
message: "Figuring out the best package versions to use. This may take a moment."
|
||||
});
|
||||
|
||||
var ret;
|
||||
try {
|
||||
// Then, call the constraint solver, to get the valid transitive subset of
|
||||
// those versions to record for our solution. (We don't just return the
|
||||
// original version lock because we want to record the correct transitive
|
||||
// dependencies)
|
||||
try {
|
||||
return self.resolver.resolve(deps, constr, resolverOpts);
|
||||
ret = self.resolver.resolve(deps, constr, resolverOpts);
|
||||
} catch (e) {
|
||||
// Maybe we only failed because we need to refresh. Try to refresh
|
||||
// (unless we already are) and retry.
|
||||
@@ -544,12 +546,27 @@ _.extend(CompleteCatalog.prototype, {
|
||||
}
|
||||
catalog.official.refresh();
|
||||
self.resolver || self._initializeResolver();
|
||||
return self.resolver.resolve(deps, constr, resolverOpts);
|
||||
ret = self.resolver.resolve(deps, constr, resolverOpts);
|
||||
}
|
||||
} finally {
|
||||
patience.stop();
|
||||
}
|
||||
if (ret["usedRCs"]) {
|
||||
process.stderr.write(
|
||||
"\nWARNING: In order to resolve constraints, we had to use the following "+
|
||||
"experimental package versions:\n");
|
||||
var packages = "";
|
||||
_.each(ret.answer, function(version, package) {
|
||||
if (version.split('-').length > 1) {
|
||||
packages+= package + "@" + version + ", ";
|
||||
}
|
||||
});
|
||||
packages = packages.slice(0, packages.length - 2);
|
||||
process.stderr.write(packages + "\n\n");
|
||||
}
|
||||
return ret.answer;
|
||||
},
|
||||
|
||||
// Refresh the packages in the catalog.
|
||||
//
|
||||
// Reread server data from data.json on disk, then load local overrides on top
|
||||
|
||||
Reference in New Issue
Block a user