Commit Graph

8227 Commits

Author SHA1 Message Date
David Glasser
58a4be8094 include tree hash with source bundle too
requires a matching troposphere change (already deployed)
2014-06-20 21:43:28 -07:00
David Glasser
f52c975de1 Less greedy algorithm for choosing builds
The previous algorithm had the problem that if you had builds

  A = browser+os.linux.x86_64
  B = browser+os.osx.x86_64

available and came in looking for "something that satisfies 'browser'
and 'os.osx.x86_64'", Meteor would happily say:

   "Neato-keen!  'A' satisfies 'browser'.  And 'B' satisfies
    'os.osx.x86_64'!  Hey, that's all I needed!  Let's download
     both 'A' and 'B'!  Hooray!"

when choosing just 'B' would have been good enough.
2014-06-20 18:12:40 -07:00
David Glasser
ce4f2d65f6 New download mechanism
Unlike the last one, this actually tracks what builds we have
downloaded, and merges new ones in. It also doesn't waste space with
extra unnecessary downloaded-builds directories.

Should still fix the greedy algorithm in getBuildsForArches.

Still needs better error handling/reporting

publish-for-arch now works again (for non-release non-includeTool
packages) and you can actually download multiple builds of a version!
2014-06-20 17:09:06 -07:00
ekatek
8018f38f8b better safety 2014-06-20 15:11:36 -07:00
ekatek
285a3ef8d4 use the actual date object to sync 2014-06-18 22:10:24 -07:00
ekatek
00490f97dd error out on invalid packages/non-local packages/etc to test-packages 2014-06-18 19:36:07 -07:00
ekatek
73e737d30f some buildmessages around things and also actually fixing the programs require versions bug 2014-06-18 18:54:00 -07:00
David Glasser
2d449ca752 missing var 2014-06-17 19:41:23 -07:00
David Glasser
0fff635206 Merge branch 'build-arch-rename' into packaging
This makes a few changes:

- renames the thing inside a unipackage to 'unibuild' from
  'build' (previously 'slice'); 'build' continues to refer to a specific
  instance of a version of a package (ie a tarball)

- renames the 'architecture' field of a build (which is a plus-separated
  string of arches) to 'buildArchitectures'

- oops! we were not actually making any packages binary-specific (ie
  they were all browser+os!)  fixed this, and another bug that it
  revealed

- updates the unipackage format to unipackage-pre2, and allow us
  to recognize (but not load, just ignore) unipackage-pre1

- some fixes for the recent schema change that removes packageName and
  version from Build records
2014-06-17 19:37:35 -07:00
David Glasser
6782711c69 fix wrong arch in plugin package search
the "We pass" comment was stolen back from devel

basically, whenever doing eachUsedBuild, you really want to pass in the
arch of the overall compilation (or for plugins, the host arch), not the
arch of the unibuild you happen to be sitting in right now.  because if
you're sitting in a generic "os" unibuild, it won't know whether to use
os.mac or os.linux or whatever if you pass in "os"!
2014-06-17 19:23:39 -07:00
David Glasser
d1f5acdb08 oops! actually use specific arch! 2014-06-17 18:41:59 -07:00
David Glasser
8c107a9ea7 fix for removing fields from Builds 2014-06-17 18:27:23 -07:00
David Glasser
975a25508d some other stuff that goes together 2014-06-17 17:51:36 -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
fb20f60dcf rename build -> unibuild in constraint solver too 2014-06-17 17:35:55 -07:00
David Glasser
77a9579d66 work around pre1 builds (ie, rebuild works now)
we changed the effective format without changing the name a while ago
anyway. Technically we didn't need this before because we also changed
the .build dir name to .build.foo but this is still reasonable.
2014-06-17 17:33:56 -07:00
David Glasser
f88b1f0595 tropohouse and unipackage
done???
2014-06-17 17:33:56 -07:00
David Glasser
0a66d06dbf project and selftest 2014-06-17 17:33:56 -07:00
David Glasser
87eb6977a7 package-loader and package-source 2014-06-17 17:33:56 -07:00
David Glasser
2dfe97ee32 update linker.js 2014-06-17 17:33:55 -07:00
David Glasser
e6985c39f2 audit compiler.js 2014-06-17 17:33:55 -07:00
David Glasser
b7526b41be looked at bundler.js 2014-06-17 17:33:55 -07:00
David Glasser
9a70a221c0 Merge branch 'constraint-solver-clean-up' into packaging 2014-06-17 17:28:22 -07:00
Slava Kim
734768ce9e Clean ups, renames, docs, etc 2014-06-17 17:27:10 -07:00
Slava Kim
f10a3dda92 Replace extra code in DependenciesList.toString() with .each 2014-06-17 17:27:10 -07:00
Slava Kim
13ddd795e5 Get rid of _priotized in favor of nauthinessRatings 2014-06-17 17:27:10 -07:00
Slava Kim
bc99786c91 Small clean ups 2014-06-17 17:27:10 -07:00
Slava Kim
16cca65136 Document Constraints-List better 2014-06-17 17:27:09 -07:00
Slava Kim
70b0115c89 Use semver.parse 2014-06-17 17:27:09 -07:00
Slava Kim
7f6ea3ddc2 Assume that packages always have 2 archs: browser and os 2014-06-17 17:27:09 -07:00
Slava Kim
62004c0994 Memoize calls to the catalog 2014-06-17 17:27:09 -07:00
David Glasser
b4bb435cce fix self-test help 2014-06-17 15:28:19 -07:00
David Glasser
15401c028b properly use builder-generated npm path
This fix obviates the direct need for bb7710067, but given that we are
allowing colons in package names, we might as well allow them in
generated file names anyway (and keep bb7710067).
2014-06-17 15:10:57 -07:00
David Glasser
848a5a2a38 make meteor-npm work with colon packages 2014-06-17 14:56:14 -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
David Glasser
f2501469b9 Allow apps with no packages 2014-06-17 09:40:59 -07:00
David Glasser
d083f4aaf6 change --offline-catalog to $OFFLINE_CATALOG 2014-06-17 09:40:59 -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
fb709c9563 remove versions files from core packages 2014-06-16 22:11:31 -07:00
Emily Stark
b0f5ce0991 Fix package stats test 2014-06-16 21:35:42 -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
6226860b58 remove packageName from builds 2014-06-16 17:27:14 -07:00
Avital Oliver
600ae65304 Don't print errors on stream level failures, and a little reorg
In particular, this becomes especially important with packaging
since we ping the server with a DDP connection every time you
run an app. Multiple times actually.

So now there's no ECONN error messages printed
2014-06-16 16:33:07 -07:00
ekatek
10f427f8ac pre-declaring an important variable 2014-06-16 15:45:15 -07:00
ekatek
722a99bb09 cleanup 2014-06-16 14:49:36 -07:00
David Glasser
dce4307dd1 add XXX comment about serviceconnection timeout 2014-06-16 14:49:13 -07:00
David Glasser
9bc1589a1c builder.copyDirectory: copy symlinks as symlink
otherwise our new change to have tool/node_modules be a symlink breaks
2014-06-16 14:49:13 -07:00
David Glasser
60059c2bd1 $TREE_HASH_DEBUG 2014-06-16 14:49:13 -07:00
David Glasser
f190d83731 Finish removing include from files.cp_r 2014-06-16 14:49:13 -07:00