Commit Graph

154 Commits

Author SHA1 Message Date
David Glasser
f78184c497 Disallow plugins and imply in debugOnly packages 2014-10-07 18:26:21 -07:00
ekatek
e0414f2ed5 allow user to mark packages as debugOnly and not have them bundle in production mode
(still outstanding: changes to package publication workflow)

A package marked debugOnly in the package source is not to be bundled in production.
Moreover, if a package/app depends on a debugOnly package, that entire tree should
not be bundled. (But we should take it into account when figuring out versions!)

Does the following:

- In the catalog, we have a function that takes in a set of versions and a set of original
constraints and traverses it, recursively, to build a subset of versions that we *should*
bundle, and the corresponding subset of versions that we shouldn't (because they are either
debugOnly themselves or pulled in by debugOnly packages). (We do this in the catalog because
it is an addon onto the results of the constraint solver, tied deeply into our representation
of data)

- In the packageLoader, we keep track packages & versions that we should bundle, and also,
packages that we should exclude. We do this in the package-loader because, essentially, that's the
object that we use to keep the results of the constraint-solver, and we already propagate it to all
functions that care about it. (Possibly we should subsequently rename it later).

- In the compiler, when we figure out buildTimeDependencies, we ask if we need to bundle debug
builds. If not, we filter them out (see above). Also, when we actually build together unibuilds,
we don't touch the ones that the packageloader tells us to exclude (which ensures that they don't make
it into the final product).

- In the project, we keep track of whether this project is building in debug mode. That's because the project
is where we keep the state of our curent project that we are building, and if we are ever in the state of
building multiple things, then that's the code that we would need to touch (see also that we make a similar
assumption when solving constraints).

- Adds the option to keepthe project debug-build-free and calls it in commands when approporiate.
2014-10-07 15:55:50 -07:00
Sashko Stubailo
a1f9d36836 Merge branch 'devel' of github.com:meteor/meteor into devel
Conflicts:
	docs/client/data.js
2014-10-07 13:46:27 -07:00
Sashko Stubailo
b9db774834 Fix broken links and release headline 2014-10-07 13:46:00 -07:00
David Glasser
f0155d2b3d Delete docs about wrap numbers and ECV
This sentence is about ECV but nothing else in the docs discusses ECV
and it doesn't use that term. So it's actually kind of confusing; to me,
it suggested that asking for `1.2.3_1` might give you `1.2.3`, which is
not true.
2014-10-07 11:45:52 -07:00
David Glasser
1779d62281 some packaging-related docs cleanups
also, add instructions to the top of docs.js
2014-10-06 21:50:00 -07:00
ekatek
d3880241f5 fixing error message, we do not allow 0 wrap numbers 2014-10-02 17:34:53 -07:00
ekatek
7d77456509 fix the error message in package source 2014-10-02 17:31:03 -07:00
ekatek
c67de0830a merging from sqllite 2014-09-30 16:29:41 -07:00
Slava Kim
b4a063c53c Don't compile the mobile-config.js control file into an app 2014-09-30 12:28:59 -07:00
Slava Kim
86a811b5b2 Whitespace 2014-09-29 20:40:25 -07:00
Sashko Stubailo
8bd7a14993 Merge branch 'release-0.9.4' into isopack 2014-09-29 17:57:15 -07:00
Sashko Stubailo
7cd12072ea Rename unipackage to isopack in almost all cases 2014-09-29 16:01:08 -07:00
Justin SB
e50fab39a0 Merge branch 'devel' into sqlite_store
Conflicts:
	tools/catalog.js
	tools/tests/autoupdate.js
2014-09-29 07:08:54 -07:00
ekatek
dd7635af6e merging from master 2014-09-25 19:45:48 -07:00
ekatek
96cc3193a5 docs for the new stuff in 0.9.3 2014-09-25 18:18:01 -07:00
Sashko Stubailo
9460dcf9f8 Merge branch 'registerBuildPlugin' into devel
Conflicts:
	docs/client/data.js
