Previously, if CHROMIUM_OUT_DIR was set but blank, it could (and did!)
delete your entire source directory, including .git folder.
BUG=446921
Review URL: https://codereview.chromium.org/832933004
Cr-Original-Commit-Position: refs/heads/master@{#311326}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 89d303ac3e23adf4ecff08e459a6bdf6b81ff033
GN has user-managed build output directories, and the build arguments are saved in those directories. This means that when you hit a landmine, the user will be forced to regenerate that build directory, and to respecify their build arguments.
This change makes the landmine script look for GN build directories. If one is found, the build and command-line arguments to GN are preserved, and enough of a bootstrap build is left in that directory to regenerate itself the next time the build is run. This should make landmines transparent to GN users (except of course that everything will be rebuilt).
Review URL: https://codereview.chromium.org/709813003
Cr-Original-Commit-Position: refs/heads/master@{#303528}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f5b2cda7e05f7ffa4ac57b6a00d9cd52c1e0ac87
Some checkouts have the build directory mounted, which causes the script
to throw an exception when it attempts to remove the directory itself.
Review URL: https://codereview.chromium.org/532323002
Cr-Original-Commit-Position: refs/heads/master@{#293199}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bb04e1054366543cb554531c728b33525a5dae8c
We don't support msvs any more anyway, and clobbering all of build/ is
always a bad idea. (I'm not sure this'll fix anything, but maybe we'll
get a better error.)
R=kbr@chromium.org,iannucci@chromium.org
BUG=408839
Review URL: https://codereview.chromium.org/519503002
Cr-Original-Commit-Position: refs/heads/master@{#292554}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e72944be164918acb81933d0742e1369e51f2958
Reason for revert:
Apparently this requires win_toolchain.json to exist, but I'm not sure how it's supposed to get there (as seen on a clobber build):
Traceback (most recent call last):
File "src/build/landmines.py", line 132, in <module>
sys.exit(main())
File "src/build/landmines.py", line 119, in main
gyp_environment.SetEnvironment()
File "C:\b\build\slave\win_trunk\build\src\build\gyp_environment.py", line 33, in SetEnvironment
vs_toolchain.SetEnvironmentAndGetRuntimeDllDirs()
File "C:\b\build\slave\win_trunk\build\src\build\vs_toolchain.py", line 33, in SetEnvironmentAndGetRuntimeDllDirs
with open(json_data_file, 'r') as tempf:
IOError: [Errno 2] No such file or directory: 'C:\\b\\build\\slave\\win_trunk\\build\\src\\build\\win_toolchain.json'
Original issue's description:
> Make landmines work on local builds too
>
> Moves (some of) gyp environment setup out of gyp_chromium into separate
> module, and shares that between gyp_chromium and landmines.py.
>
> landmines.py is added as the first entry in DEPS hooks so that it can
> clobber the entire build directory before running other hooks that
> extract/generate into the build dir.
>
> R=iannucci@chromium.org
> BUG=400011
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=289099TBR=scottmg@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=400011
Review URL: https://codereview.chromium.org/469623002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@289158 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Moves (some of) gyp environment setup out of gyp_chromium into separate
module, and shares that between gyp_chromium and landmines.py.
landmines.py is added as the first entry in DEPS hooks so that it can
clobber the entire build directory before running other hooks that
extract/generate into the build dir.
R=iannucci@chromium.org
BUG=400011
Review URL: https://codereview.chromium.org/457003004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@289099 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Otherwise, if .landmines exists, and isn't clobbered by the clobber in
compile.py, every build will cause a clobber until .landmines is removed.
Trying to fix http://crbug.com/375459 brought this up. In that case
compile.py wasn't removing .landmines, which is necessary in the case
of a landmines change on two subsequent builds. If .landmines isn't
maintained, then there's nothing to diff against on the second build
and so a clobber won't be correctly triggered.
R=iannucci@chromium.org,kbr@chromium.org
BUG=376359
Review URL: https://codereview.chromium.org/293983017
git-svn-id: http://src.chromium.org/svn/trunk/src/build@272341 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Landmines.py had some logic where it would first check if a directory existed before creating it, but this was sometimes causing an exception wherein the file was reported as existing during the os.mkdirs call, even though it was not reported as existing during the os.path.exists call.
Review URL: https://codereview.chromium.org/248343003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@265532 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The eclipse gyp generator is used to generate eclipse project files, not
to actually build anything. Landmines should return early if the gyp
generator is eclipse rather than failing with the error "Unexpected
GYP_GENERATORS (eclipse)"
Review URL: https://codereview.chromium.org/236063002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@263438 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
r220846 was not the root cause of the failure.
> Revert 220846 "Make landmines.py take an extra script via an env..."
>
> It broke telemetry_unittests.
> http://build.chromium.org/p/chromium.win/builders/Win%207%20Tests%20x64%20%283%29/builds/8782/steps/telemetry_unittests/logs/stdio
>
> E:\b\depot_tools\python_bin\python_slave.exe src\tools\telemetry\run_tests --browser=release_x64
> No adb found in $PATH, fallback to checked in binary.
> Traceback (most recent call last):
> File "src\tools\telemetry\run_tests", line 8, in <module>
> from telemetry.unittest import gtest_testrunner
> File "E:\b\build\slave\Win_7_Tests_x64__3_\build\src\tools\telemetry\telemetry\__init__.py", line 12, in <module>
> from telemetry.core.browser_options import BrowserFinderOptions
> File "E:\b\build\slave\Win_7_Tests_x64__3_\build\src\tools\telemetry\telemetry\core\browser_options.py", line 12, in <module>
> from telemetry.core import browser_finder
> File "E:\b\build\slave\Win_7_Tests_x64__3_\build\src\tools\telemetry\telemetry\core\browser_finder.py", line 9, in <module>
> from telemetry.core.backends.chrome import android_browser_finder
> File "E:\b\build\slave\Win_7_Tests_x64__3_\build\src\tools\telemetry\telemetry\core\backends\chrome\android_browser_finder.py", line 17, in <module>
> from telemetry.core.backends.chrome import android_browser_backend
> File "E:\b\build\slave\Win_7_Tests_x64__3_\build\src\tools\telemetry\telemetry\core\backends\chrome\android_browser_backend.py", line 15, in <module>
> from telemetry.core.backends.chrome import chrome_browser_backend
> File "E:\b\build\slave\Win_7_Tests_x64__3_\build\src\tools\telemetry\telemetry\core\backends\chrome\chrome_browser_backend.py", line 19, in <module>
> from telemetry.core.backends.chrome import extension_dict_backend
> File "E:\b\build\slave\Win_7_Tests_x64__3_\build\src\tools\telemetry\telemetry\core\backends\chrome\extension_dict_backend.py", line 9, in <module>
> from telemetry.core.backends.chrome import inspector_backend
> File "E:\b\build\slave\Win_7_Tests_x64__3_\build\src\tools\telemetry\telemetry\core\backends\chrome\inspector_backend.py", line 19, in <module>
> from telemetry.core.jsheap import model
> ImportError: No module named jsheap
>
> > Make landmines.py take an extra script via an env var.
> >
> > The extra Python script to run can be specified via env var
> > EXTRA_LANDMINES_SCRIPT.
> >
> > BUG=223636
> >
> > Review URL: https://chromiumcodereview.appspot.com/23604016
>
> TBR=sivachandra@chromium.org
>
> Review URL: https://codereview.chromium.org/23533016TBR=tkent@chromium.org
Review URL: https://codereview.chromium.org/23532029
git-svn-id: http://src.chromium.org/svn/trunk/src/build@220870 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
It broke telemetry_unittests.
http://build.chromium.org/p/chromium.win/builders/Win%207%20Tests%20x64%20%283%29/builds/8782/steps/telemetry_unittests/logs/stdio
E:\b\depot_tools\python_bin\python_slave.exe src\tools\telemetry\run_tests --browser=release_x64
No adb found in $PATH, fallback to checked in binary.
Traceback (most recent call last):
File "src\tools\telemetry\run_tests", line 8, in <module>
from telemetry.unittest import gtest_testrunner
File "E:\b\build\slave\Win_7_Tests_x64__3_\build\src\tools\telemetry\telemetry\__init__.py", line 12, in <module>
from telemetry.core.browser_options import BrowserFinderOptions
File "E:\b\build\slave\Win_7_Tests_x64__3_\build\src\tools\telemetry\telemetry\core\browser_options.py", line 12, in <module>
from telemetry.core import browser_finder
File "E:\b\build\slave\Win_7_Tests_x64__3_\build\src\tools\telemetry\telemetry\core\browser_finder.py", line 9, in <module>
from telemetry.core.backends.chrome import android_browser_finder
File "E:\b\build\slave\Win_7_Tests_x64__3_\build\src\tools\telemetry\telemetry\core\backends\chrome\android_browser_finder.py", line 17, in <module>
from telemetry.core.backends.chrome import android_browser_backend
File "E:\b\build\slave\Win_7_Tests_x64__3_\build\src\tools\telemetry\telemetry\core\backends\chrome\android_browser_backend.py", line 15, in <module>
from telemetry.core.backends.chrome import chrome_browser_backend
File "E:\b\build\slave\Win_7_Tests_x64__3_\build\src\tools\telemetry\telemetry\core\backends\chrome\chrome_browser_backend.py", line 19, in <module>
from telemetry.core.backends.chrome import extension_dict_backend
File "E:\b\build\slave\Win_7_Tests_x64__3_\build\src\tools\telemetry\telemetry\core\backends\chrome\extension_dict_backend.py", line 9, in <module>
from telemetry.core.backends.chrome import inspector_backend
File "E:\b\build\slave\Win_7_Tests_x64__3_\build\src\tools\telemetry\telemetry\core\backends\chrome\inspector_backend.py", line 19, in <module>
from telemetry.core.jsheap import model
ImportError: No module named jsheap
> Make landmines.py take an extra script via an env var.
>
> The extra Python script to run can be specified via env var
> EXTRA_LANDMINES_SCRIPT.
>
> BUG=223636
>
> Review URL: https://chromiumcodereview.appspot.com/23604016TBR=sivachandra@chromium.org
Review URL: https://codereview.chromium.org/23533016
git-svn-id: http://src.chromium.org/svn/trunk/src/build@220853 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
When using components, the CDM and adapter cannot be within the Chrome bundle.
Since the adapter is built with Chrome, the CDM cannot be within its bundle.
As a result, the adapter no longer needs to be a bundle.
The chrome_paths.cc code allows testing with the non-component path.
BUG=180260
R=xhwang@chromium.org
Review URL: https://codereview.chromium.org/14743002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@198211 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This change is to fix resource-related issues with the current approach.
We can't include resources in the test_java target to share them between
the shell and test apks, so we need one apk to contain the shell and run
tests against.
To achieve this we apply the same trick as testshell does and build the
test code against the .jar created as a side-effect of building the shell
apk target.
This change completely removes the test_apk target.
BUG=None
TEST=AndroidWebViewTests
TBR=bulach@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12609013
git-svn-id: http://src.chromium.org/svn/trunk/src/build@190404 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
It looks like this made win extract_build fail.
Adds the ability for devs/troopers/etc. to set 'landmines' in the tree so that
the build will selectively clobber when a builder moves over a revision with such
a change.
This cl has an basis landmines.py, and hooks the clobber mechanism to the android
build scripts.
The relevant cl which implements this for
compile.py is here: https://chromiumcodereview.appspot.com/11234013/
I'm planning to also implement an informational invocation for gclient to let devs know
about any potential landmines so they can decide if they need to clobber.
R=cmp,maruel@chromium.org
BUG=121897
Review URL: https://chromiumcodereview.appspot.com/11175016TBR=iannucci@chromium.org
Review URL: https://codereview.chromium.org/11293111
git-svn-id: http://src.chromium.org/svn/trunk/src/build@166105 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Adds the ability for devs/troopers/etc. to set 'landmines' in the tree so that
the build will selectively clobber when a builder moves over a revision with such
a change.
This cl has an basis landmines.py, and hooks the clobber mechanism to the android
build scripts.
The relevant cl which implements this for
compile.py is here: https://chromiumcodereview.appspot.com/11234013/
I'm planning to also implement an informational invocation for gclient to let devs know
about any potential landmines so they can decide if they need to clobber.
R=cmp,maruel@chromium.org
BUG=121897
Review URL: https://chromiumcodereview.appspot.com/11175016
git-svn-id: http://src.chromium.org/svn/trunk/src/build@166085 4ff67af0-8c30-449e-8e8b-ad334ec8d88c