Commit Graph

2069 Commits

Author SHA1 Message Date
David Glasser
ca7217bc18 patch releases need to be recommended
for them to work with update --patch

or for them to be advertised
2014-08-25 14:13:05 -07:00
David Glasser
106bde8163 First draft of banners and upgraders.
old-banner needs to be manually copied into manifest.json
2014-08-25 14:00:04 -07:00
David Glasser
2e259e61c2 update old test version, sigh 2014-08-25 13:47:08 -07:00
David Glasser
4482427da5 make cli-tests tests 2014-08-25 12:31:37 -07:00
David Glasser
d5e659b5e4 ellipsis instead of truncation for meteor list 2014-08-25 12:14:10 -07:00
David Glasser
0ce077f350 Remove unnecessary colon 2014-08-25 12:07:15 -07:00
David Glasser
231f74bbb6 something more like a real notice 2014-08-25 12:05:30 -07:00
David Glasser
5b92dfd85f "better" error handling for compiler constraints
This before was just an uncaught exception. Now it's exit(1), which is
bad too.  This should just use buildmessage, but for some reason that
doesn't work here.
2014-08-25 11:17:57 -07:00
David Glasser
175fd7c3b4 minor test cleanup 2014-08-25 09:42:21 -07:00
David Glasser
2d5e3bb745 package wipe: work around random files
Fixes #2433.
2014-08-25 09:38:52 -07:00
David Glasser
a247b79aa1 test version bumps, sigh 2014-08-24 21:17:58 -07:00
David Glasser
0a47309ce6 fix change-homepage help 2014-08-24 20:52:00 -07:00
David Glasser
d4280a22eb make "no compatibile build" error not bracketed
this function needs to be rewritten, but not today
2014-08-24 20:18:43 -07:00
David Glasser
9ee39f2807 Add XXX comment to publish-for-arch 2014-08-24 19:54:44 -07:00
David Glasser
24d844a808 consistently handle package server calls
I don't love this idiom but we might as well use it consistently.

This will mean that, eg, errors from the server will not be stack
traces.
2014-08-24 19:51:41 -07:00
David Glasser
ac7915b90b print correct maintainers after add/remove 2014-08-24 19:31:33 -07:00
David Glasser
d30efc2ae8 don't print publish-for-arch warning on failure 2014-08-24 19:01:24 -07:00
David Glasser
08b2625082 METEOR-CORE -> METEOR 2014-08-24 18:46:37 -07:00
David Glasser
3f63c748ac Prevent accidental top-level package creation 2014-08-23 19:51:46 -07:00
David Glasser
95cfa87de1 Use unmigrated flag instead of description check 2014-08-23 16:33:25 -07:00
David Glasser
7fe36fb904 Actually, --show-old 2014-08-23 16:06:32 -07:00
David Glasser
80d271fa24 Rename search/show --show-broken to --include-old 2014-08-23 16:02:23 -07:00
David Glasser
bc8d2e0459 Ensure we find out about newly published *builds*
Reported at
https://github.com/meteor/meteor/issues/2405#issuecomment-53144897

Basically, we were smart enough to refresh if the local cache didn't
know about the *VERSION* but if it knew about the version but not about
the relevant build, we did not refresh.
2014-08-23 15:52:38 -07:00
David Glasser
7c23ca5fde 'curmeteor update' should still update packages 2014-08-23 15:15:37 -07:00
ekatek
ce99e88ee7 some new lines in error output 2014-08-23 13:48:46 -07:00
David Glasser
f37cfafd18 Fix for programs with attributes.json type client 2014-08-22 19:38:24 -07:00
David Glasser
a8e8995c91 Support comments in .meteor/.id file
Make project.rootDir be absolute in 'meteor create'
2014-08-22 18:04:24 -07:00
David Glasser
412033f7c4 Support comments in .meteor/.id 2014-08-22 17:54:44 -07:00
David Glasser
131b73bc71 update tools/tests id files
really, these directories shouldn't have the files, we should copy to a
temp dir...
2014-08-22 17:33:36 -07:00
David Glasser
c4948d8dff rename .meteor/identifier -> .meteor/.id 2014-08-22 17:31:21 -07:00
David Glasser
1ff2c3bae9 Bundle build before creating time-sensitive URL 2014-08-22 12:41:16 -07:00
David Glasser
55d1901729 Remove dormant "no-downgrade constraint" code
Also removes 'update --minor' and 'add --force'.

