Commit Graph

317 Commits

Author SHA1 Message Date
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
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
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
ekatek
4205a06ba2 add exact constraints 2014-07-24 15:13:47 -07:00
ekatek
335dc4a312 mark tests as online, refresh catalog to the right server after self-test 2014-07-24 15:13:46 -07:00
Avital Oliver
a6db03f131 Unbreak hot code push test by eliminating references to non-existent spacebars-common package 2014-07-23 20:27:35 -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
ekatek
5ff34557a1 calculate versions earlier to be wary of race conditions 2014-07-23 16:36:18 -07:00
Avital Oliver
67c47a9086 A test now correctly uses a non-existent but correctly named release 2014-07-23 13:56:37 -07:00
Emily Stark
1e83c64183 Add test for 61bf03c (get all pages back from updateServerPackageData) 2014-07-23 12:40:51 -07:00
Matthew Arbesfeld
3866b6cb98 Add test for missing dependency version in cordova plugin add 2014-07-23 11:21:19 -07:00
Matthew Arbesfeld
72c3df7c89 Only accept exact version of Cordova plugins in packages. 2014-07-23 11:13:15 -07:00
Emily Stark
0f0c7b1709 Add some expectExits to "sync local catalog" test 2014-07-23 00:04:17 -07:00
Slava Kim
46ecdff6d0 Tests pass for cordova "add packages" and "change packages" 2014-07-22 20:00:20 -07:00
Slava Kim
d4d391f50a Fixed settings.json for cordova test 2014-07-22 19:25:23 -07:00
ekatek
1e1f4b2e8a catalogs talk to each other 2014-07-22 18:40:25 -07:00
Matthew Arbesfeld
4f7bbd47df Add settings.json for cordova settings 2014-07-22 18:20:13 -07:00
Slava Kim
4f3dc51119 Cordova plugins from git's tarball urls and project-level plugins 2014-07-22 18:15:07 -07:00