(Compared to https://codereview.chromium.org/2308313003/, this version
fixes chrome/installer/linux/BUILD.gn by including all required files)
There is nothing really chrome-specific in the process_version()
template, and if we stop always passing some files in chrome/ on every
invocation it is possible to generalize it and move it to build/util
instead (and fix some layering violation comments along the way).
Compared to its previous incarnation, process_version() no longer passes
LASTCHANGE, BRANDING and VERSION automatically to version.py. This makes
it easier for callers to specify their own |sources| with values that
may override those set in those 3 files.
A new wrapper, process_version_rc_template(), was introduced to cater
for callers (generally Windows ones) who need to process a .rc.version
file that requires the values from LASTCHANGE, BRANDING and VERSION. It
always passes those 3 files to process_version() before any optional
additional |sources|, and |template_file| defaults to
chrome_version.rc.version.
Since this template depends on files from //chrome, it lives in the
newly-added //chrome/process_version_rc_template.gni.
R=dpranke@chromium.org,brettw@chromium.org,phajdan.jr@chromium.org,ddorwin@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng
Review-Url: https://codereview.chromium.org/2341673003
Cr-Original-Commit-Position: refs/heads/master@{#419377}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: dc683d2a5c9af8b55245ce5ab2253d0b6977ccfb
Reason for revert:
This appears to cause compile errors on
"Google Chrome Linux x64", closing the main waterfall.
https://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20Linux%20x64/builds/13577
FAILED: installer/version.txt
python ../../build/util/version.py --official -f ../../chrome/VERSION -f ../../chrome/app/theme/google_chrome/BRANDING -o installer/version.txt
Traceback (most recent call last):
File "../../build/util/version.py", line 170, in <module>
sys.exit(main())
File "../../build/util/version.py", line 159, in main
""" % values
KeyError: 'LASTCHANGE'
Original issue's description:
> There is nothing really chrome-specific in the process_version()
> template, and if we stop always passing some files in chrome/ on every
> invocation it is possible to generalize it and move it to build/util
> instead (and fix some layering violation comments along the way).
>
> Compared to its previous incarnation, process_version() no longer passes
> LASTCHANGE, BRANDING and VERSION automatically to version.py. This makes
> it easier for callers to specify their own |sources| with values that
> may override those set in those 3 files.
>
> A new wrapper, process_version_rc_template(), was introduced to cater
> for callers (generally Windows ones) who need to process a .rc.version
> file that requires the values from LASTCHANGE, BRANDING and VERSION. It
> always passes those 3 files to process_version() before any optional
> additional |sources|, and |template_file| defaults to
> chrome_version.rc.version.
> Since this template depends on files from //chrome, it lives in the
> newly-added //chrome/process_version_rc_template.gni.
>
> R=dpranke@chromium.org,brettw@chromium.org
>
> Committed: https://crrev.com/cf276fc41653b2830a5ec796d4db09b199754677
> Cr-Commit-Position: refs/heads/master@{#418514}
TBR=phajdan.jr@chromium.org,brettw@chromium.org,ddorwin@chromium.org,dpranke@chromium.org,xhwang@chromium.org,raphael.kubo.da.costa@intel.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/2338093003
Cr-Original-Commit-Position: refs/heads/master@{#418519}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b4efc387bb10eef38bbd8cb20a79802e508dd1ba
template, and if we stop always passing some files in chrome/ on every
invocation it is possible to generalize it and move it to build/util
instead (and fix some layering violation comments along the way).
Compared to its previous incarnation, process_version() no longer passes
LASTCHANGE, BRANDING and VERSION automatically to version.py. This makes
it easier for callers to specify their own |sources| with values that
may override those set in those 3 files.
A new wrapper, process_version_rc_template(), was introduced to cater
for callers (generally Windows ones) who need to process a .rc.version
file that requires the values from LASTCHANGE, BRANDING and VERSION. It
always passes those 3 files to process_version() before any optional
additional |sources|, and |template_file| defaults to
chrome_version.rc.version.
Since this template depends on files from //chrome, it lives in the
newly-added //chrome/process_version_rc_template.gni.
R=dpranke@chromium.org,brettw@chromium.org
Review-Url: https://codereview.chromium.org/2308313003
Cr-Original-Commit-Position: refs/heads/master@{#418514}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: cf276fc41653b2830a5ec796d4db09b199754677