Remove the pub top-level
The old pub toplevel interface is still reachable via
```
$ dart __deprecated_pub
```
That is what `flutter pub` is using.
Part of https://github.com/dart-lang/sdk/issues/46100
Bug: https://github.com/dart-lang/pub/issues/3292
Change-Id: I97a14f2458d0f67c7bf98a90664d504cfaba0e98
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/229541
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f525e29..5cb4c0c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -97,6 +97,14 @@
[an issue]: https://github.com/dart-lang/sdk/issues/new
+- **Breaking Change** [#46100](https://github.com/dart-lang/sdk/issues/46100):
+ The deprecated standalone `pub` tool has been removed.
+ Its replacement is the `dart pub` command.
+ Should you find any issues, or missing features, in the replacement
+ command, kindly file [an issue][].
+
+[an issue]: https://github.com/dart-lang/pub/issues/new
+
#### Pub
- Fixed race conditions in `dart pub get`, `dart run` and `dart pub global run`.
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index 867dd32..8e6a103 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -39,7 +39,6 @@
# ......dartanalyzer
# ......dartdevc
# ......utils/gen_snapshot or utils/gen_snapshot.exe (if not on ia32)
-# ......pub
# ......snapshots/
# ........analysis_server.dart.snapshot
# ........dart2js.dart.snapshot
@@ -88,16 +87,12 @@
# ......api_readme.md
# Scripts that go under bin/
-_platform_sdk_scripts = [
- "dartanalyzer",
- "pub",
-]
+_platform_sdk_scripts = [ "dartanalyzer" ]
_full_sdk_scripts = [
"dart2js",
"dartanalyzer",
"dartdevc",
- "pub",
]
# Snapshots that go under bin/snapshots
diff --git a/sdk/bin/pub.bat b/sdk/bin/pub.bat
deleted file mode 100644
index 7eb8b0d..0000000
--- a/sdk/bin/pub.bat
+++ /dev/null
@@ -1,56 +0,0 @@
-@echo off
-REM Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
-REM for details. All rights reserved. Use of this source code is governed by a
-REM BSD-style license that can be found in the LICENSE file.
-
-rem Run pub.dart on the Dart VM. This script is only used when running pub from
-rem within the Dart source repo. The shipped SDK instead uses "pub_sdk.bat",
-rem which is renamed to "pub.bat" when the SDK is built.
-
-setlocal
-rem Handle the case where dart-sdk/bin has been symlinked to.
-set DIR_NAME_WITH_SLASH=%~dp0
-set DIR_NAME=%DIR_NAME_WITH_SLASH:~0,-1%%
-call :follow_links "%DIR_NAME%", RETURNED_BIN_DIR
-rem Get rid of surrounding quotes.
-for %%i in ("%RETURNED_BIN_DIR%") do set BIN_DIR=%%~fi
-
-rem Get absolute full name for SDK_DIR.
-for %%i in ("%BIN_DIR%\..\") do set SDK_DIR=%%~fi
-
-rem Remove trailing backslash if there is one
-IF %SDK_DIR:~-1%==\ set SDK_DIR=%SDK_DIR:~0,-1%
-
-set VM_OPTIONS=
-
-rem We allow extra vm options to be passed in through an environment variable.
-if not "_%DART_VM_OPTIONS%_" == "__" (
- set VM_OPTIONS=%VM_OPTIONS% %DART_VM_OPTIONS%
-)
-
-rem Use the Dart binary in the built SDK so pub can find the version file next
-rem to it.
-set BUILD_DIR=%SDK_DIR%\..\out\ReleaseX64
-set DART=%BUILD_DIR%\dart-sdk\bin\dart
-
-rem Run pub.
-set PUB="%SDK_DIR%\..\third_party\pkg\pub\bin\pub.dart"
-"%DART%" "--packages=%SDK_DIR%\..\.packages" %VM_OPTIONS% "%PUB%" %*
-
-endlocal
-
-exit /b %errorlevel%
-
-:follow_links
-setlocal
-for %%i in (%1) do set result=%%~fi
-set current=
-for /f "usebackq tokens=2 delims=[]" %%i in (`dir /a:l "%~dp1" 2^>nul ^
- ^| %SystemRoot%\System32\find.exe "> %~n1 [" 2^>nul`) do (
- set current=%%i
-)
-if not "%current%"=="" call :follow_links "%current%", result
-endlocal & set %~2=%result%
-goto :eof
-
-:end
diff --git a/sdk/bin/pub_sdk b/sdk/bin/pub_sdk
deleted file mode 100755
index 17ce14c..0000000
--- a/sdk/bin/pub_sdk
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/env bash
-# Copyright (c) 2014, 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.
-
-# Run pub.dart on the Dart VM. This script assumes the Dart SDK's directory
-# structure.
-
-function follow_links() {
- file="$1"
- while [ -h "$file" ]; do
- # On Mac OS, readlink -f doesn't work.
- file="$(readlink "$file")"
- done
- echo "$file"
-}
-
-function array_contains() {
- local needle="$1"
- local element
- shift
- for element; do [ "$element" = "$needle" ] && return 0; done
- return 1
-}
-
-# Unlike $0, $BASH_SOURCE points to the absolute path of this file.
-PROG_NAME="$(follow_links "$BASH_SOURCE")"
-
-# Handle the case where dart-sdk/bin has been symlinked to.
-BIN_DIR="$(cd "${PROG_NAME%/*}" ; pwd -P)"
-DART="$BIN_DIR/dart"
-
-unset VM_OPTIONS
-declare -a VM_OPTIONS
-
-# Allow extra VM options to be passed in through an environment variable.
-if [[ $DART_VM_OPTIONS ]]; then
- read -a OPTIONS <<< "$DART_VM_OPTIONS"
- VM_OPTIONS+=("${OPTIONS[@]}")
-fi
-
-if [ -t 2 ]; then # Only print warning when run in terminal.
- >&2 echo 'The top level `pub` command is deprecated. Use `dart pub` instead.'
-fi
-
-# Forward to the `dart __deprecatedpub` command.
-exec "$DART" "${VM_OPTIONS[@]}" __deprecated_pub "$@"
diff --git a/sdk/bin/pub_sdk.bat b/sdk/bin/pub_sdk.bat
deleted file mode 100644
index e882aac..0000000
--- a/sdk/bin/pub_sdk.bat
+++ /dev/null
@@ -1,50 +0,0 @@
-@echo off
-REM Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
-REM for details. All rights reserved. Use of this source code is governed by a
-REM BSD-style license that can be found in the LICENSE file.
-
-setlocal
-rem Handle the case where dart-sdk/bin has been symlinked to.
-set DIR_NAME_WITH_SLASH=%~dp0
-set DIR_NAME=%DIR_NAME_WITH_SLASH:~0,-1%%
-call :follow_links "%DIR_NAME%", RETURNED_BIN_DIR
-rem Get rid of surrounding quotes.
-for %%i in ("%RETURNED_BIN_DIR%") do set BIN_DIR=%%~fi
-
-rem Get absolute full name for SDK_DIR.
-for %%i in ("%BIN_DIR%\..\") do set SDK_DIR=%%~fi
-
-rem Remove trailing backslash if there is one
-IF %SDK_DIR:~-1%==\ set SDK_DIR=%SDK_DIR:~0,-1%
-
-set VM_OPTIONS=
-set USING_DART_1=
-
-rem We allow extra vm options to be passed in through an environment variable.
-if not "_%DART_VM_OPTIONS%_" == "__" (
- set VM_OPTIONS=%VM_OPTIONS% %DART_VM_OPTIONS%
- for %%o in (%DART_VM_OPTIONS%) do (
- if "%%o" equ "--no-preview-dart-2" set USING_DART_1=y
- )
-)
-
-echo "The top level `pub.bat` command is deprecated. Use `dart pub` instead." 1>&2
-"%BIN_DIR%\dart" %VM_OPTIONS% __deprecated_pub %*
-
-endlocal
-
-exit /b %errorlevel%
-
-:follow_links
-setlocal
-for %%i in (%1) do set result=%%~fi
-set current=
-for /f "usebackq tokens=2 delims=[]" %%i in (`dir /a:l "%~dp1" 2^>nul ^
- ^| %SystemRoot%\System32\find.exe "> %~n1 [" 2^>nul`) do (
- set current=%%i
-)
-if not "%current%"=="" call :follow_links "%current%", result
-endlocal & set %~2=%result%
-goto :eof
-
-:end
diff --git a/tools/bots/pub_integration_test.py b/tools/bots/pub_integration_test.py
index f80c554..4f35ae6 100755
--- a/tools/bots/pub_integration_test.py
+++ b/tools/bots/pub_integration_test.py
@@ -35,10 +35,10 @@
mode = ('Debug' if options.mode == 'debug' else 'Release')
out_dir = 'xcodebuild' if sys.platform == 'darwin' else 'out'
- extension = '' if not sys.platform == 'win32' else '.bat'
- pub = os.path.abspath('%s/%s%s/dart-sdk/bin/pub%s' %
- (out_dir, mode, arch, extension))
- print(pub)
+ extension = '' if not sys.platform == 'win32' else '.exe'
+ dart = os.path.abspath('%s/%s%s/dart-sdk/bin/dart%s' %
+ (out_dir, mode, arch, extension))
+ print(dart)
working_dir = tempfile.mkdtemp()
try:
@@ -49,11 +49,15 @@
with open(working_dir + '/pubspec.yaml', 'w') as pubspec_yaml:
pubspec_yaml.write(PUBSPEC)
- exit_code = subprocess.call([pub, 'get'], cwd=working_dir, env=env)
+ exit_code = subprocess.call([dart, 'pub', 'get'],
+ cwd=working_dir,
+ env=env)
if exit_code != 0:
return exit_code
- exit_code = subprocess.call([pub, 'upgrade'], cwd=working_dir, env=env)
+ exit_code = subprocess.call([dart, 'pub', 'upgrade'],
+ cwd=working_dir,
+ env=env)
if exit_code != 0:
return exit_code
finally:
diff --git a/tools/linux_dist_support/linux_distribution_support.py b/tools/linux_dist_support/linux_distribution_support.py
index 44c7477..b7c5529 100644
--- a/tools/linux_dist_support/linux_distribution_support.py
+++ b/tools/linux_dist_support/linux_distribution_support.py
@@ -125,9 +125,6 @@
Run(['/usr/lib/dart/bin/dartanalyzer', test_file])
Run(['/usr/lib/dart/bin/dart', test_file])
- # Sanity check that pub can start up and print the version
- Run(['/usr/lib/dart/bin/pub', '--version'])
-
UninstallDart()
TestInstallation(assume_installed=False)