Commit Graph

332 Commits

Author SHA1 Message Date
Matthew Arbesfeld
66e8f13ea9 Merge branch 'devel' into cordova-hcp
Conflicts:
	meteor
2014-08-13 17:37:05 -07:00
Matthew Arbesfeld
c9476a350f Fix typo in autoupdate and bump autoupdate package version. 2014-08-13 17:36:12 -07:00
Matthew Arbesfeld
10c3426cb9 Add bundle help.txt 2014-08-13 15:44:01 -07:00
Matthew Arbesfeld
8a343acf68 Fix change cordova plugins test 2014-08-13 15:11:59 -07:00
Matthew Arbesfeld
e9b9132a04 Merge branch 'devel' into cordova-hcp
Conflicts:
	meteor
	tools/catalog.js
	tools/commands-packages.js
	tools/commands.js
2014-08-13 15:07:42 -07:00
ekatek
dfd1fbcb22 be more tolerant of unknown keys and some cosmetics 2014-08-13 17:45:27 -04:00
ekatek
a152d97bec help and tests for show 2014-08-13 13:18:20 -04:00
Slava Kim
77735628de Adjust tests 2014-08-11 23:26:18 -07:00
David Glasser
3656356f22 test for breaking/fixing package.js 2014-08-11 17:59:15 -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
Matthew Arbesfeld
1f6f15dc20 Fix autoupdate in cases where Autoupdate.autoupdateVersion is set.
If Autoupdate.autoupdateVersion is set outside of the Autoupdate
package, we wouldn't notify the client of the new version. This
patch simplifies the updating logic by only having one document
per version type.
2014-08-10 17:27:22 -07:00
Matthew Arbesfeld
d815e35bf2 Fix remove cordova:XXX and test list 2014-08-08 17:20:54 -07:00
Matthew Arbesfeld
207378bc83 Fix settings logic 2014-08-08 17:04:28 -07:00
Slava Kim
85a1233a87 Better error messages around adding platforms/plugins 2014-08-08 15:03:52 -07:00
Matthew Arbesfeld
4ed38d2403 Add bundle ios command and fix tests 2014-08-07 17:10:10 -07:00
Matthew Arbesfeld
803ae5bec4 Get Cordova tests to pass 2014-08-07 17:10:10 -07:00
Matthew Arbesfeld
9b82aff6ba Refactor commands so that plugins are added to the Cordova project 2014-08-07 14:30:24 -07:00
Matthew Arbesfeld
98cf0ae6e9 Wip refactoring 2014-08-07 14:30:24 -07:00
David Glasser
9c7fd931f8 updated versions in tools/tests/old
(Should these files really be checked in? With tools/tests/apps, the
apps are always copied into a temp directory before running meteor,
which is better.)
2014-08-06 19:56:48 -07:00
David Glasser
52230a8d79 fix 'update server package data unit test'
various things were not talking to the test server / storage file
2014-08-06 19:56:48 -07:00
Matthew Arbesfeld
4d288bd39b Fix the case where the autoupdateVersion and autoupdateVersionRefreshable
strings are identical in the autoupdate package.

If the server set AUTOUPDATE_VERSION, this case was alsways triggered.
2014-08-06 17:36:12 -07:00
Matthew Arbesfeld
59782157db Add platforms test, doesn't pass yet 2014-08-06 16:00:15 -07:00
Matthew Arbesfeld
9f2ee36e60 Merge branch 'packaging' into cordova-hcp
Conflicts:
	packages/constraint-solver/constraint-solver-tests.js
	packages/constraint-solver/constraint-solver.js
	packages/less/plugin/compile-less.js
	packages/meteor/plugin/basic-file-types.js
	packages/star-translate/translator.js
	packages/stylus/plugin/compile-stylus.js
	packages/templating/plugin/compile-templates.js
	packages/webapp/webapp_server.js
	tools/bundler.js
	tools/commands.js
	tools/compiler.js
	tools/package-source.js
	tools/run-app.js
	tools/selftest.js
	tools/tests/old/test-bundler-assets.js
	tools/tests/old/test-bundler-options.js
	tools/unipackage.js
2014-08-06 13:43:56 -07:00
David Glasser
332215ae7d wipe all packages (from this server) on resetData
note that we should NOT wipe the symlinked tool if we're running from a
release, but we haven't done that yet
2014-08-05 17:59:38 -07:00
David Glasser
0422dfb5c6 fix updateServerPackageData test 2014-08-05 15:48:27 -07:00
David Glasser
ddc3657e4f Watch files which fail before emitting a resource
Regression introduced by the CSS watching code (specifically, f230eba62)
by the sourceIsWatched check. We need to be able to tell the difference
between "source handler didn't do anything because there was an error"
and "source handler didn't do anything because it's web-specific and
this is an os arch".

A simple fix would have been to interpret compileStep.error as
"sourceIsWatched = true", but I didn't think of that until after doing
it the slightly more complicated but more precise way :)

