Include the custom conversions when building machine configuration
Fixes: b/243382545
Change-Id: Ieb4178db048ac6b30d8bb64cfb995259e39aea2c
diff --git a/tools/create_maven_release.py b/tools/create_maven_release.py
index fc7eafb..7d73a93 100755
--- a/tools/create_maven_release.py
+++ b/tools/create_maven_release.py
@@ -391,13 +391,15 @@
make_archive(destination, 'zip', tmp_dir)
move(destination + '.zip', destination)
-def convert_desugar_configuration(configuration, machine_configuration):
+def convert_desugar_configuration(
+ configuration, conversions, implementation, machine_configuration):
cmd = [jdk.GetJavaExecutable(),
'-cp',
utils.R8_JAR,
'com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.DesugaredLibraryConverter',
configuration,
- utils.DESUGAR_IMPLEMENTATION_JDK11,
+ implementation,
+ conversions,
utils.get_android_jar(33),
machine_configuration]
subprocess.check_call(cmd)
@@ -410,7 +412,7 @@
if (not version.startswith("1.")):
machine_configuration = join(tmp_dir, "machine.json")
- convert_desugar_configuration(configuration, machine_configuration)
+ convert_desugar_configuration(configuration, conversions, implementation, machine_configuration)
configuration = machine_configuration
# Generate the pom file.
diff --git a/tools/desugar_jdk_libs_repository.py b/tools/desugar_jdk_libs_repository.py
index 4417255..7cb7a19 100755
--- a/tools/desugar_jdk_libs_repository.py
+++ b/tools/desugar_jdk_libs_repository.py
@@ -11,8 +11,10 @@
import subprocess
import sys
+import gradle
import utils
import create_maven_release
+import archive_desugar_jdk_libs
class Variant(Enum):
jdk8 = 'jdk8'
@@ -114,6 +116,7 @@
version_file = 'VERSION_JDK11_NIO.txt'
implementation_build_target = ':maven_release_jdk11_nio'
implementation_build_output = join('bazel-bin', 'desugar_jdk_libs_jdk11_nio.zip')
+ gradle.RunGradle([utils.R8])
with utils.TempDir(delete=False) as tmp_dir:
(name, version) = utils.desugar_configuration_name_and_version(configuration, False)
# Checkout desugar_jdk_libs from GitHub
@@ -167,11 +170,24 @@
'--spawn_strategy=local',
'--verbose_failures',
implementation_build_target])
+
+ # Undesugar desugared library if needed.
+ undesugared_if_needed = join(checkout_dir, implementation_build_output)
+ if (args.variant == Variant.jdk11_minimal
+ or args.variant == Variant.jdk11
+ or args.variant == Variant.jdk11_nio):
+ undesugared_if_needed = join(tmp_dir, 'undesugared.zip')
+ archive_desugar_jdk_libs.Undesugar(
+ str(args.variant),
+ join(checkout_dir, implementation_build_output),
+ version,
+ undesugared_if_needed)
+
unzip_dir = join(tmp_dir, 'desugar_jdk_libs_unzipped')
cmd = [
'unzip',
'-q',
- join(checkout_dir, implementation_build_output),
+ undesugared_if_needed,
'-d',
unzip_dir]
subprocess.check_call(cmd)
@@ -204,7 +220,7 @@
print(" changing = true")
print(" }")
print()
- print('If not using the !changing" propertyRemember to run gradle with '
+ print('If not using the "changing" propertyRemember to run gradle with '
+ " --refresh-dependencies (./gradlew --refresh-dependencies ...) "
+ "to ensure the cache is not used when the same version is published."
+ "multiple times.")