Commit Graph

172 Commits

Author SHA1 Message Date
ekatek
be9ab672ce fixing existing-version
This was broken as part of the merge.
2015-01-14 18:35:43 -08:00
David Glasser
44f2305c8e remove excess console.log 2015-01-13 15:40:51 -08:00
ekatek
e4bd9b7a07 merging 'meteor show' changes
This is mostly cleaning up some syntax errrors that have resulted from
merging the previous commits.
2015-01-13 13:53:22 -08:00
ekatek
0f6c31cab7 upload README.md files to the server and view the excerpt in meteor show
This commit is based on the following design document:
https://mdg.hackpad.com/Creating-and-Updating-Docs-0ZyyDcSZDxp,
and some other stuff from here: https://mdg.hackpad.com/Meteor-Long-Description-wGZ1vIOwVlF
and was code reviewed here: https://github.com/meteor/meteor/pull/3375

It does the following:

- Allow the user to specify package documentation in Package.Describe.
  We will take the README.md file by default, to make the transition easier.
  Users can specify ‘documentation: null’ to not submit a README.md

- From that documentation, extract the section between the first and second header
  to use as the long form description for the package.

- Upload the documentation to the server at publish-time. Allow metadata changes with ‘publish —update’.

- Change the default package skeleton to include the README.md file.
  Also, changes the skeleton to have fewer useless placeholders in Package.describe values.

- Fix a minor bug where Git did not show up when running ‘meteor show’ on local packages.

A note on ‘documentation: null’ and blank documentation — we don’t let maintainers upload
blank README.md files, because we want to encourage people to fill them out. (Instead,
we allow a ‘documentation: null’ as an override) This is a UX issue! It is not a technical thing.

There is more discussion and code review in: https://github.com/meteor/meteor/pull/3375
2015-01-13 13:53:21 -08:00
ekatek
5bba62e1f2 display exports for packages in ‘meteor show’
Contains:
- method to aggregate exports for a package in packageSource (exports are per-architecture).

- get this data from packageSource in PackageQuery for ‘meteor show’. Don’t store it in the
local catalog — while it is not a particularly expensive operation, it is still more expensive
than a simple lookup. We really do care about minimizing any sort of computation when we
are initializing packages, since we want the tool to be fast.

- display the data in ‘meteor show’. It makes sense to line wrap this with the ‘Exports:’ label as a
bulletPoint (just look at the test to see an example where this improves user experience). Since we
are doing that, we might as well use that bulletPoint functionality on the other labels as well.

- There is also a test. Run ‘meteor self-test show’ to test, or run ‘meteor show’ on a local package
with exports.

The Troposphere counterpoint to this is: meteor/troposphere#5
2015-01-13 13:53:21 -08:00
David Glasser
263ca9a69d Mention package name in publish jobs
Specifically, this means that errors during publish-release
--from-checkout can include the package name, since buildmessage errors
only mention the innermost job name.  (It's more important for
publish-release's errors to include the package name than for publish,
since for publish you presumably know what package you're publishing
anyway.)

Fixes #3323.
2015-01-05 14:59:54 -08:00
David Glasser
f6f4803a9a refactor: move pluginProviderPackageMap in Isopack
This also un-breaks soft refresh for troposphere packages:
previousIsopack was accidentally being set to an
{isopack,pluginProviderPackageMap} object, and so the "can we reuse the
previous one" check was never actually passing.
2014-12-17 00:13:07 -08:00
Sashko Stubailo
e7167e5257 Factor out almost all fs. and path. calls in the tool
This will be useful when we want to be smart with windows file paths later
Also, all of the file calls are asynchronous with fibers now, which comes with
many benefits.

This is a combination of 23 commits. Original messages:
Wrap a large number of fs calls inside files.*

Convert a few more fs calls to files.*

More moving fs.* to files

Implement read/write streams and open/read/close

Get rid of fs from auth.js

Remove fs and unused imports from catalog-local and catalog-remote

Remove unused imports from catalog.js

Replace a whole lot of fs calls

Fix error

Migrate a lot more fs. calls to files.

Add a temporary symlink method

Convert old test to files.*

Use files.pathX instead of path.x everywhere

Replace path.x to files.pathX in tests

Small fixes to files.js and one rename

Make cleanup run in a fiber

Make wrapping functions take function name in case we need it

Add some timeouts and stuff to HCP tests

wrapFsFunc also makes a sync version of the function

Sometimes you just don't want to yield!

Make sure JsImage readFromDisk doesn't yield

Remove unused imports from npm test

Change order of test now that some things don't yield

