Commit Graph

240 Commits

Author SHA1 Message Date
Sashko Stubailo
36da5aecb4 Make all version numbers not have rc 2014-10-13 14:09:37 -07:00
Sashko Stubailo
698fbedb10 Bump all of the version numbers to rc.0 2014-10-07 17:10:48 -07:00
David Greenspan
42bdfde8ca Publish versioned dependencies of core packages
When publishing a core package, you’re allowed to omit version numbers in package.js.  With this change, we determine the correct versions of all the dependent packages based on the current checkout, and we send them to troposphere (instead of core packages having “null” constraints on their dependencies).

We throw an error if you have any missing version constraints on your package dependencies and you are not using versionsFrom or publishing a core package from a checkout.

We’ve already fixed this (no constraints on core package deps) retroactively in troposphere.

It speeds up the constraint solver by orders of magnitude when publishing a package.
2014-10-01 17:11:18 -07:00
Sashko Stubailo
1e53f6b598 Bump all version numbers again after cherry-picking unipackage fix 2014-10-01 17:06:57 -07:00
Sashko Stubailo
0129c3f5ac Bump all of the version numbers again, to republish with the unipackage.json fix 2014-10-01 15:43:05 -07:00
Sashko Stubailo
eecc272e4a Bump every single package version number due to a change in compilation 2014-09-29 23:44:50 -07:00
ekatek
bab557d49b incrementing package versions for a clean release 2014-09-25 18:34:34 -07:00
ekatek
1424e3ea4f fix constraint solver tests 2014-09-25 15:34:25 -07:00
Nick Martin
648a4e2a09 Revert "Correct but failing test for lenient parsing of bad version number"
This reverts commit c496bd716b.
2014-09-25 11:42:16 -07:00
Nick Martin
1db094b411 Revert "Ignore packages with malformed versions or malformed constraints"
This reverts commit 8fe23b418b.
2014-09-25 11:41:56 -07:00
ekatek
64b0ea4f5b increment package numbers 2014-09-24 23:41:17 -07:00
Avital Oliver
1cf8b1d4d5 Merge branch 'release-0.9.3-lenient-version-numbers' into release-0.9.3
Conflicts:
	tools/package-version-parser.js
2014-09-24 23:21:01 -07:00
Avital Oliver
8fe23b418b Ignore packages with malformed versions or malformed constraints
This allows us to later increase the pool for well-formed versions without requiring
moving the catalog's data.json into a new folder, which would require re-syncing
the entire catalog.
2014-09-24 23:19:59 -07:00
ekatek
245059ef49 if we are asking for a prerelease, we should run the same comparison as normal
Previously, if we were asking for a pre-release, we would only return true if it was the
same pre-release, or at least on the same release. But that's not true. 1.2.4 should be valid
if we want 1.2.4-rc0, for example, and, even 1.2.3-rc0. (I mean, if it has the same ecv, which
it might not). This is also what was causing some of the issues around 0.9.1 rollout, we think. So,
we are going to try treating rcs like normal versions as far as comparisons go. We still don't want to
give you an rc unless you asked for it though.
2014-09-24 21:28:36 -07:00
Avital Oliver
6feb5da948 Let pre-release versions upgrade to later pre-release versions
But only if they're on the same base version.
2014-09-24 21:07:09 -07:00
ekatek
620dde5306 correcting a mistype in a field: since we changed the schema, this should be constraint.name 2014-09-24 17:53:37 -07:00
Avital Oliver
c496bd716b Correct but failing test for lenient parsing of bad version number 2014-09-24 16:16:39 -07:00
ekatek
220cc69e31 package versions incremented 2014-09-19 21:16:14 -07:00
ekatek
e1d6167be1 fix constraint solver test failure by fixing the test to use the new api: 2014-09-19 17:24:45 -07:00
ekatek
9c99638c7f be more consistent about using utils.parseConstraint in the tool; test for either-version 2014-09-19 16:56:24 -07:00
ekatek
d8377487dc support multiple major versions in meteor 0.9.3 and above. A little hacky in the tool around keeping old interfaces, but it works 2014-09-18 00:12:30 -07:00
David Glasser
ba9ec26b97 constraint solver errors: ignore unibuilds
Most people think of package deps in terms of packages, not unibuilds,
but our constraint solver has all these generated "if you're using
foo#os@1.0.0, use foo#web.browser@=1.0.0" constraints. They are just
distracting in errors (which already hide the unibuild part for
clarity) so make sure we don't see them in paths either.

