New issue
Advanced search Search tips

Issue 604101 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2016
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

android gn: Java target dependency broken

Project Member Reported by boliu@chromium.org, Apr 16 2016

Issue description

Repro:

1) ninja -C <out> system_webview_apk
2) edit AwContents.java, add a new method to NativeGLDelegate interface. Do *not* edit implementation in WebViewChromium.java
3) ninja -C <out> system_webview_apk should fail, but passes. Then this ends up being a runtime error.

'find <out> -name "*.d" -delete' fixed it

I had two checkouts that had this issue. args.gn for both:

target_os = "android"
target_cpu = "arm"
dcheck_always_on = true
is_debug = false
is_component_build = true
is_clang = true
symbol_level = 1
system_webview_package_name = "com.google.android.webview"
run_findbugs = false
use_goma = false


target_os = "android"
target_cpu = "arm64"
dcheck_always_on = false
is_debug = false
is_component_build = true
is_clang = false
system_webview_package_name = "com.google.android.webview"
use_signing_keys = true
use_goma = false
use_unpublished_apis = true
use_webview_internal_framework = true
android_default_version_code="300000000"


That second one is still broken, if you need anything. Can't promise how long I can keep it like that though
 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 18 2016

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

commit a386390aa48558ac05260bb264a625d08f00b21f
Author: agrieve <agrieve@chromium.org>
Date: Mon Apr 18 20:55:43 2016

Fix javac.py not running a change in a dependent library occurs

BUG= 604101 

Review URL: https://codereview.chromium.org/1899633002

Cr-Commit-Position: refs/heads/master@{#388012}

[modify] https://crrev.com/a386390aa48558ac05260bb264a625d08f00b21f/build/android/gyp/javac.py

Comment 2 by boliu@chromium.org, Apr 18 2016

saw on the CL that gn no longer uses TOC files? What else does javac.py do beyond TOC?
Status: Fixed (was: Untriaged)
GN uses "interface jars" to serve the same purpose of .TOC files. They are created by running a .jar through "//third_party/ijar", which was developed by the Bazel team. An interface jar is a jar that has all method bodies stripped out, leaveing only method / class signatures.

Comment 4 by boliu@chromium.org, Apr 19 2016

Oh, good. Because I know TOC had bugs :p

Sign in to add a comment