2014-09-25 11:47:04 -07:00
Sashko Stubailo
0a9cacaccf Fix small documentation issues 2014-09-25 11:38:48 -07:00
Sashko Stubailo
1de88191c9 Fix typo 2014-09-23 10:26:24 -07:00
Sashko Stubailo
6e09c52c80 Fix bug where backcompat for registerBuildPlugin didn't work 2014-09-22 20:59:23 -07:00
Pascal Rapicault
9fba2ee766 properly format function name 2014-09-22 23:04:34 -04:00
Sashko Stubailo
af3f987699 A first pass at documenting build plugins
Documentation for the CompileStep is only in the source right now
2014-09-22 17:27:00 -07:00
ekatek
a881c29e1c fix versionsFrom 2014-09-21 11:38:05 -07:00
ekatek
559983ea07 fix versionsFrom 2014-09-21 11:37:34 -07:00
ekatek
c5f87bc3e0 fixed the reduce of empty array bug 2014-09-19 18:57:18 -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
Sashko Stubailo
857b380416 Remove duplicate part from the docs, move JSDoc comment for Npm.require 2014-09-16 13:52:33 -07:00
Emily Stark
ccfee68145 Merge branch 'master' into devel
Conflicts:
	docs/client/api.html
	docs/client/data.js
	docs/client/names.json
	meteor
	packages/autoupdate/package.js
	packages/base64/.gitignore
	packages/constraint-solver/package.js
	packages/device-orientation/.gitignore
	packages/less/package.js
	packages/meteor-tool/package.js
	packages/meteor/package.js
	packages/package-version-parser/package.js
	packages/webapp/webapp_server.js
	scripts/admin/meteor-release-experimental.json
	tools/commands.js
	tools/help.txt
	tools/package-version-parser.js
	tools/run-all.js
	tools/tests/apps/build-errors/packages/with-colon-plugin/.gitignore
2014-09-15 14:48:57 -07:00
ekatek
69f637c8e5 glassers comments on wrap numbers 2014-09-10 15:53:23 -07:00
ekatek
390b6394b5 strip out extra dependencies on semver in tool 2014-09-10 15:53:23 -07:00
Sashko Stubailo
4b40e5982d Talk about tarball URLs
Conflicts:
	docs/client/data.js
2014-09-10 15:48:20 -07:00
Sashko Stubailo
ac617110ea Improve documentation, add to table of contents
Conflicts:
	docs/client/data.js
	docs/client/names.json
2014-09-10 15:45:50 -07:00
Sashko Stubailo
4698181afa Document Npm and Cordova in package.js 2014-09-10 15:44:54 -07:00
Sashko Stubailo
4c2a8877e8 Talk about tarball URLs 2014-09-10 15:37:10 -07:00
Sashko Stubailo
0f9427e0b2 Improve documentation, add to table of contents 2014-09-10 09:16:03 -07:00
Sashko Stubailo
4106491efe Document Npm and Cordova in package.js 2014-09-09 23:28:28 -07:00
Sashko Stubailo
2c969270ea Add docs for EJSON interface, attempt to remove data.js from diffs
Only Match.test, check, and UI.dynamic left. I can see the light!
2014-09-05 14:37:28 -07:00
Sashko Stubailo
ef14f531ae Fix some small errors based on doc diff script 2014-09-05 11:52:59 -07:00
Sashko Stubailo
443fd8874b Fix some package api docs 2014-09-05 09:56:22 -07:00
Sashko Stubailo
f1085bdb83 Added the api calls in package.js 2014-09-05 09:41:05 -07:00
Sashko Stubailo
586b6e2712 Auto document a lot more things 2014-09-04 21:42:03 -07:00
Slava Kim
0b6cf4f2ca Add a special 'cordova-build-override' folder.
Basically right before the `cordova build` we `cp -R` that folder into our
cordova project. Allows users to overwrite any part of the build, it might be
config.xml, app icons or even crosswalk.
2014-08-29 18:55:54 -07:00
Matthew Arbesfeld
0af50c04ef Change client.* to web.* and accept client and web 2014-08-28 13:35:26 -07:00
Matthew Arbesfeld
75427d70ce Merge branch 'devel' into cordova-hcp
Conflicts:
	docs/client/docs.js
	examples/leaderboard/.meteor/versions
	meteor
	packages/backbone/package.js
	packages/constraint-solver/package.js
	packages/meetup/package.js
	packages/meteor-tool/package.js
	packages/showdown/package.js
	packages/stylus/package.js
	scripts/admin/meteor-release-experimental.json
	tools/commands-packages.js
	tools/commands.js
	tools/project.js
	tools/tests/old/app-with-private/.meteor/versions
	tools/tests/old/app-with-public/.meteor/versions
	tools/tests/old/empty-app/.meteor/versions
2014-08-27 13:38:57 -07:00
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