New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 642600 link

Starred by 7 users

Issue metadata

Status: Duplicate
Merged: issue 730711
Owner:
Last visit > 30 days ago
Closed: Jun 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug

Blocked on:
issue 620323
issue 662467
issue 669999
issue 703238

Blocking:
issue 720360



Sign in to add a comment

Add Java 1.8 Support via Retrolambda

Project Member Reported by agrieve@chromium.org, Aug 31 2016

Issue description

Rather than requiring Jack for java 1.8 ( bug #620053 ), we should use Retrolambda (https://github.com/orfjackal/retrolambda)

This will allow us to move to Java 8 while still being able to compare proguard+dx vs jack to see which is better.
 
Blockedon: 662467
Owner: zpeng@chromium.org
While we wait for bots to be updated with jdk8 (#662467), we should implement this by:
1. Adding retrolambda to third_party (https://www.chromium.org/developers/adding-3rd-party-libraries)
2. Hook it into the process_prebuilt step (for targets where supports_android_true) behind a GN flag: use_java8. This should also set the --java-version when invoking javac.py to be "1.8" (when use_java8, but irrespective of supports_android).
Project Member

Comment 2 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/clank/internal/apps/+/de448835eca85cbada700ba028af6c6a70c84436

commit de448835eca85cbada700ba028af6c6a70c84436
Author: F <zpeng@google.com>
Date: Tue Nov 29 19:16:00 2016

Project Member

Comment 3 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d8c7a8acef06acc9f093177d568789f8f3329c23

commit d8c7a8acef06acc9f093177d568789f8f3329c23
Author: zpeng <zpeng@chromium.org>
Date: Thu Dec 01 16:56:51 2016

Adds experimental support for Java 8 via gn arg

Requires host machines to have jdk8 installed and uses retrolambda to
convert java 8 .jar files into java 7 .jar files.

Future work includes adding Retrolambda into third_party libraries.

BUG= 642600 

Review-Url: https://codereview.chromium.org/2543463002
Cr-Commit-Position: refs/heads/master@{#435629}

[modify] https://crrev.com/d8c7a8acef06acc9f093177d568789f8f3329c23/build/android/gyp/javac.py
[add] https://crrev.com/d8c7a8acef06acc9f093177d568789f8f3329c23/build/android/gyp/retrolambda.py
[modify] https://crrev.com/d8c7a8acef06acc9f093177d568789f8f3329c23/build/config/android/config.gni
[modify] https://crrev.com/d8c7a8acef06acc9f093177d568789f8f3329c23/build/config/android/internal_rules.gni
[modify] https://crrev.com/d8c7a8acef06acc9f093177d568789f8f3329c23/build/config/android/rules.gni

Comment 4 by zpeng@chromium.org, Dec 5 2016

Blocking: 669999
Blockedon: 669999
Blocking: -669999
Blockedon: -669999
Blocking: 669999
Blockedon: 703238
Here is a reference CL that uses lambdas:
https://codereview.chromium.org/2759963002

It currently fails on checkstyle and android lint (the two blocked-on bugs).
Blockedon: 669999
Blocking: -669999

Comment 13 by zpeng@chromium.org, May 10 2017

Blockedon: 720360 620323
Blocking: 720360
Project Member

Comment 14 by bugdroid1@chromium.org, May 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f0f89654334792a032ac1f49c3e988f4b87cf2ed

commit f0f89654334792a032ac1f49c3e988f4b87cf2ed
Author: zpeng <zpeng@chromium.org>
Date: Wed May 10 19:43:54 2017

Run lint on javac output instead of process_java_prebuilt output.

During the process_java_prebuilt step, javac output might be modified
by retrolambda. As a result, if lint is run on processed_java_prebuilt
output, lint might not give the correct results. This CL makes lint run
on javac output instead of process_java_prebuilt output to eliminate
this possibility.

BUG= 642600 

Review-Url: https://codereview.chromium.org/2871283002
Cr-Commit-Position: refs/heads/master@{#470673}

[modify] https://crrev.com/f0f89654334792a032ac1f49c3e988f4b87cf2ed/build/config/android/internal_rules.gni

Blocking: 728443
Blocking: -728443
Blockedon: -720360
Mergedinto: 730711
Status: Duplicate (was: Available)
Merging into the "use desugar" bug.

Sign in to add a comment