Chromium Code Reviews| Index: tools/bots/dart_sdk.py |
| diff --git a/tools/bots/dart_sdk.py b/tools/bots/dart_sdk.py |
| index 16094f0140468369fb35cc91c90a35af2e659965..c54e7db521f84ebb6a40939eaae5a8bfd431d069 100644 |
| --- a/tools/bots/dart_sdk.py |
| +++ b/tools/bots/dart_sdk.py |
| @@ -7,6 +7,7 @@ |
| import os.path |
| import shutil |
| import sys |
| +import subprocess |
| import bot |
| import bot_utils |
| @@ -30,6 +31,21 @@ def BuildAPIDocs(): |
| Run([sys.executable, './tools/build.py', '--mode=release', |
| '--arch=ia32', 'dartdocgen']) |
| +def BuildDartdocAPIDocs(dirname): |
| + dart_sdk = os.path.join(bot_utils.DART_DIR, |
| + utils.GetBuildRoot(BUILD_OS, 'release', 'ia32'), |
|
ricow1
2015/06/11 15:51:50
indentation
keertip
2015/06/11 18:10:10
Done.
|
| + 'dart-sdk') |
|
ricow1
2015/06/11 15:51:50
indentatione
keertip
2015/06/11 18:10:09
Done.
|
| + dart_exe = os.path.join(dart_sdk, 'bin', 'dart') |
| + dartdoc_dart = os.path.join(bot_utils.DART_DIR, |
| + 'third_party', 'pkg' , 'dartdoc' , 'bin' , 'dartdoc.dart') |
|
ricow1
2015/06/11 15:51:50
long line
keertip
2015/06/11 18:10:09
Done.
|
| + packages_dir = os.path.join(bot_utils.DART_DIR, |
| + utils.GetBuildRoot(BUILD_OS, 'release', 'ia32'), |
| + 'packages') |
| + with bot.BuildStep('Build API docs by dartdoc'): |
| + subprocess.call([dart_exe, '--package-root=' + packages_dir, dartdoc_dart, '--sdk-docs', |
|
ricow1
2015/06/11 15:51:50
long line
ricow1
2015/06/11 15:51:50
'--package-root=%s' % packages_dir
is the python w
keertip
2015/06/11 18:10:09
Done.
keertip
2015/06/11 18:10:10
Done.
|
| + '--output', dirname, '--dart-sdk', dart_sdk, '--package-root', packages_dir], |
|
ricow1
2015/06/11 15:51:50
long line
keertip
2015/06/11 18:10:10
Done.
|
| + stdout=open(os.devnull, 'wb')) |
| + |
| def CreateUploadVersionFile(): |
| file_path = os.path.join(bot_utils.DART_DIR, |
| utils.GetBuildRoot(BUILD_OS, 'release', 'ia32'), |
| @@ -86,12 +102,23 @@ def CreateUploadAPIDocs(): |
| api_zip = os.path.join(bot_utils.DART_DIR, |
| utils.GetBuildRoot(BUILD_OS, 'release', 'ia32'), |
| 'dart-api-docs.zip') |
| + dartdoc_dir = os.path.join(bot_utils.DART_DIR, |
| + utils.GetBuildRoot(BUILD_OS, 'release', 'ia32'), |
| + 'gen-dartdocs') |
| + dartdoc_zip = os.path.join(bot_utils.DART_DIR, |
| + utils.GetBuildRoot(BUILD_OS, 'release', 'ia32'), |
| + 'dartdocs-api.zip') |
| shutil.rmtree(api_path, ignore_errors=True) |
| FileDelete(api_zip) |
| BuildAPIDocs() |
| UploadApiDocs(api_path) |
| + UploadApiLatestFile() |
| CreateZip(api_path, api_zip) |
| DartArchiveUploadAPIDocs(api_zip) |
| + BuildDartdocAPIDocs(dartdoc_dir) |
| + UploadDartdocApiDocs(dartdoc_dir) |
| + CreateZip(dartdoc_dir, dartdoc_zip) |
| + DartArchiveUploadDartdocAPIDocs(dartdoc_zip) |
| def DartArchiveUploadAPIDocs(api_zip): |
| namer = bot_utils.GCSNamer(CHANNEL, bot_utils.ReleaseType.RAW) |
| @@ -120,6 +147,36 @@ def UploadApiDocs(dir_name): |
| gsutil.upload(dir_name, apidocs_destination_gcsdir, recursive=True, |
| public=True) |
| +def DartArchiveUploadDartdocAPIDocs(api_zip): |
| + namer = bot_utils.GCSNamer(CHANNEL, bot_utils.ReleaseType.RAW) |
| + revision = utils.GetArchiveVersion() |
| + for revision in [revision, 'latest']: |
| + destination = (namer.apidocs_directory(revision) + '/' + |
|
ricow1
2015/06/11 15:51:50
I don't like the + between strings, but I am fine
keertip
2015/06/11 18:10:09
Acknowledged.
|
| + namer.dartdocs_zipfilename()) |
| + DartArchiveFile(api_zip, destination, checksum_files=False) |
| + |
| +def UploadDartdocApiDocs(dir_name): |
| + apidocs_namer = bot_utils.GCSNamerApiDocs(CHANNEL) |
| + revision = utils.GetArchiveVersion() |
| + dartdocs_destination_gcsdir = apidocs_namer.dartdocs_dirpath(revision) |
| + |
| + # Return early if the documents have already been uploaded. |
| + # (This can happen if a build was forced, or a commit had no changes in the |
|
ricow1
2015/06/11 15:51:50
lose the ()
keertip
2015/06/11 18:10:09
Done.
|
| + # dart repository (e.g. DEPS file update).) |
| + if GsutilExists(dartdocs_destination_gcsdir): |
| + print ("Not uploading api docs, since %s is already present." |
| + % dartdocs_destination_gcsdir) |
| + return |
| + |
| + # Upload everything inside the built apidocs directory. |
| + gsutil = bot_utils.GSUtil() |
| + gsutil.upload(dir_name, dartdocs_destination_gcsdir, recursive=True, |
| + public=True, multithread=True) |
| + |
| +def UploadApiLatestFile(): |
| + apidocs_namer = bot_utils.GCSNamerApiDocs(CHANNEL) |
| + revision = utils.GetArchiveVersion() |
| + apidocs_destination_latestfile = apidocs_namer.docs_latestpath(revision) |
| # Update latest.txt to contain the newest revision. |
| with utils.TempDir('latest_file') as temp_dir: |
| latest_file = os.path.join(temp_dir, 'latest.txt') |
| @@ -187,6 +244,7 @@ def Run(command): |
| return bot.RunProcess(command) |
| if __name__ == '__main__': |
| + |
|
ricow1
2015/06/11 15:51:50
stray edit?
keertip
2015/06/11 18:10:09
Done.
|
| # We always clobber the bot, to make sure releases are build from scratch |
| force = CHANNEL != bot_utils.Channel.BLEEDING_EDGE |
| bot.Clobber(force=force) |