From 1ceef40beb57f0ec41972a5838d439103f36aaa3 Mon Sep 17 00:00:00 2001 From: David Glasser Date: Thu, 28 Mar 2013 16:24:43 -0700 Subject: [PATCH] apps with no release file are now assumed to be the latest release, not 0.6.0 --- tools/meteor.js | 6 +++--- tools/project.js | 16 ++++++---------- tools/run.js | 7 ++++--- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/tools/meteor.js b/tools/meteor.js index 63e1f3092e..d985da6ab5 100644 --- a/tools/meteor.js +++ b/tools/meteor.js @@ -61,7 +61,8 @@ Fiber(function () { if (context.appDir) { context.appReleaseVersion = - project.getMeteorReleaseVersion(context.appDir); + project.getMeteorReleaseVersion(context.appDir) || + warehouse.latestRelease(); } // Recalculate release version, taking the current app into account. context.releaseVersion = calculateReleaseVersion(argv); @@ -402,8 +403,7 @@ Fiber(function () { // Write the release to .meteor/release if it's changed (or if this is a // pre-engine app that is being assumed to be 0.6.0). var appRelease = project.getMeteorReleaseVersion(context.appDir); - var appPredatesEngine = project.appPredatesEngine(context.appDir); - if (appPredatesEngine || appRelease !== context.releaseVersion) { + if (appRelease === null || appRelease !== context.releaseVersion) { project.writeMeteorReleaseVersion(context.appDir, context.releaseVersion); } else { diff --git a/tools/project.js b/tools/project.js index 1ee6c483a1..03a86ac2ee 100644 --- a/tools/project.js +++ b/tools/project.js @@ -67,18 +67,14 @@ _.extend(exports, { getMeteorReleaseVersion: function (appDir) { var releasePath = project._meteorReleaseFilePath(appDir); - if (project.appPredatesEngine(appDir)) { + try { + var lines = project._get_lines(releasePath); + } catch (e) { // This is a legacy app with no '.meteor/release' - // file. Default to the first release of Engine. - return '0.6.0'; - } else { - return project._trim_line(project._get_lines(releasePath)[0]); + // file. + return null; } - }, - - appPredatesEngine: function (appDir) { - var releasePath = project._meteorReleaseFilePath(appDir); - return !fs.existsSync(releasePath); + return project._trim_line(lines[0]); }, writeMeteorReleaseVersion: function (appDir, release) { diff --git a/tools/run.js b/tools/run.js index c14ada715c..422d01f92a 100644 --- a/tools/run.js +++ b/tools/run.js @@ -619,10 +619,11 @@ exports.run = function (context, options) { // tools version does change, but this (which prevents weird errors) is a // start.) if (files.usesWarehouse() && !context.userReleaseOverride) { - var newAppRelease = project.getMeteorReleaseVersion(context.appDir); + var newAppRelease = project.getMeteorReleaseVersion(context.appDir) || + warehouse.latestRelease();; if (newAppRelease !== context.appReleaseVersion) { - console.error("Your app has been updated to release '%s' from " + - "release '%s'.\nRestart meteor to use the new release.", + console.error("Your app has been updated to Meteor %s from " + + "Meteor %s.\nRestart meteor to use the new release.", newAppRelease, context.appReleaseVersion); process.exit(1);