(I could imagine a flag/env var that skips all the removeUnibuild calls
and this special processing, for "gory details" mode.)
2014-09-12 12:27:52 -07:00
David Glasser
ae71b7857a handle last error case 2014-09-11 14:18:42 -07:00
David Glasser
1355f59df2 Change a "shouldn't happen" into a thrown Error 2014-09-11 14:18:42 -07:00
David Glasser
ca7e56fd01 test another message 2014-09-11 14:18:42 -07:00
David Glasser
06c9bcca95 fix another message 2014-09-11 14:18:42 -07:00
David Glasser
7e375f8457 refactor tests 2014-09-11 14:18:42 -07:00
David Glasser
0eccb57f7a Improve error message on one particular conflict 2014-09-11 14:18:41 -07:00
David Glasser
6b420acfea Skip ResolverState clone on duplicate constraint 2014-09-11 14:18:41 -07:00
David Glasser
e8ab6cd9db Fix another test for f02314f66e
(This is one of the tests that only runs with 'meteor self-test --slow
constraint-solver'.)
2014-09-10 20:11:11 -07:00
David Glasser
186fa26eff Don't skip initial constraints with useRCsOK!
Also, we can still calculate topLevelPrereleases since maybe that can be
used for better diagnostics or something
2014-09-10 19:30:28 -07:00
David Glasser
a1e1da9d19 Throw if final resolver attempt throws. 2014-09-10 16:31:29 -07:00
David Glasser
8f60d6fe3e Fix constraint solver tests for f02314f66e
Note that we now avoid adding usedRCs:undefined to the resolver return
value, since that makes tests annoying (especially since our display
drops undefined, ah well).
2014-09-10 16:25:04 -07:00
ekatek
f02314f66e glasser's responses on the -rc changes 2014-09-10 15:53:23 -07:00
ekatek
69f637c8e5 glassers comments on wrap numbers 2014-09-10 15:53:23 -07:00
ekatek
8f29056b4c wrapping external library versions support in p-v-p and constraint-solver 2014-09-10 15:53:23 -07:00
ekatek
7038f3437e if all else fails, try RCs all the time 2014-09-10 15:53:23 -07:00
David Glasser
53e240c70e When upgrading packages, don't pin anything.
Fixes #2526.
2014-09-05 14:54:23 -07:00
Matthew Arbesfeld
fca5c382d5 Merge branch 'release-0.9.1' into cordova-hcp
Conflicts:
	docs/client/api.html
	docs/client/api.js
	meteor
	packages/autoupdate/autoupdate_server.js
	packages/autoupdate/package.js
	packages/constraint-solver/package.js
	packages/less/package.js
	packages/meteor-tool/package.js
	packages/meteor/package.js
	packages/minimongo/package.js
	packages/mongo-livedata/package.js
	packages/oauth1/package.js
	packages/package-version-parser/package.js
	packages/spiderable/package.js
	packages/standard-app-packages/package.js
	packages/templating/package.js
	packages/test-in-console/package.js
	packages/webapp/package.js
	scripts/admin/meteor-release-experimental.json
	scripts/generate-dev-bundle.sh
	tools/uniload.js
2014-08-28 21:13:59 -07:00
Avital Oliver
864fffc9e9 Bump package versions in preparation for 0.9.1-rc0 2014-08-28 11:00:35 -07:00
Matthew Arbesfeld
d14d2c74b0 bump cordova 5 2014-08-27 17:18:48 -07:00
David Glasser
d101f93305 Allow @1.0.0 to match @1.0.2-cordova if requested
(eg, if 1.0.2-cordova is in the release)
2014-08-27 17:09:22 -07:00
David Glasser
a30b811aa9 Allow @1.0.0 to match @1.0.2-cordova if requested
(eg, if 1.0.2-cordova is in the release)
2014-08-27 17:08:20 -07:00
Emily Stark
b0e0ccb5a4 Bump package versions for 0.9.0.1 2014-08-27 15:16:49 -07:00
Emily Stark
1b639e5853 Bump package versions for 0.9.0.1-rc1 2014-08-27 14:28:03 -07:00
Matthew Arbesfeld
124b0d869e Bump versions for CORDOVA-PREVIEW@4 2014-08-27 13:41:07 -07:00
David Glasser
6a6837e32c Fix constraint solver benchmark 2014-08-26 22:16:09 -07:00
David Glasser
43e01c09eb Improve treatment of prerelease (dashed) packages
Drop the "at-least" constraint type entirely. It was not user-accessible
and was only used in the form ">=0.0.0" to represent a constraint with
no version constraint at all. This type of constraint is now called
"any-reasonable".

The definition of "any-reasonable" is:

  - Any version that is not a pre-release (has no dash)
  - Or a pre-release version that is explicitly mentioned in a TOP-LEVEL
    constraint passed to the constraint solver

For example, constraints from .meteor/packages, constraints from the
release, and constraints from the command line of "meteor add" end up
being top-level.

Why only top-level-constrained pre-release versions, and not versions we
find explicitly desired by some other desired version while walking the
graph?

The constraint solver assumes that adding a constraint to the resolver
state can't make previously impossible choices now possible.  If
pre-releases mentioned anywhere worked, then applying the constraints
"any reasonable" followed by "1.2.3-rc1" would result in "1.2.3-rc1"
ruled first impossible and then possible again. That's no good, so we
have to fix the meaning based on something at the start.  (We could try
to apply our prerelease-avoidance tactics solely in the cost functions,
but then it becomes a much less strict rule.)

At the very least, this change should allow you to run meteor on a
preview branch like cordova-hcp without getting a conflict between the
prerelease package on the branch/release and the lack of an explicit
constraint in .meteor/packages on that package, because we are
reintepreting the .meteor/packages constraint as meaning "anything
reasonable" and the in-the-release version counts as reasonable.
2014-08-26 21:54:48 -07:00
David Glasser
0030c3a1d7 rc21 2014-08-25 21:23:49 -07:00
David Glasser
5c5092eeae Test for bfb8359
This only tests the resolver part of the change, not the change that
gets the right data from "meteor add" into the solver.
2014-08-25 21:05:12 -07:00