create dartdoc snapshot, add to dart-sdk. Also add resources needed to run dartdoc from the sdk.
BUG= R=whesse@google.com Review URL: https://codereview.chromium.org//1295073003 .
This commit is contained in:
@@ -50,7 +50,7 @@ vars = {
|
||||
"crypto_rev" : "@2df57a1e26dd88e8d0614207d4b062c73209917d",
|
||||
"csslib_tag" : "@0.12.0",
|
||||
"dart2js_info_rev" : "@154564c838fd7a1d9c33cabf33eae16751446535",
|
||||
"dartdoc_tag" : "@v0.5.0",
|
||||
"dartdoc_tag" : "@v0.5.0+3",
|
||||
"dart_services_rev" : "@7aea2574e6f3924bf409a80afb8ad52aa2be4f97",
|
||||
"dart_style_tag": "@0.2.0",
|
||||
"dev_compiler_rev": "@0.1.3",
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
'utils/compiler/compiler.gyp:dart2js',
|
||||
'utils/pub/pub.gyp:pub',
|
||||
'utils/dartfmt/dartfmt.gyp:dartfmt',
|
||||
'utils/dartdoc/dartdoc.gyp:dartdoc',
|
||||
'utils/analysis_server/analysis_server.gyp:analysis_server',
|
||||
'utils/dartanalyzer/dartanalyzer.gyp:dartanalyzer',
|
||||
],
|
||||
@@ -38,6 +39,7 @@
|
||||
'<(SHARED_INTERMEDIATE_DIR)/dartanalyzer.dart.snapshot',
|
||||
'<(SHARED_INTERMEDIATE_DIR)/dartfmt.dart.snapshot',
|
||||
'<(SHARED_INTERMEDIATE_DIR)/analysis_server.dart.snapshot',
|
||||
'<(SHARED_INTERMEDIATE_DIR)/dartdoc.dart.snapshot',
|
||||
'tools/VERSION'
|
||||
],
|
||||
'outputs': [
|
||||
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2015, 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 dart_style/bin/format.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"
|
||||
}
|
||||
|
||||
# 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)"
|
||||
SDK_DIR="$(cd "${BIN_DIR}/.." ; pwd -P)"
|
||||
|
||||
SNAPSHOT="$BIN_DIR/snapshots/dartdoc.dart.snapshot"
|
||||
|
||||
# We are running the snapshot in the built SDK.
|
||||
DART="$BIN_DIR/dart"
|
||||
exec "$DART" --packages="$BIN_DIR/snapshots/resources/dartdoc/.packages" "$SNAPSHOT" "$@"
|
||||
@@ -0,0 +1,44 @@
|
||||
@echo off
|
||||
REM Copyright (c) 2015, 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
|
||||
|
||||
set DART=%BIN_DIR%\dart
|
||||
set SNAPSHOT=%BIN_DIR%\snapshots\dartdoc.dart.snapshot
|
||||
|
||||
"%DART%" --packages="$BIN_DIR/snapshots/resources/dartdoc/.packages" "%SNAPSHOT%" %*
|
||||
|
||||
endlocal
|
||||
|
||||
exit /b %errorlevel%
|
||||
|
||||
rem Follow the symbolic links (junctions points) using `dir to determine the
|
||||
rem canonical path. Output with a link looks something like this
|
||||
rem
|
||||
rem 01/03/2013 10:11 PM <JUNCTION> abc def
|
||||
rem [c:\dart_bleeding\dart-repo.9\dart\build\ReleaseIA32\dart-sdk]
|
||||
rem
|
||||
rem So in the output of 'dir /a:l "targetdir"' we are looking for a filename
|
||||
rem surrounded by right angle bracket and left square bracket. Once we get
|
||||
rem the filename, which is name of the link, we recursively follow that.
|
||||
: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 ^
|
||||
^| find "> %~n1 ["`) do (
|
||||
set current=%%i
|
||||
)
|
||||
if not "%current%"=="" call :follow_links "%current%", result
|
||||
endlocal & set %~2=%result%
|
||||
goto :eof
|
||||
|
||||
:end
|
||||
+24
-2
@@ -15,6 +15,7 @@
|
||||
# ....bin/
|
||||
# ......dart or dart.exe (executable)
|
||||
# ......dart.lib (import library for VM native extensions on Windows)
|
||||
# ......dartdoc
|
||||
# ......dartfmt
|
||||
# ......dart2js
|
||||
# ......dartanalyzer
|
||||
@@ -23,9 +24,15 @@
|
||||
# ........analysis_server.dart.snapshot
|
||||
# ........dart2js.dart.snapshot
|
||||
# ........dartanalyzer.dart.snapshot
|
||||
# ........dartdoc.dart.snapshot
|
||||
# ........dartfmt.dart.snapshot
|
||||
# ........pub.dart.snapshot
|
||||
# ........utils_wrapper.dart.snapshot
|
||||
#.........resources/
|
||||
#...........dartdoc/
|
||||
#..............packages
|
||||
#.............resources/
|
||||
#.............templates/
|
||||
# ....include/
|
||||
# ......dart_api.h
|
||||
# ......dart_mirrors_api.h
|
||||
@@ -114,18 +121,32 @@ def CopyShellScript(src_file, dest_dir):
|
||||
|
||||
def CopyDartScripts(home, sdk_root):
|
||||
for executable in ['dart2js_sdk', 'dartanalyzer_sdk', 'dartfmt_sdk', 'docgen',
|
||||
'dartdocgen', 'pub_sdk']:
|
||||
'dartdocgen', 'pub_sdk', 'dartdoc']:
|
||||
CopyShellScript(os.path.join(home, 'sdk', 'bin', executable),
|
||||
os.path.join(sdk_root, 'bin'))
|
||||
|
||||
|
||||
def CopySnapshots(snapshots, sdk_root):
|
||||
for snapshot in ['analysis_server', 'dart2js', 'dartanalyzer', 'dartfmt',
|
||||
'utils_wrapper', 'pub']:
|
||||
'utils_wrapper', 'pub', 'dartdoc']:
|
||||
snapshot += '.dart.snapshot'
|
||||
copyfile(join(snapshots, snapshot),
|
||||
join(sdk_root, 'bin', 'snapshots', snapshot))
|
||||
|
||||
def CopyDartdocResources(home,sdk_root):
|
||||
RESOURCE_DIR = join(sdk_root, 'bin', 'snapshots', 'resources')
|
||||
DARTDOC = join(RESOURCE_DIR, 'dartdoc')
|
||||
|
||||
copytree(join(home, 'third_party', 'pkg', 'dartdoc', 'lib', 'templates'),
|
||||
join(DARTDOC, 'templates'))
|
||||
copytree(join(home, 'third_party', 'pkg', 'dartdoc', 'lib', 'resources'),
|
||||
join(DARTDOC, 'resources'))
|
||||
# write the .packages file
|
||||
PACKAGES_FILE = join(DARTDOC, '.packages')
|
||||
packages_file = open(PACKAGES_FILE, 'w')
|
||||
packages_file.write('dartdoc:.')
|
||||
packages_file.close()
|
||||
|
||||
|
||||
def Main():
|
||||
# Pull in all of the gypi files which will be munged into the sdk.
|
||||
@@ -251,6 +272,7 @@ def Main():
|
||||
# Copy dart2js/pub.
|
||||
CopyDartScripts(HOME, SDK_tmp)
|
||||
CopySnapshots(SNAPSHOT, SDK_tmp)
|
||||
CopyDartdocResources(HOME, SDK_tmp)
|
||||
|
||||
# Write the 'version' file
|
||||
version = utils.GetVersion()
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
# 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.
|
||||
|
||||
{
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'dartdoc',
|
||||
'type': 'none',
|
||||
'dependencies': [
|
||||
'../../runtime/dart-runtime.gyp:dart',
|
||||
'../../pkg/pkg.gyp:pkg_packages',
|
||||
],
|
||||
'actions': [
|
||||
{
|
||||
'action_name': 'generate_dartdoc_snapshot',
|
||||
'inputs': [
|
||||
'<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)dart<(EXECUTABLE_SUFFIX)',
|
||||
'../../sdk/lib/_internal/sdk_library_metadata/lib/libraries.dart',
|
||||
'<(SHARED_INTERMEDIATE_DIR)/packages.stamp',
|
||||
'<!@(["python", "../../tools/list_files.py", "\\.dart$", "../../third_party/pkg/dartdoc"])',
|
||||
],
|
||||
'outputs': [
|
||||
'<(SHARED_INTERMEDIATE_DIR)/dartdoc.dart.snapshot',
|
||||
],
|
||||
'action': [
|
||||
'<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)dart<(EXECUTABLE_SUFFIX)',
|
||||
'--snapshot=<(SHARED_INTERMEDIATE_DIR)/dartdoc.dart.snapshot',
|
||||
'--package-root=<(PRODUCT_DIR)/packages/',
|
||||
'../../third_party/pkg/dartdoc/bin/dartdoc.dart',
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
}
|
||||
Reference in New Issue
Block a user