mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
- die if you use --release in a checkout
- don't run calculateReleaseVersion twice for test-packages - DTRT for test-packages in a checkout
This commit is contained in:
@@ -71,7 +71,17 @@ Fiber(function () {
|
||||
// returns the release version to use (for certain commands). if we
|
||||
// are in an app, reads '.meteor/release'. otherwise, the latest
|
||||
// found in the warehouse, or null if warehouse has no releases
|
||||
var releaseVersion = null;
|
||||
var calculateReleaseVersion = function (argv) {
|
||||
if (files.in_checkout()) {
|
||||
if (argv.release) {
|
||||
console.error("Cannot specify --release when running meteor from a git checkout.");
|
||||
process.exit(1);
|
||||
}
|
||||
// There is no release in a git checkout.
|
||||
return null;
|
||||
}
|
||||
|
||||
// If a release was specified explicitly on the command line, that's the one
|
||||
// to use.
|
||||
if (argv.release)
|
||||
@@ -181,30 +191,22 @@ Fiber(function () {
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
var releaseVersion = calculateReleaseVersion(new_argv);
|
||||
|
||||
var testPackages;
|
||||
if (new_argv["package-dir"]) {
|
||||
var packageDir = path.resolve(new_argv["package-dir"], "."); // strips trailing path.sep
|
||||
// was important to strip trailing path.sep, otherwise we'd get a package named "foo/"
|
||||
var packageName = path.basename(packageDir);
|
||||
testPackages = [packages.loadFromDir(packageName, packageDir)];
|
||||
} else if (new_argv._[1]) {
|
||||
testPackages = new_argv._[1].split(',');
|
||||
} else if (files.in_checkout()) {
|
||||
testPackages = _.keys(packages.list());
|
||||
} else if (releaseVersion) {
|
||||
var releaseManifest = warehouse.releaseManifestByVersion(releaseVersion);
|
||||
testPackages = _.keys(packages.list(releaseManifest));
|
||||
} else {
|
||||
if (new_argv._[1]) {
|
||||
testPackages = new_argv._[1].split(',');
|
||||
} else {
|
||||
if (releaseVersion) {
|
||||
var releaseManifest = warehouse.releaseManifestByVersion(releaseVersion);
|
||||
testPackages = _.keys(packages.list(releaseManifest));
|
||||
} else {
|
||||
if (files.in_checkout()) {
|
||||
testPackages = _.keys(packages.list());
|
||||
} else {
|
||||
process.stdout.write("Please specify a release version.");
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
process.stdout.write("Please specify a release version.");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
var bundleOptions = {
|
||||
@@ -715,7 +717,7 @@ Fiber(function () {
|
||||
// engine corresponding to that release is the same as the one
|
||||
// we're running. If not, springboard to the right engine (after
|
||||
// having fetched it to the local warehouse)
|
||||
var engineSpringboard = function (releaseVersion) {
|
||||
var engineSpringboard = function () {
|
||||
var releaseManifest = warehouse.releaseManifestByVersion(releaseVersion);
|
||||
if (releaseManifest.engine === files.getEngineVersion())
|
||||
return;
|
||||
@@ -741,12 +743,12 @@ Fiber(function () {
|
||||
|
||||
var argv = optimist.argv;
|
||||
|
||||
var releaseVersion = calculateReleaseVersion(argv);
|
||||
releaseVersion = calculateReleaseVersion(argv);
|
||||
|
||||
// if we're not running the correct engine, fetch it and
|
||||
// re-run. if this is a git checkout, always run it.
|
||||
if (!files.in_checkout())
|
||||
engineSpringboard(releaseVersion);
|
||||
engineSpringboard();
|
||||
|
||||
if (argv.help) {
|
||||
argv._.splice(0, 0, "help");
|
||||
|
||||
Reference in New Issue
Block a user