Commit Graph

94 Commits

Author SHA1 Message Date
David Glasser
bc1520cbdd great, now we can use parseConstraint 2014-08-21 17:09:36 -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
ekatek
e859266aaf changes, as per glasser's code review 2014-08-21 13:41:29 -07:00
ekatek
b29a4cc439 more detaled wip on name coming from package.js 2014-08-19 12:32:16 -07:00
David Glasser
2755f95bb6 Move uniload package list to uniload.js
Actually verify that uniloaded packages are in the list. Add missing
'ejson'. Remove (ah well) test that relies on ability to uniload an app
package (which shouldn't work anyway, but it would be nice to test
uniload Assets...)
2014-08-13 18:11:46 -07:00
David Glasser
b6955a3899 Move towards non-singleton catalog.complete
We're going to make uniload use a different flavor of "complete" catalog
soon.  So we need to reduce the number of singleton-ish references to
it.

Also, we need one PackageCache per catalog, so stop it from being a
singleton too.
2014-08-13 18:11:46 -07:00
ekatek
25328f1298 init options if blank 2014-08-13 19:00:16 -04:00
David Glasser
4ac78a3646 Move DEFAULT_TRACK to catalog module
It's a constant, so no need to have to think "hmm, I wonder if I should
be writing catalog.official.DEFAULT_TRACK or
catalog.complete.DEFAULT_TRACK?"
2014-08-13 15:39:03 -07:00
ekatek
dfd1fbcb22 be more tolerant of unknown keys and some cosmetics 2014-08-13 17:45:27 -04:00
David Glasser
64d939acb2 Add a lot more buildmessage captures
Many of these (mostly in top level commands in commands-packages.js) are
not super well thought out: they use a new "doOrDie" helper to run some
function in a capture and exit if there are any messages.  We really
need to get a little more thoughtful about the big picture of error
handling (combining "build" errors, network errors, catalog errors,
etc). But this at least allows the addition of more buildmessage
assertions.

At the very least, this ensures that if you edit a package.js in a local
package while "meteor run" is running, that instead of crashing the tool
it properly shows the buildmessage and lets you fix the issue.
2014-08-11 17:06:28 -04:00
ekatek
b2b689b2f8 let users have versionless local packages 2014-08-06 20:33:02 -07:00
ekatek
ad708ca569 this should fix local versionsFrom in most cases and is technically right 2014-08-05 13:31:24 -07:00
David Glasser
62db7b694c api.versionsFrom may only be called once 2014-08-05 13:17:26 -07:00
ekatek
9d5aa280c3 invalid release should be a buildmesage, not an error 2014-08-01 00:13:08 -07:00
Matthew Arbesfeld
8bcbd65344 Separate "browser" target into web.browser/cordova
Cordova projects often have a different set of files than web targets,
so we would like to be able to target different client architectures in
our bundles. Ideally, we allow the user to use arbitrary client
architectures - but this patch is a step in the right direction by
abstracting out more of the hard coded "browser"/"os" lines.

We accomplish this separation in a backwards compatible way by allowing
api.___ commands to target a "client" architecture. For example,
api.addFiles('a.js', 'client') adds 'a.js' to both the 'client.browser'
and 'client.cordova' targets.

Effects on 0.9 packaging stuff: packages don't have to change, but the
"data.json" file in ".meteor0" has "browser" in some places. We think we
have to fix the troposphere code where this data.json is created.

Some plugins will also be backwards-incompatible with this change, since
many have a "clientArch.matches("browser")" line in the plugin
code. Ideally, we fix plugins so that this stops being an issue, but for
now package authors can just patch that line.

