blob: 1a116b979825d402acc7adfdde592e7dddad2caa [file] [log] [blame]
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:async';
import '../command.dart';
import '../log.dart' as log;
import '../solver.dart';
/// Handles the `downgrade` pub command.
class DowngradeCommand extends PubCommand {
String get name => 'downgrade';
String get description =>
"Downgrade the current package's dependencies to oldest versions.\n\n"
"This doesn't modify the lockfile, so it can be reset with \"pub get\".";
String get argumentsDescription => '[dependencies...]';
String get docUrl => '';
bool get isOffline => argResults['offline'];
DowngradeCommand() {
help: 'Use cached packages instead of accessing the network.');
abbr: 'n',
negatable: false,
help: "Report what dependencies would change but don't change any.");
argParser.addFlag('packages-dir', hide: true);
Future<void> runProtected() async {
if (argResults.wasParsed('packages-dir')) {
'The --packages-dir flag is no longer used and does nothing.'));
var dryRun = argResults['dry-run'];
await entrypoint.acquireDependencies(
dryRun: dryRun,
if (isOffline) {
log.warning('Warning: Downgrading when offline may not update you to '
'the oldest versions of your dependencies.');