Also, ensure that if the runner rebuilds the client and there's an
error, it properly kills the app process (and the watchers and the
keepalive interval, etc).
2014-08-04 21:32:22 -07:00
David Glasser
7d05640ea0 Make buildmessage fiber-aware
Port a simplified version of Meteor.EnvironmentVariable and
Meteor.bindEnvironment to fiber-helpers.js to deal with this.

Identify uses of fiberHelpers.inFiber and switch them to either
fiberHelpers.bindEnvironment (if the callback they are wrapping is
semantically "part of" the context that creates the callback) or
fiberHelpers.inBareFiber (otherwise).

Without this, concurrency was causing the wrong buildmessage message
sets and jobs to be active when builds yielded.
2014-08-04 19:03:05 -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
06a7dc90b5 Add many buildmessage.capture/assertInCapture
Moving towards a world where all things that might invoke buildmessage.error are
encouraged to be in a buildmessage.capture.

This commit is the answer to the question "how many small changes need to be
made to add buildmessage.assertInCapture to PackageCache.loadPackageAtPath?"

Next steps include:
 - Making catalog.resolveConstraints ALWAYS buildmessage.assertInCapture
   (not just when ignoreProjectDeps isn't passed)
 - Then changing resolveConstraints to complain using buildmessage
 - Removing the process.exit(1) in _ensureDepsUpToDate
 - Adding a more structured way to ensure that most commands
   call _ensureDepsUpToDate at an unsurprising location
2014-07-30 22:16:21 -07:00
David Glasser
cd57ac3535 isolate different servers' packages
also, in self-test, only set $METEOR_PACKAGE_SERVER_URL for the specific
runs that actually want the test server (using a tag) rather than kinda
always by accident
2014-07-28 20:45:08 -07:00
David Glasser
381956d40b make a test failure not abort the whole self-test 2014-07-28 17:37:20 -07:00
Matthew Arbesfeld
b8ae210d9b Add documentation 2014-07-28 17:12:26 -07:00
Matthew Arbesfeld
55fe8a8aae Fix hot code push client-side reloads.
We were overwriting the server directory when a client-side file changed,
which made all process calls fail, such as process.cwd() and fs.*. We
abstracted out some of the builder code so that only the client targets
are "rebuilt" when a client side file changes.
2014-07-28 17:12:26 -07:00
ekatek
3aff2199cc fixing old cli test 2014-07-28 16:09:19 -07:00
David Glasser
5b69c7c25b fix report-stats test from release 2014-07-28 16:07:42 -07:00
David Glasser
b7fa7e2452 don't run constraint-solver test from release 2014-07-28 16:07:41 -07:00
Matthew Arbesfeld
2e3b9be131 Fix cordova plugins test 2014-07-28 14:17:38 -07:00
Matthew Arbesfeld
5e3c5333a0 Adjust tests for plugins 2014-07-28 13:33:47 -07:00
Matthew Arbesfeld
0c66b87b56 Merge branch 'packaging-fix-server-dir' into cordova-hcp
Conflicts:
	tools/bundler.js
2014-07-28 12:25:53 -07:00
Emily Stark
9e65038d08 Update "old cli test" for new 'meteor remove' output 2014-07-28 10:46:15 -07:00
Matthew Arbesfeld
cd6cbe9a79 Add documentation 2014-07-25 17:31:05 -07:00
Matthew Arbesfeld
5827607c48 Fix hot code push client-side reloads.
We were overwriting the server directory when a client-side file changed,
which made all process calls fail, such as process.cwd() and fs.*. We
abstracted out some of the builder code so that only the client targets
are "rebuilt" when a client side file changes.
2014-07-25 17:16:37 -07:00
ekatek
a58f2c3bb2 mark some mroe tests as net with comments; first pass on making it ... exit, instead of craash in ensureDeps. Next up, maybe it can do something better than process.exit 2014-07-25 15:34:54 -07:00
ekatek
c622fb4072 label online tests as online 2014-07-25 14:40:43 -07:00
Matthew Arbesfeld
960f8907d3 Merge branch 'packaging' into cordova-hcp
Conflicts:
	packages/constraint-solver/constraint-solver.js
	packages/webapp/webapp_server.js
	tools/tests/package-tests.js
2014-07-25 13:52:34 -07:00
Avital Oliver
a8e372221d Correct comment 2014-07-24 23:35:01 -07:00
ekatek
83ac27f9c4 A separate data.json for each package server 2014-07-24 18:36:15 -07:00
ekatek
af8c532411 Fix add-package test with new output. 2014-07-24 18:35:05 -07:00
David Glasser
4428f2b06d sync tests passes 2014-07-24 17:12:14 -07:00
David Glasser
a548efe175 ignore unknown packages in .meteor/versions
Hopefully this isn't ignoring real error cases. The whole
previousSolution data-rewriting hack probably needs to be fixed
anyway. But this seems to work?
2014-07-24 15:26:55 -07:00