(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
Reason for revert:
The actual crash was in OmahaClient, which is fixed in: http://crrev.com/1856823002
Original issue's description:
> Revert of Propagate is_official_build to version script. (patchset #1 id:1 of https://codereview.chromium.org/1838173005/ )
>
> Reason for revert:
> Made all the Android perf bots red: https://bugs.chromium.org/p/chromium/issues/detail?id=599830
>
> Original issue's description:
> > Propagate is_official_build to version script.
> >
> > OFFICIAL_BUILD is a special variable in the version script which
> > takes its value from the environment variable. This means that local
> > builds with is_official_build will not actually result in
> > ChromeVersionConstants.isOfficialBuild() returning true.
> >
> > This CL propagates the is_official_build truthiness to the script so
> > official builds no longer depend solely on the environment variable.
> >
> > BUG=599268
> >
> > Committed: https://crrev.com/eab85df0275b825e428954c4030e358ce968ecd9
> > Cr-Commit-Position: refs/heads/master@{#384340}
>
> TBR=agrieve@chromium.org,thestig@chromium.org,wnwen@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=599268
>
> Committed: https://crrev.com/756e9b934bf1d706dd59ab39bed2af842b67063b
> Cr-Commit-Position: refs/heads/master@{#384610}
TBR=agrieve@chromium.org,thestig@chromium.org,skyostil@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=599268
Review URL: https://codereview.chromium.org/1856843002
Cr-Original-Commit-Position: refs/heads/master@{#385007}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 87d01a7e475b0785364328af5b22b15b28a40e66
Reason for revert:
Made all the Android perf bots red: https://bugs.chromium.org/p/chromium/issues/detail?id=599830
Original issue's description:
> Propagate is_official_build to version script.
>
> OFFICIAL_BUILD is a special variable in the version script which
> takes its value from the environment variable. This means that local
> builds with is_official_build will not actually result in
> ChromeVersionConstants.isOfficialBuild() returning true.
>
> This CL propagates the is_official_build truthiness to the script so
> official builds no longer depend solely on the environment variable.
>
> BUG=599268
>
> Committed: https://crrev.com/eab85df0275b825e428954c4030e358ce968ecd9
> Cr-Commit-Position: refs/heads/master@{#384340}
TBR=agrieve@chromium.org,thestig@chromium.org,wnwen@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=599268
Review URL: https://codereview.chromium.org/1851843002
Cr-Original-Commit-Position: refs/heads/master@{#384610}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 756e9b934bf1d706dd59ab39bed2af842b67063b
OFFICIAL_BUILD is a special variable in the version script which
takes its value from the environment variable. This means that local
builds with is_official_build will not actually result in
ChromeVersionConstants.isOfficialBuild() returning true.
This CL propagates the is_official_build truthiness to the script so
official builds no longer depend solely on the environment variable.
BUG=599268
Review URL: https://codereview.chromium.org/1838173005
Cr-Original-Commit-Position: refs/heads/master@{#384340}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: eab85df0275b825e428954c4030e358ce968ecd9
This is a documentation-only change.
Disabling presubmit checks, due to "noparent" settings for the following files:
components/policy/resources/policy_templates.json
content/common/font_config_ipc_linux.h
BUG=567488
NOPRESUBMIT=true
TBR=atwilson,dcheng
Review URL: https://codereview.chromium.org/1592403002
Cr-Original-Commit-Position: refs/heads/master@{#374213}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: df175a8c3d1c1060f96d123a5896fdfbe4b3782d
This CL ports the remoting_me2me_host_archive target to GN and several
of its dependent targets. This is only a partial port of the target, as
the 'remoting_infoplist_strings' target hasn't been ported yet, but I'm
not actually sure if that's needed on Linux.
This CL also fixes the path to the remoting-webapp zip file.
Both of these targets were needed in order to flip the official
Linux x64 build over to GN.
BUG=512899, 530733
Review URL: https://codereview.chromium.org/1426113002
Cr-Original-Commit-Position: refs/heads/master@{#357697}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 63e164a242653dbed7932fe9213da828aa280f78
Add template to run a java command as an "script", i.e. templates
java_action/java_action_foreach similar to action/action_foreach.
Add template to compile a bunch of JavaScript to a bundle and to
compile JavaScript files with closure compile (only enable checks
that are known to work).
Fix gcdwebserver public configuration to add the dependency on libz
to libs instead of using ldflags.
Add files missing from //ui/base:test_support when building for iOS
with gn (they are present in the gyp build).
BUG=459705
Review URL: https://codereview.chromium.org/1393303003
Cr-Original-Commit-Position: refs/heads/master@{#355460}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: aa7c1cf96274a0a531629f934bd9091a55439270
This will guarantee that a development build with a not yet commit HEAD
will also get a valid devtools frontend from the servers
BUG=535268
R=pfeldman@chromium.org,mnaganov@chromium.org,dpranke@chromium.org
Review URL: https://codereview.chromium.org/1361393002
Cr-Original-Commit-Position: refs/heads/master@{#350565}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fb61e3682fe7301373360fa851c7cb3dea9aec1f
This generates a proper version manifest for chrome.exe and also for the version assembly.
This adds a new way to get the chrome version info programatically at GN time. Although this adds another exec_script call, it removes four such calls in remoting so there is a net speed increase.
BUG=
Review URL: https://codereview.chromium.org/1250853007
Cr-Original-Commit-Position: refs/heads/master@{#339833}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 983c0562bba1e4d93bb7ee489f56bcbd61fc55f9
Adds optional flag '--git-svn-go-deeper' to allow lastchange.py find
the last committed SVN revision in a Git-SVN repo.
This is to help access DevTools frontend on Android for Chromium developers
that have local changes to Blink.
BUG=468691
Review URL: https://codereview.chromium.org/1197483002
Cr-Original-Commit-Position: refs/heads/master@{#335156}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b73e2ea7a4e319eb2e6183090dfe6b9796d42c3b
A starting point for doing all of src, and adding a PRESUBMIT.
Includes https://codereview.chromium.org/772663002/ and https://codereview.chromium.org/770053002/.
I haven't pushed new binaries yet.
Generated via:
> cd build
> git ls-files *.gn *.gni | sed -e "s/^/@..\\\\out\\\\Debug\\\\gn format --in-place /" >x.bat && x.bat
The only things that I don't love in the current output are:
1. Turning
args = [
"--depfile", rebase_path(depfile, root_build_dir),
"--android-sdk-tools", rebased_android_sdk_build_tools,
"--dex-path", rebased_output,
]
into:
args = [
"--depfile",
rebase_path(depfile, root_build_dir),
"--android-sdk-tools",
rebased_android_sdk_build_tools,
"--dex-path",
rebased_output,
]
The heuristic for this isn't trivial though, and it also affects e.g. '-Xclang' in cflags, as well
as assignments to temporaries that are later assigned to args.
2. Turning single line
if (defined(invoker.inputs)) { inputs = invoker.inputs }
into
if (defined(invoker.inputs)) {
inputs = invoker.inputs
}
This could be argued to be an improvement, but as it's very boilerplate-y perhaps an exception to
allow single line in this case is worthwhile. I think there was discussion of new syntax for this
case too, something like "inputs ?= invoker.inputs" maybe.
In both cases, I think it's worthwhile to get formatting turned on, and then go back and special
case these if we decide it's worthwhile.
R=brettw@chromium.org
BUG=348474
Review URL: https://codereview.chromium.org/766573003
Cr-Original-Commit-Position: refs/heads/master@{#306305}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b199254f481c5db36d56e83fce40594b06d2b81f
From our UMA and operation feedbacks, we don't see such issue anymore.
(We notified the manufactor of the issue and likely they addressed it
in OTA). The cleanup restores native library name to libchrome.so
instead of libchrome.<VER>.so.
BUG=311644
Review URL: https://codereview.chromium.org/759833002
Cr-Original-Commit-Position: refs/heads/master@{#305925}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d9201758ca9e6dc47e36026a4029dae5cc69e4c4
lastchange.py is using git show -s to get the commit message of HEAD.
It turns out that on some older versions of git that is a rather
expensive operation. Under particular circumstances it can eventually
take several minutes (see crbug.com/431463 #27).
Anyways, git cat-file is x45 faster than the equivalent show command
for the sake of printing the commit message.
$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
$ time git show -s --format=%B HEAD > /dev/null
real 0m0.090s
$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
$ time git cat-file commit HEAD > /dev/null
real 0m0.002s
BUG=431463
Review URL: https://codereview.chromium.org/726413003
Cr-Original-Commit-Position: refs/heads/master@{#304444}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5176f672c91c461a2f87f333e2b88ab407b2bc52
Replace the hardcoded version number used for the WebView's user agent
with the real version number of the corresponding Chrome build. This
uses the version information from src/chrome/VERSION; there is a pending
bug to move this out of chrome/ (http://crbug.com/345538) which will not
be impeded by this change as the location of the version info is
obtained from build/util/version.gypi.
BUG=297522
Review URL: https://codereview.chromium.org/695313002
Cr-Original-Commit-Position: refs/heads/master@{#302614}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e72c9f4cc8e2d5abdf9ae4506abf94d5eb7a91d6
Add a "last_commit_position" script so we can use commit positions for GN builds rather than git hashes. Remove the old last_change target in build/util which is no longer used.
Fix ozone GN build.
Fix Windows GN build.
R=jamesr@chromium.org
Review URL: https://codereview.chromium.org/483403005
Cr-Original-Commit-Position: refs/heads/master@{#291729}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 48c29f238165e02c0e6c56c406c4c0ad8fd0f1cc
Even the 40-character hash causes problems when the pieces of the string before
it push the length to >64 characters. Truncating it is a temporary fix until
we discuss ways to accept strings longer than 64 chars.
R=cmp@chromium.org, scottmg@chromium.org
NOTRY=True
BUG=406783
Review URL: https://codereview.chromium.org/499133003
Cr-Original-Commit-Position: refs/heads/master@{#291626}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 15a2a65986f6dec827cce5bc7d58601ed9b1eb2a
This changes lastchange.py in two ways:
1) If the commit it finds is a Git hash, it outputs the whole hash, not just
the first 7 characters.
2) It only looks at HEAD to see if there is a git-svn id. Previously, it used
--grep=git-svn-id, which would find the most recent commit containing a
git-svn id. This would be broken after the switch to git, as it would always
find the last commit before the switch. Now, it only inspects the most recent
commit, and falls through to pure-Git if that fails.
R=dilmah@chromium.org, stip@chromium.org
BUG=399113
Review URL: https://codereview.chromium.org/488733002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@291165 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Rewrite the argument handling code using argparse. It allows us to get
rid of a lot of manual parsing as well as the whole help message.
In addition, it fixes a few other bugs present in the previous
implementation:
- Passing 3 or more arguments that are not values for parameters would
cause an infinite loop.
- The "--template" option was not allowed (only its short form "-t"
was).
R=mark@chromium.org, brettw@chromium.org
Review URL: https://codereview.chromium.org/336513002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@277450 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Parameterize webrtc enabling.
Add use_seccomp_pbf flag
Add a webkit version target
Work on ui/base GN build, especially on Windows. This target is a mess (in GYP). This patch tries to make it make a bit more sense while fixing the errors I found.
Fix ui/gl target for non-Linux platform. A bunch of X11 stuff was not parameterized.
Add unscaled resources target
BUG=
R=scottmg@chromium.org
Review URL: https://codereview.chromium.org/287343006
git-svn-id: http://src.chromium.org/svn/trunk/src/build@271724 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
On some Android devices (e.g., Sony Xperia), package manager may
fail to extract native libraries when updating Chrome.
The change tries alleviate the situation by:
1) name libchrome with version number;
2) when failed to load library, try to extract native libraies
and load them.
BUG=311644
Review URL: https://codereview.chromium.org/200753002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@258546 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Updates all rebase_path calls to use the new parameter ordering.
Use the new getenv function and delete the Python script we had to get the home directory.
Takes advantage of the new ability to have the default value of declare_args blocks be dependent on other values. This simplifies some code.
R=scottmg@chromium.org
Review URL: https://codereview.chromium.org/164773005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@252065 4ff67af0-8c30-449e-8e8b-ad334ec8d88c