Fix missing files import, and add a debug error printout
2014-12-15 15:32:06 -08:00
David Glasser
bc53d5f1e4 Use case in buildmessage titles consistently
Job names should not be capitalized (so they look OK in "While xxx"
messages), and are capitalized by the progress bar.

Fixes #3003.
2014-12-11 14:40:16 -08:00
David Glasser
bf00def694 clean up comments and remove dead code
Part of #3006 cleanup.
2014-12-01 01:41:14 -08:00
David Glasser
a6add4ef34 more cleanup 2014-11-25 09:06:27 -08:00
David Glasser
1ad981ee10 hopefully implemented --from-checkout 2014-11-25 09:06:26 -08:00
David Glasser
ae819ab47f clean up meteor publish-release simple version
not --from-checkout!
2014-11-25 09:06:26 -08:00
David Glasser
aba516de9c maintain a .versions file in package source tree
for standalone packages only (packages in an app just use
.meteor/versions from the app)
2014-11-25 09:06:26 -08:00
David Glasser
380ab7c327 port meteor publish-for-arch 2014-11-25 09:06:26 -08:00
David Glasser
59fefc00c2 include releaseName (perhaps null) on publish 2014-11-25 09:06:26 -08:00
David Glasser
602e6f5539 Include .versions file in source for publish 2014-11-25 09:06:25 -08:00
David Glasser
c3b545b9aa clean up publishPackage API
The call from publish-release --from-checkout has not been updated yet.
2014-11-25 09:06:24 -08:00
David Glasser
bf7ffbad30 note that we need a release tag too 2014-11-25 09:06:24 -08:00
David Glasser
06114d6983 Fix 'meteor publish'
only works from inside an app! does not include a version lock file!
2014-11-25 09:06:24 -08:00
David Glasser
7676e1d192 handlerConnectionError -> handleConnectionError 2014-11-25 09:06:24 -08:00
David Glasser
438ddad7bc Remove catalog.complete from core code
It's still in unmigrated commands.

Remove tropohouse's catalog.  It was there to stop you from downloading
local packages but downloadPackagesMissingFromMap does that based on the
PackageMap now.
2014-11-25 09:06:16 -08:00
David Glasser
ee649d3bda Move isopack-compiler back to compiler 2014-11-25 09:06:15 -08:00
David Glasser
16d8a8e301 Read isopack-buildinfo.json; kill buildinfo.json 2014-11-25 09:06:11 -08:00
Sashko Stubailo
14735344f4 Revert "Change all uses of word elide to omit"
This reverts commit 442274f266.
2014-11-14 10:49:37 -08:00
Sashko Stubailo
442274f266 Change all uses of word elide to omit 2014-11-14 10:21:34 -08:00
David Glasser
3444b9a6d3 Remove support for earliestCompatibleVersion
This was an undocumented and entirely unused feature (only two dummy
packages on the package server have this set to a non-default value).

No attempt is being made to remove the field from existing isopacks or
catalog entries. To continue to support existing clients, the package
server has been modified to ignore any provided
earliestCompatibleVersion and instead always write the default ECV to
the catalog.
2014-11-10 13:33:41 -08:00
David Glasser
4079c2276f ServiceConnection directly loads ddp
Caching works fine here.
2014-11-07 16:45:58 -08:00
David Glasser
170c0acad7 Rename unibuild everywhere to isopackets 2014-11-07 16:45:58 -08:00
Justin SB
dd8bc66dcb Fix up HTTP upload to use body & response sizes from options 2014-10-27 09:25:19 -07:00
Emily Stark
db35e64807 Tweak error printing on errors from package server 2014-10-20 17:39:37 -07:00
David Glasser
077587e934 Move compressed data to another field
This means the server can choose not to compress
2014-10-20 11:28:52 -07:00
Justin SB
e82286855c Make package catalog sync use a spinner
(Until we have a better progress metric)
2014-10-20 11:25:16 -07:00
David Glasser
710e7fe405 Optionally compress package data on the wire
For now, requires $METEOR_CATALOG_COMPRESS_RPCS to be set. On my home
network, this speeds up a clean refresh by 50%.
2014-10-18 11:51:33 -07:00
David Glasser
96eebea575 remove unnecessary assertion
add a var
2014-10-17 13:47:21 -07:00
Justin SB
49c9f42f39 Tweak the progress of package sync 2014-10-17 13:47:19 -07:00
Justin SB
829a1eb588 RemoteCatalog refresh throws now 2014-10-17 13:47:19 -07:00
Justin SB
c03f1d04d3 Get rid of connectionFailed field in retval from updateServerPackageData 2014-10-17 13:47:18 -07:00
ekatek
f83c08e8fa introduces the 'meteor admin get-machine' command; changes publish not to publish binary builds
This commit does the following:
- Introduces the get-machine command. This command contacts the build farm server
 gets back a machine reservation and then opens    a secure shell to the machine (Alternatively,
 you can ask for a json). This also involved factoring out some   commands to deal with authenticated
 ddp from package-client into a more general auth-client.

