sources = [
"file_version_info.h",
"file_version_info_mac.h"
"file_version_info_mac.mm",
"file_version_info_win.cc",
"file_version_info_win.h",
]
sources = [
"file_version_info.h"
]
if (is_mac) {
sources += [
"file_version_info_mac.h",
]}
if (is_win) {
sources += [
"file_version_info_win.cc","file_version_info_win.h",]}
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAJauWCEnkMfjVfwd3Ny-QvV4f97GgNtt9aHObD0%2BZwYspR2LCg%40mail.gmail.com.
--
--
I believe there's widespread agreement that we should do this; it's just that doing it is a lot of work.
It's true that this can be done incrementally, but what's going to stop someone from adding back something relying on set_sources_assignments_filter to base/BUILD.gn after your change goes in? Or do you expect that this will happen rarely enough that we can convert build files much faster than regressions creep in?
How long would you estimate did it take you to do the CL for base/? How many BUILD files are there? (i.e. do we need tooling to be able to do this manually, or will we finish fast enough if we keep doing this manually?)
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAJauWCH2UfJWKgRbHd4kv9LNBF6BO2-h7qsFK2qfuA3X%2BdBuTA%40mail.gmail.com.
Those are great questions.On Mon, Oct 28, 2019 at 5:24 PM Nico Weber <tha...@chromium.org> wrote:I believe there's widespread agreement that we should do this; it's just that doing it is a lot of work.
It's true that this can be done incrementally, but what's going to stop someone from adding back something relying on set_sources_assignments_filter to base/BUILD.gn after your change goes in? Or do you expect that this will happen rarely enough that we can convert build files much faster than regressions creep in?IIUC, each BUILD.gn file is parsed independently, so if we call set_sources_assignment_filter() with an empty list at the top of each BUILD.gn file after it has been converted, then it would not be possible to add back something dependending on the filter in the file. Combined with a presubmit to prevent removal or modification of those calls, this should be enough to protect against regression.How long would you estimate did it take you to do the CL for base/? How many BUILD files are there? (i.e. do we need tooling to be able to do this manually, or will we finish fast enough if we keep doing this manually?)The CL for base/ tooks me a couple of hours to write (plus an extra hour to create a version of GN that printed the list of filtered out files). In total it took me less than an afternoon to write the patch to GN and the CL.Using a crude regex to find BUILD.gn and .gni files with pattern looking like something that could be filtered out, I get a list of 500+ files. The command used is the following (I filtered out path containing ios/ as I know those files don't need sources_assignment_filter as they are only ever build and referenced when targeting ios):
$ git grep -l -E '(_(ios|win|mac|cocoa|chromeos|linux|posix)(\.|_unittest)|\b(ios|win|mac|cocoa|chromeos|linux|posix)/)' -- '*.gn' '*.gni'|grep -v 'ios/'I would expect this list of files to be an upper bound of the files to be modified (since some of those BUILD.gn files are already in directories that match the name of one of the platforms, like chromeos/, so I would expect them to not depend on sources_assignment_filter). I don't know how complex each of those files will be to convert however, so I cannot yet determine whether we can do the conversion manually or if we need tooling.
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CABiGVV9jgSxQexceHOq1_7HSAc33XrPj_pv6ELMyvHpjG5jVXg%40mail.gmail.com.
This seems a good idea to me. As Brett suggests, getting owners to manually migrate their GN rules not to rely on the filters is probably less work overall than trying to automate it.
Is it possible for us to switch the files that rely on the current filter to be opt-in, rather than making it an opt-out once things are migrated? That would help prevent new usage creeping in via new BUILD files, and make the "magic" more visible in the meantime.
Strong +1 to doing this. The fact that I can't use out/android or out/chromeos for destination folders because of this feature also makes me sad.
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/ddb15e91-9aee-42bb-aa1e-b889c210ab02%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAEoffTDrt7UU92owTKB7VE3DsuP_ugNLEhN91HW0S3Nj1zwEJQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CALekkJcP7DpLMR2c12VhQsvDxPfPwLTPrS3mGk-H2nMUGrRntw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAJ0M83XsQ9EK2TecRGJ%3Dyh_0CvtouV4kXS9Txef_5FosUS-sYw%40mail.gmail.com.