In the constraint solver, previousSolution (ie, .meteor/versions) was
intended to be used for three purposes:

  (a) The *heuristic* used in the state graph walk to decide what state
      to look at next:
       - VERY STRONGLY prefers not to downgrade *root* dependencies or
         change them to incompatible newer versions
       - Kinda Strongly prefers not to upgrade root dependencies far
       - mildy prefers not to change transitive dependencies (in any
         direction)

  (b) Actual *constraints* are added to the set of constraints we are
      trying to solve, which state that *root* dependencies are not
      to be downgraded.  Additionally, in most invocation contexts,
      constraints are added that say that *root* dependencies are
      not to be upgraded to incompatible versions (1.3.0 -> 2.0.0).
      The only contexts that lack the secondary constraints are
      part of 'update --minor', and 'add --force'.

  (c) A more recent change (past few weeks): When running the constraint
      solver, we actually run the core constraint solving algorithm
      twice. The first time, we add *equality* constraints for all
      of the previous versions.  If that succeeds, great!  We're not
      changing any versions (we may add packages that we didn't have
      before or drop packages that are no longer needed, though).

      Otherwise, we run the constraint solver again without the equality
      constraints.

However, due to a bug introduced in May in 0760ffbc36, (b) actually
*never happened*.  The commit was the one that intended to make the
(b) constraints only be for root dependencies. But the line:

     if (! _.contains(dependencies, uv.name))

is comparing 'uv.name' (something like 'foo#web.browser') to
'dependencies' (a list of things like 'foo'). So in fact, it thinks that
no dependencies are root and doesn't apply the constraints.

That's actually good, because this code is used in many more places than
just 'meteor update', and applying these things as strong constraints
would actually be problematic; eg, it would break 'meteor --release
slightlyolderrelease'!

In addition, the `update --minor` flag was actually not implemented (it
was not in the command declaration).

So for now, we're removing this dead code.  We may reintroduce 'update
--minor' or 'add --force' later.  We trust that the heuristic will do a
decent job of preventing unnecessary downgrades or incompatible upgrades
while still allowing you to run updates to an older version, eg.

(And in the future, we may change 'meteor update' to use the constraint
solver to figure out which release to update to, rather than going for
the latest one that there exists any solution for.)
2014-08-21 23:20:17 -07:00
David Glasser
a4c5009cea fix 'sync local catalog' test
there was an unnecessarily strong ordering assumption
2014-08-21 19:43:54 -07:00
David Glasser
1843ba0cd6 fix help test 2014-08-21 19:37:23 -07:00
David Glasser
1ff35e49fb list-sites sorts its output. fix test. 2014-08-21 19:37:05 -07:00
David Glasser
5fbb8bc9f1 help update for create --package 2014-08-21 18:45:08 -07:00
Emily Stark
3c6c51acd1 Add extra check in stats retrieval in test 2014-08-21 18:31:46 -07:00
Emily Stark
1852e7b2c0 Update test for new package stats format 2014-08-21 18:23:38 -07:00
Emily Stark
81a0a0c7e2 Update to new package stats format 2014-08-21 18:23:38 -07:00
Emily Stark
0c2dd7aff4 Change package stats server hostname 2014-08-21 18:23:37 -07:00
David Glasser
e36c4184ab fix old bundler test failure 2014-08-21 17:46:51 -07:00
David Glasser
bc1520cbdd great, now we can use parseConstraint 2014-08-21 17:09:36 -07:00
David Glasser
5d5d1876da De-dup package name/constraint parsing code
Now we can all any of them from even before uniload is ready in the tool

I <3 symlinks
2014-08-21 17:00:21 -07:00
David Glasser
a9c740165c stop uniload packages from using versionsFrom
They don't need to and it won't work.
2014-08-21 16:52:02 -07:00
David Glasser
d6855456a2 Use buildmessage better in api.use, etc
Provide good messages when you provide invalid things to api.use and
api.imply.

Provide better message when you provide invalid things to
api.versionsFrom.

Drop "notInitialized" hack from catalog: now that we load things in
order, it's not necessary.  (This means life will break if you use
api.versionsFrom in a uniloaded package. So don't do that.)
2014-08-21 16:48:13 -07:00
David Glasser
2453820597 fix buildmessage errors within onUse/onTest
Adding buildmessage.markBoundary ensures that we don't display a stack
containing the call stack in the tool above this point.
2014-08-21 16:42:46 -07:00
David Glasser
5bc415c51a Improve package name/version parsing errors
We now throw more specific errors, consistent between both tools and
package-version-parser (copy-and-pasted code, sadly, but we really do
have to make this check before uniload-from-checkout).
2014-08-21 16:21:12 -07:00
David Glasser
c68e1489bd 'meteor create --package foo' in app DTRT
It puts the package in $APPROOT/packages/foo instead of ./foo.
2014-08-21 15:06:46 -07:00
ekatek
2f73eebf0a even better wording 2014-08-21 15:01:58 -07:00
ekatek
7f0e7eee67 even better wording 2014-08-21 15:00:48 -07:00