- No longer publish binary builds in publish or publish-release; instead give the user a warning
to run get-machine and then publish-for-arch. Someone could ignore this: --existing-version and
publish-for-arch both publish binary builds, but you need to be    at least somewhat familiar with
what you are doing to run them.      Hopefully, you are running them  from a certified build machine,   but
if you are not,    then, well, it    is your    package.

Stuff remaining:
  - We are going to have a url to external documentation, but I haven't written it yet.
  - We are currently talking to   the test-build server, instead of the build server, so mac doesn't
work.
(Neither of those changes require significant tool changes)
2014-10-14 16:49:50 -07:00
David Glasser
cca0112b99 use format 1.1 sync token!
fixes ability to get new styles of data, including
package-depends-on-either-version test
2014-10-08 22:27:38 -07:00
ekatek
43eace5af8 allow publication of debugOnly packages 2014-10-07 15:55:50 -07:00
David Greenspan
eb83087046 Publish versioned dependencies of core packages
When publishing a core package, you’re allowed to omit version numbers in package.js.  With this change, we determine the correct versions of all the dependent packages based on the current checkout, and we send them to troposphere (instead of core packages having “null” constraints on their dependencies).

We throw an error if you have any missing version constraints on your package dependencies and you are not using versionsFrom or publishing a core package from a checkout.

We’ve already fixed this (no constraints on core package deps) retroactively in troposphere.

It speeds up the constraint solver by orders of magnitude when publishing a package.
2014-10-01 17:02:37 -07:00
ekatek
c67de0830a merging from sqllite 2014-09-30 16:29:41 -07:00
Avital Oliver
f65873f315 Don't crash when failing to contact the package server
Fixes #2713
2014-09-30 00:07:18 -07:00
ekatek
f4563457e8 fix the update server package data unit test
Rewrote parts of the update server package data unit test to compare a pre-sync and a
post-sync catalog, rather than the output of package client's attempts to contact the server.
This is because in the new world, there is no accurate output, and instead, the function
modifies the catalog in place. Additionally, removed the old function that read from
data.json, since it was not used anymore, and cleaned up some comments and return values in
package-client. We no longer claim to return the contents of data.json, instead we return
an object that signals if we should reset the entire catalog, and/or if our connection to the
server flat-out failed. I am not sure that this is the best abstraction for this piece of code
(why does package-client modify the catalog, but not reset it, for example? Since resetting
has consequences, in the ideal world, the package-client would only have the logic to get data
from the server and it would be up to the catalog to figure out how to insert it into sql lite,
I think, maybe. Regardless, now is not the time to do that refactoring.)

The test is a little odd in the following ways. First, comparing every record ever published is
something that is already significantly harder than it used to be, and will get only harder from
there. (However, the test claims to check that no data has been erased, so we need to check it).
We check the vague existence of most records, on the theory that it is unlikely that
we only got a portion of the record in, rather than the entire thing. Second, it doesn't check the
actual contents on disk, because I wasn't sure about writing another interface to sqllite this
late in the game. There are some ways to get around this -- we could be sneaky and submit a non-blank
syncToken in some way (faking a previous sync), so we only get the packages touched since (time X).
Usually, that might violate some internal consistency, but we only care about the contents at this stage.
Second, we should probably write some method on the catalogs to compare themselves instead of making
and querying a copy.For now, though, I think that this is sufficiently expedient.

Also, the test publishes 5 packages. That's a lot of packages, so I marked it as slow.
2014-09-29 22:16:32 -07:00
ekatek
8ce15905c2 to check syncing, we now need to create a new 'remoteCatalog' and sync into it 2014-09-29 22:16:31 -07:00
Sashko Stubailo
7e4848d939 Merge branch 'isopack' into release-0.9.4
Conflicts:
	tools/uniload.js
2014-09-29 20:08:02 -07:00
Sashko Stubailo
8bd7a14993 Merge branch 'release-0.9.4' into isopack 2014-09-29 17:57:15 -07:00
David Greenspan
98eff9059e Capitalize buildmessages 2014-09-29 16:18:38 -07:00
Sashko Stubailo
7cd12072ea Rename unipackage to isopack in almost all cases 2014-09-29 16:01:08 -07:00