From c6a4b63e987ea425f2bff1a74cb03e8cc56ef1d5 Mon Sep 17 00:00:00 2001 From: Avital Oliver Date: Mon, 25 Feb 2013 17:47:54 -0800 Subject: [PATCH] Checkouts don't load releases, take 2 --- lib/bundler.js | 10 ++++------ lib/warehouse.js | 11 +++++++++++ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/lib/bundler.js b/lib/bundler.js index 01a9491204..a823f9b24e 100644 --- a/lib/bundler.js +++ b/lib/bundler.js @@ -787,12 +787,10 @@ exports.bundle = function (app_dir, output_path, options) { packages.flush(); var bundle = new Bundle; - if (!files.in_checkout()) { - if (options.versionOverride) - bundle.releaseManifest = warehouse.releaseManifestByVersion(options.versionOverride); - else - bundle.releaseManifest = warehouse.releaseManifestForApp(app_dir); - } + if (options.versionOverride) + bundle.releaseManifest = warehouse.releaseManifestByVersion(options.versionOverride); + else + bundle.releaseManifest = warehouse.releaseManifestForApp(app_dir); // our release manifest is set, let's now load the app var app = packages.get_for_app(app_dir, ignore_files); diff --git a/lib/warehouse.js b/lib/warehouse.js index ea3cd1c406..73878d256b 100644 --- a/lib/warehouse.js +++ b/lib/warehouse.js @@ -46,6 +46,8 @@ var warehouse = module.exports = { return path.join(warehouse.getWarehouseDir(), 'engines', version); }, + // If you're running from a git checkout, return null. + // // If .meteor/release exists, load the manifest corresponding to // that meteor release. Load from packages.meteor.com and store in // the warehouse on disk. Parse and ensure that all used package @@ -53,6 +55,9 @@ var warehouse = module.exports = { // // If .meteor/release does not exist, return null. releaseManifestForApp: function (appDir) { + if (files.in_checkout()) + return null; + var releaseVersion = project.getMeteorReleaseVersion(appDir); if (!releaseVersion) { @@ -62,7 +67,13 @@ var warehouse = module.exports = { } }, + // If you're running from a git checkout, return null. Otherwise, + // ensure the passed release version is stored in the local + // warehouse and return its parsed manifest. releaseManifestByVersion: function(releaseVersion) { + if (files.in_checkout()) + return null; + var project = require(path.join(__dirname, 'project.js')); var releaseManifestPath = path.join(