At the compiled (unipackage) level the new names are 'web.browser' and
'web.cordova', replacing 'browser'. In package.js, the new names are
'client.browser' and 'client.cordova', serving as an adjunct to 'client'.
2014-07-31 14:12:15 -07:00
David Glasser
4a231a4c76 improved error handling around bad versions 2014-07-25 14:39:30 -07:00
Avital Oliver
a533f1ed5d When calling versionsFrom with no track, default to METEOR-CORE
Also a small restructuring I thought I'd need for this test, but ended
up not needing. But it's nice anyways.
2014-07-23 20:25:50 -07:00
Emily Stark
bc7b92a643 Experiment: remove unknownItem flag
Simplifies loading unknown packages/releases.
2014-07-23 17:54:16 -07:00
ekatek
1e1f4b2e8a catalogs talk to each other 2014-07-22 18:40:25 -07:00
ekatek
3b4c9098a9 test for sync 2014-07-21 14:05:45 -07:00
ekatek
01102d2d44 getting rid of githubUrl and replacing it with git
Conflicts:
	tools/package-source.js
2014-07-09 14:32:59 -07:00
ekatek
a6858083d4 move to camelcase for onUse and onTest handlers. Tests coming up as part of improving create --package 2014-07-08 22:41:21 -07:00
ekatek
b9a714f028 ripping out internal, name and test from package.js files 2014-07-07 20:50:50 -07:00
ekatek
594a825b66 allow override in getting release version from an uninitialized catalog 2014-06-30 16:53:43 -07:00
ekatek
fee935e24a rename versions files and don't write versions files for tests 2014-06-30 15:25:43 -07:00
ekatek
ba2c483af5 make the prefix local-test 2014-06-30 15:25:31 -07:00
ekatek
1009e0ec2a rename the test postfix to prefix 2014-06-30 15:25:19 -07:00
David Glasser
16a44ed9cf packages/non-core/foo is not in core 2014-06-26 13:53:14 -07:00
David Glasser
f2e1ef9946 more error for the thing we're seeing 2014-06-26 13:53:14 -07:00
David Glasser
cffc1ed1cc camelcase api.versionsFrom and api.addFiles
Leave around api.add_files so as to not break literally every
package. Leave our own uses of it alone until after merging to devel, so
that merging package.js files isn't a nightmare.
2014-06-24 16:11:30 -07:00
ekatek
2db65c09a7 renaming soure to versions_from in package-source api 2014-06-24 15:50:26 -07:00
ekatek
459b1a588e replacing repositoryUrl with homepage and adding an optional githubUrl field to version 2014-06-23 17:10:02 -07:00
David Glasser
4f3aa0fc53 initial checkpoint for "buildArchitectures"
this is a string like "browser+os"
2014-06-17 17:48:08 -07:00
David Glasser
87eb6977a7 package-loader and package-source 2014-06-17 17:33:56 -07:00
David Glasser
2e5adc2659 fix autoupdate test
also fixes a bunch of other stuff like:

- parseStack markTop works again (so you get the right line numbers in
  self-test)

- you can (with appropriate env var) run apps with NO PACKAGES at
  all (even ctl)

- more consistently refer to METEOR-CORE@ releases as "Meteor 1.2.3"
2014-06-17 14:26:29 -07:00
David Glasser
a2663aeaaf follow-up to 15389fa740 2014-06-17 09:45:01 -07:00
ekatek
15389fa740 don't throw if there is no specified version, unless told to. Mostly because programs don't need versions anymore 2014-06-16 23:06:10 -07:00
ekatek
bb77100672 DO NOT remove the : character when sanitizing paths. That breaks NPM for packages 2014-06-16 21:03:07 -07:00
ekatek
722a99bb09 cleanup 2014-06-16 14:49:36 -07:00
ekatek
8ff8040924 no longer require test & name in package.describe 2014-06-16 14:38:47 -07:00
ekatek
9244e13626 mark core packages 2014-06-15 16:29:03 -07:00
ekatek
73a39de634 force packages to specify dependency constraints 2014-06-15 16:29:03 -07:00
David Glasser
2412a3493f don't expect version file to definitely be there
hacks upon hacks, my friend.
2014-06-13 17:31:48 -07:00
ekatek
0633b4855d write out version files, except for packages in checkout 2014-06-07 16:49:56 -07:00
ekatek
b97f7c5a76 renamed some catalog variables, more cleanup around catalog 2014-05-27 16:07:43 -07:00
ekatek
f70099c992 apps run tests do not 2014-05-21 17:41:18 -07:00
ekatek
6f3504a2d3 project refactoring, wip 1 2014-05-21 15:42:12 -07:00