mirror of
https://github.com/dart-lang/sdk
synced 2024-10-06 14:49:43 +00:00
Revert "Reland "Remove the pub top-level""
This reverts commit7bb6841815
. Reason for revert: Flutter rolls are failing, please see https://github.com/flutter/engine/pull/31332 Original change's description: > Reland "Remove the pub top-level" > > This is a reland of872ffa85c2
> > Original change's description: > > 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> > > Bug: https://github.com/dart-lang/pub/issues/3292 > Change-Id: I45b5bf93f30c8abad4558cb15b61289c6c786f65 > Cq-Include-Trybots: luci.dart.try:flutter-engine-linux-try,flutter-engine-linux-web_tests-try,flutter-frontend-try > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/231943 > Reviewed-by: Jonas Jensen <jonasfj@google.com> > Reviewed-by: Michael Thomsen <mit@google.com> > Commit-Queue: Sigurd Meldgaard <sigurdm@google.com> # Not skipping CQ checks because original CL landed > 1 day ago. Bug: https://github.com/dart-lang/pub/issues/3292 Change-Id: Ie64d894efac2b5d686f470e2465819c74dd917ff Cq-Include-Trybots: luci.dart.try:flutter-engine-linux-try,flutter-engine-linux-web_tests-try,flutter-frontend-try Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/232131 Reviewed-by: Siva Annamalai <asiva@google.com> Reviewed-by: Ben Konyi <bkonyi@google.com> Commit-Queue: Siva Annamalai <asiva@google.com>
This commit is contained in:
parent
ef02841083
commit
d858c6aa44
|
@ -109,14 +109,6 @@ in 2018, as it doesn't work with any Dart 2.x release.
|
||||||
|
|
||||||
[an issue]: https://github.com/dart-lang/sdk/issues/new
|
[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
|
#### Pub
|
||||||
|
|
||||||
- Fixed race conditions in `dart pub get`, `dart run` and `dart pub global run`.
|
- Fixed race conditions in `dart pub get`, `dart run` and `dart pub global run`.
|
||||||
|
|
|
@ -39,6 +39,7 @@ declare_args() {
|
||||||
# ......dartanalyzer
|
# ......dartanalyzer
|
||||||
# ......dartdevc
|
# ......dartdevc
|
||||||
# ......utils/gen_snapshot or utils/gen_snapshot.exe (if not on ia32)
|
# ......utils/gen_snapshot or utils/gen_snapshot.exe (if not on ia32)
|
||||||
|
# ......pub
|
||||||
# ......snapshots/
|
# ......snapshots/
|
||||||
# ........analysis_server.dart.snapshot
|
# ........analysis_server.dart.snapshot
|
||||||
# ........dart2js.dart.snapshot
|
# ........dart2js.dart.snapshot
|
||||||
|
@ -87,12 +88,16 @@ declare_args() {
|
||||||
# ......api_readme.md
|
# ......api_readme.md
|
||||||
|
|
||||||
# Scripts that go under bin/
|
# Scripts that go under bin/
|
||||||
_platform_sdk_scripts = [ "dartanalyzer" ]
|
_platform_sdk_scripts = [
|
||||||
|
"dartanalyzer",
|
||||||
|
"pub",
|
||||||
|
]
|
||||||
|
|
||||||
_full_sdk_scripts = [
|
_full_sdk_scripts = [
|
||||||
"dart2js",
|
"dart2js",
|
||||||
"dartanalyzer",
|
"dartanalyzer",
|
||||||
"dartdevc",
|
"dartdevc",
|
||||||
|
"pub",
|
||||||
]
|
]
|
||||||
|
|
||||||
# Snapshots that go under bin/snapshots
|
# Snapshots that go under bin/snapshots
|
||||||
|
|
56
sdk/bin/pub.bat
Normal file
56
sdk/bin/pub.bat
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
@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
|
47
sdk/bin/pub_sdk
Executable file
47
sdk/bin/pub_sdk
Executable file
|
@ -0,0 +1,47 @@
|
||||||
|
#!/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 "$@"
|
50
sdk/bin/pub_sdk.bat
Normal file
50
sdk/bin/pub_sdk.bat
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
@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
|
|
@ -35,10 +35,10 @@ def Main():
|
||||||
mode = ('Debug' if options.mode == 'debug' else 'Release')
|
mode = ('Debug' if options.mode == 'debug' else 'Release')
|
||||||
|
|
||||||
out_dir = 'xcodebuild' if sys.platform == 'darwin' else 'out'
|
out_dir = 'xcodebuild' if sys.platform == 'darwin' else 'out'
|
||||||
extension = '' if not sys.platform == 'win32' else '.exe'
|
extension = '' if not sys.platform == 'win32' else '.bat'
|
||||||
dart = os.path.abspath('%s/%s%s/dart-sdk/bin/dart%s' %
|
pub = os.path.abspath('%s/%s%s/dart-sdk/bin/pub%s' %
|
||||||
(out_dir, mode, arch, extension))
|
(out_dir, mode, arch, extension))
|
||||||
print(dart)
|
print(pub)
|
||||||
|
|
||||||
working_dir = tempfile.mkdtemp()
|
working_dir = tempfile.mkdtemp()
|
||||||
try:
|
try:
|
||||||
|
@ -49,15 +49,11 @@ def Main():
|
||||||
with open(working_dir + '/pubspec.yaml', 'w') as pubspec_yaml:
|
with open(working_dir + '/pubspec.yaml', 'w') as pubspec_yaml:
|
||||||
pubspec_yaml.write(PUBSPEC)
|
pubspec_yaml.write(PUBSPEC)
|
||||||
|
|
||||||
exit_code = subprocess.call([dart, 'pub', 'get'],
|
exit_code = subprocess.call([pub, 'get'], cwd=working_dir, env=env)
|
||||||
cwd=working_dir,
|
|
||||||
env=env)
|
|
||||||
if exit_code != 0:
|
if exit_code != 0:
|
||||||
return exit_code
|
return exit_code
|
||||||
|
|
||||||
exit_code = subprocess.call([dart, 'pub', 'upgrade'],
|
exit_code = subprocess.call([pub, 'upgrade'], cwd=working_dir, env=env)
|
||||||
cwd=working_dir,
|
|
||||||
env=env)
|
|
||||||
if exit_code != 0:
|
if exit_code != 0:
|
||||||
return exit_code
|
return exit_code
|
||||||
finally:
|
finally:
|
||||||
|
|
|
@ -123,6 +123,9 @@ def SrcSteps():
|
||||||
Run(['/usr/lib/dart/bin/dart', 'analyze', test_file])
|
Run(['/usr/lib/dart/bin/dart', 'analyze', test_file])
|
||||||
Run(['/usr/lib/dart/bin/dart', 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()
|
UninstallDart()
|
||||||
TestInstallation(assume_installed=False)
|
TestInstallation(assume_installed=False)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue