[KeepAnno] Archive javadoc as part of the build
Bug: b/248408342
Change-Id: I09f6ed01262fe27425129266de404feaf9ad64a9
diff --git a/tools/archive.py b/tools/archive.py
index fd250dd..8de974f 100755
--- a/tools/archive.py
+++ b/tools/archive.py
@@ -171,7 +171,9 @@
if (not options.skip_gradle_build):
gradle.RunGradle([
utils.GRADLE_TASK_CONSOLIDATED_LICENSE,
- utils.GRADLE_TASK_KEEP_ANNO_JAR, utils.GRADLE_TASK_R8,
+ utils.GRADLE_TASK_KEEP_ANNO_JAR,
+ utils.GRADLE_TASK_KEEP_ANNO_DOC,
+ utils.GRADLE_TASK_R8,
utils.GRADLE_TASK_R8LIB, utils.GRADLE_TASK_R8LIB_NO_DEPS,
utils.GRADLE_TASK_THREADING_MODULE_BLOCKING,
utils.GRADLE_TASK_THREADING_MODULE_SINGLE_THREADED,
@@ -229,6 +231,25 @@
'-PspdxRevision=' + GetGitHash()
])
+ # Upload directories.
+ dirs_for_archiving = [
+ (utils.KEEPANNO_ANNOTATIONS_DOC, "keepanno/javadoc"),
+ ]
+ for (src_dir, dst_dir) in dirs_for_archiving:
+ destination = GetUploadDestination(version, dst_dir, is_main)
+ print(f'Uploading {src_dir} to {destination}')
+ if options.dry_run:
+ if options.dry_run_output:
+ dry_run_destination = os.path.join(options.dry_run_output, dst_dir)
+ print(f'Dry run, not actually uploading. Copying to {dry_run_destination}')
+ shutil.copytree(src_dir, dry_run_destination)
+ else:
+ print('Dry run, not actually uploading')
+ else:
+ utils.upload_directory_to_cloud_storage(src_dir, destination)
+ print(f'Directory available at: {GetUrl(version, dst_dir, is_main)}')
+
+ # Upload files.
for_archiving = [
utils.R8_JAR, utils.R8LIB_JAR, utils.R8LIB_JAR + '.map',
utils.R8LIB_JAR + '_map.zip', utils.R8_FULL_EXCLUDE_DEPS_JAR,
diff --git a/tools/utils.py b/tools/utils.py
index 597f8b1..e859748 100644
--- a/tools/utils.py
+++ b/tools/utils.py
@@ -43,6 +43,7 @@
GRADLE_TASK_CLEAN_TEST = ':test:cleanTest'
GRADLE_TASK_CONSOLIDATED_LICENSE = ':main:consolidatedLicense'
GRADLE_TASK_KEEP_ANNO_JAR = ':keepanno:keepAnnoAnnotationsJar'
+GRADLE_TASK_KEEP_ANNO_DOC = ':keepanno:keepAnnoAnnotationsDoc'
GRADLE_TASK_R8 = ':main:r8WithRelocatedDeps'
GRADLE_TASK_R8LIB = ':test:assembleR8LibWithRelocatedDeps'
GRADLE_TASK_R8LIB_NO_DEPS = ':test:assembleR8LibNoDeps'
@@ -77,6 +78,7 @@
LIBRARY_DESUGAR_CONVERSIONS_ZIP = os.path.join(
CUSTOM_CONVERSION_DIR, 'library_desugar_conversions.jar')
KEEPANNO_ANNOTATIONS_JAR = os.path.join(LIBS, 'keepanno-annotations.jar')
+KEEPANNO_ANNOTATIONS_DOC = os.path.join('d8_r8', 'keepanno', 'build', 'docs', 'javadoc')
DESUGAR_CONFIGURATION = os.path.join('src', 'library_desugar',
'desugar_jdk_libs.json')
@@ -391,6 +393,14 @@
PrintCmd(cmd)
subprocess.check_call(cmd)
+def upload_directory_to_cloud_storage(source, destination, parallel=True):
+ cmd = [get_gsutil()]
+ if parallel:
+ cmd += ['-m']
+ cmd += ['cp', '-R']
+ cmd += [source, destination]
+ PrintCmd(cmd)
+ subprocess.check_call(cmd)
def delete_file_from_cloud_storage(destination):
cmd = [get_gsutil(), 'rm', destination]