47 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| Name: Desugar, transforming Java 8 bytecode to be Java 7 compatible
 | |
| Short Name: desugar
 | |
| URL: https://github.com/bazelbuild/bazel
 | |
| Version: 1.1.0
 | |
| License: Apache 2.0
 | |
| Security Critical: no
 | |
| 
 | |
| Description:
 | |
| Desugar is a Google-developed open-source Java library used by the build process
 | |
| to transform Java 8 bytecode to Java 7. It is used to enable Java 8 features
 | |
| such as lambda experssions for Chrome on Android.
 | |
| 
 | |
| Googlers: See: go/desugar
 | |
| 
 | |
| Local Modifications:
 | |
| * Added BUILD.gn, proguard.flags.
 | |
| * Made all lambdas be "stateful" to avoid <clinit> bloat.
 | |
| * Desugar_deploy.jar split into Desugar.jar and Desugar_runtime.jar.
 | |
| * Desugar.jar has been run through r8.jar to remove unused .class files.
 | |
| 
 | |
| Update instructions (requires @google.com account for uploading):
 | |
| * Check out Bazel from https://github.com/bazelbuild/bazel
 | |
| * Compile or install Bazel by following instructions on
 | |
|     https://docs.bazel.build/versions/master/install.html
 | |
| * Apply stateful-lambdas.patch:
 | |
|     git apply $CHROMIUM_SRC/third_party/bazel/desugar/stateful-lambdas.patch
 | |
| * Build Desugar_deploy.jar:
 | |
|     bazel build //src/tools/android/java/com/google/devtools/build/android/desugar:Desugar_deploy.jar
 | |
| * Move Desugar_deploy.jar to location within Chromium:
 | |
|     rm $CHROMIUM_SRC/third_party/bazel/desugar/Desugar.jar
 | |
|     mv bazel-bin/src/tools/android/java/com/google/devtools/build/android/desugar/Desugar_deploy.jar $CHROMIUM_SRC/third_party/bazel/desugar/Desugar.jar
 | |
| * Update Desugar_runtime.jar:
 | |
|     unzip Desugar.jar "com/google/devtools/build/android/desugar/runtime*"
 | |
|     zip -rD0 Desugar_runtime.jar com
 | |
|     rm -r com
 | |
| * Shrink via r8 (optional - reduces size by about 66%).
 | |
|     java -jar ../../r8/lib/r8.jar --debug --classfile --output Desugar.new.jar --pg-conf proguard.flags --no-desugaring --lib ../../jdk/extras/java_8/jre/lib/rt.jar Desugar.jar
 | |
|     mv Desugar.new.jar Desugar.jar
 | |
| * Perform a sanity check of chrome_public_apk:
 | |
|     ninja chrome_public_apk
 | |
|     bin/chrome_public_apk run
 | |
| * Update this README.chromium (Version)
 | |
| * Upload new jar to CIPD:
 | |
|     cd third_party/bazel
 | |
|     cipd create --pkg-def cipd.yaml
 | |
| * Update revision //DEPS
 |