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

Issue 795913 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocking:
issue 813932
issue 555273



Sign in to add a comment

Teach GN analyzer to handle build files

Project Member Reported by liaoyuke@chromium.org, Dec 18 2017

Issue description

This bug tracks the work to teach GN analyzer to understand and handle BUILD file changes, here, the BUILD files are not only limited BUILD.gn files, instead, they include anything that can potentially affect the dependency tree, such as *.gni, args.gn file.
 
Cc: baxley@chromium.org
Project Member

Comment 2 by bugdroid1@chromium.org, Dec 22 2017

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

commit 3cf32744d21a6f64e491c167cb995e72fe0d67bc
Author: Yuke Liao <liaoyuke@chromium.org>
Date: Fri Dec 22 19:07:45 2017

[GN] Implement tracking build dependency files for Items.

This CL implements tracking build dependency files for targets,
configs, toolchains and pools and write corresponding unit tests
to verify the behaviors.

Bug:  795913 
Change-Id: I3f7a9302db0725ef8167160838448e7eb39c4eee
Reviewed-on: https://chromium-review.googlesource.com/838220
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526037}
[modify] https://crrev.com/3cf32744d21a6f64e491c167cb995e72fe0d67bc/tools/gn/config.cc
[modify] https://crrev.com/3cf32744d21a6f64e491c167cb995e72fe0d67bc/tools/gn/config.h
[modify] https://crrev.com/3cf32744d21a6f64e491c167cb995e72fe0d67bc/tools/gn/function_toolchain.cc
[modify] https://crrev.com/3cf32744d21a6f64e491c167cb995e72fe0d67bc/tools/gn/functions.cc
[modify] https://crrev.com/3cf32744d21a6f64e491c167cb995e72fe0d67bc/tools/gn/item.cc
[modify] https://crrev.com/3cf32744d21a6f64e491c167cb995e72fe0d67bc/tools/gn/item.h
[modify] https://crrev.com/3cf32744d21a6f64e491c167cb995e72fe0d67bc/tools/gn/loader.cc
[modify] https://crrev.com/3cf32744d21a6f64e491c167cb995e72fe0d67bc/tools/gn/loader_unittest.cc
[modify] https://crrev.com/3cf32744d21a6f64e491c167cb995e72fe0d67bc/tools/gn/scope.cc
[modify] https://crrev.com/3cf32744d21a6f64e491c167cb995e72fe0d67bc/tools/gn/scope.h
[modify] https://crrev.com/3cf32744d21a6f64e491c167cb995e72fe0d67bc/tools/gn/scope_unittest.cc
[modify] https://crrev.com/3cf32744d21a6f64e491c167cb995e72fe0d67bc/tools/gn/setup.cc
[modify] https://crrev.com/3cf32744d21a6f64e491c167cb995e72fe0d67bc/tools/gn/target.cc
[modify] https://crrev.com/3cf32744d21a6f64e491c167cb995e72fe0d67bc/tools/gn/target.h
[modify] https://crrev.com/3cf32744d21a6f64e491c167cb995e72fe0d67bc/tools/gn/target_generator.cc
[modify] https://crrev.com/3cf32744d21a6f64e491c167cb995e72fe0d67bc/tools/gn/toolchain.cc
[modify] https://crrev.com/3cf32744d21a6f64e491c167cb995e72fe0d67bc/tools/gn/toolchain.h

Project Member

Comment 3 by bugdroid1@chromium.org, Jan 8 2018

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

commit da71ef3911f81a7453ea8da4297c0eba9c308748
Author: Yuke Liao <liaoyuke@chromium.org>
Date: Mon Jan 08 16:46:14 2018

[GN] Implements analyzing dependencies between items.

The goal of this CL is to teach GN analyzer to handle build files.

Previous CL:
https://chromium-review.googlesource.com/c/chromium/src/+/838220
implemented tracking build dependency files for each item that
participates in the build dependency tree.

This CL implements analyzing the dependencies between items so as
to recursively decide the set of items/targets that are either
directly or indirectly affected by a list of modified source files
(including build files).

This CL also writes unit tests to verify the new behaviors.

Bug:  795913 
Change-Id: I5c123180183246f719248415cdc496a154b5e754
Reviewed-on: https://chromium-review.googlesource.com/851080
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527646}
[modify] https://crrev.com/da71ef3911f81a7453ea8da4297c0eba9c308748/tools/gn/analyzer.cc
[modify] https://crrev.com/da71ef3911f81a7453ea8da4297c0eba9c308748/tools/gn/analyzer.h
[modify] https://crrev.com/da71ef3911f81a7453ea8da4297c0eba9c308748/tools/gn/analyzer_unittest.cc
[modify] https://crrev.com/da71ef3911f81a7453ea8da4297c0eba9c308748/tools/gn/args.cc
[modify] https://crrev.com/da71ef3911f81a7453ea8da4297c0eba9c308748/tools/gn/args.h
[modify] https://crrev.com/da71ef3911f81a7453ea8da4297c0eba9c308748/tools/gn/builder.cc
[modify] https://crrev.com/da71ef3911f81a7453ea8da4297c0eba9c308748/tools/gn/builder.h
[modify] https://crrev.com/da71ef3911f81a7453ea8da4297c0eba9c308748/tools/gn/command_analyze.cc
[modify] https://crrev.com/da71ef3911f81a7453ea8da4297c0eba9c308748/tools/gn/item.h
[modify] https://crrev.com/da71ef3911f81a7453ea8da4297c0eba9c308748/tools/gn/setup.cc
[modify] https://crrev.com/da71ef3911f81a7453ea8da4297c0eba9c308748/tools/gn/setup.h
[modify] https://crrev.com/da71ef3911f81a7453ea8da4297c0eba9c308748/tools/gn/source_file.h

Comment 4 by thakis@chromium.org, Jan 18 2018

fixed?
Status: Fixed (was: Started)
Yes, thanks!
Blocking: 813932

Sign in to add a comment