Commit Graph

4298 Commits

Author SHA1 Message Date
Collin Wing
6e51b257b4 Bug 1491677 Migrate localization of a subset of extensions.dtd to Fluent r=flod,Gijs,zbraniecki
Differential Revision: https://phabricator.services.mozilla.com/D6203

--HG--
extra : moz-landing-system : lando
2018-10-22 18:21:56 +00:00
Sebastian Hengst
1ad50182a7 merge mozilla-central to autoland
--HG--
rename : third_party/rust/nom/.cargo-checksum.json => third_party/rust/nom-3.2.1/.cargo-checksum.json
rename : third_party/rust/nom/CHANGELOG.md => third_party/rust/nom-3.2.1/CHANGELOG.md
rename : third_party/rust/nom/Cargo.toml => third_party/rust/nom-3.2.1/Cargo.toml
rename : third_party/rust/nom/src/bits.rs => third_party/rust/nom-3.2.1/src/bits.rs
rename : third_party/rust/nom/src/branch.rs => third_party/rust/nom-3.2.1/src/branch.rs
rename : third_party/rust/nom/src/bytes.rs => third_party/rust/nom-3.2.1/src/bytes.rs
rename : third_party/rust/nom/src/character.rs => third_party/rust/nom-3.2.1/src/character.rs
rename : third_party/rust/nom/src/internal.rs => third_party/rust/nom-3.2.1/src/internal.rs
rename : third_party/rust/nom/src/lib.rs => third_party/rust/nom-3.2.1/src/lib.rs
rename : third_party/rust/nom/src/macros.rs => third_party/rust/nom-3.2.1/src/macros.rs
rename : third_party/rust/nom/src/methods.rs => third_party/rust/nom-3.2.1/src/methods.rs
rename : third_party/rust/nom/src/multi.rs => third_party/rust/nom-3.2.1/src/multi.rs
rename : third_party/rust/nom/src/nom.rs => third_party/rust/nom-3.2.1/src/nom.rs
rename : third_party/rust/nom/src/regexp.rs => third_party/rust/nom-3.2.1/src/regexp.rs
rename : third_party/rust/nom/src/sequence.rs => third_party/rust/nom-3.2.1/src/sequence.rs
rename : third_party/rust/nom/src/simple_errors.rs => third_party/rust/nom-3.2.1/src/simple_errors.rs
rename : third_party/rust/nom/src/str.rs => third_party/rust/nom-3.2.1/src/str.rs
rename : third_party/rust/nom/src/stream.rs => third_party/rust/nom-3.2.1/src/stream.rs
rename : third_party/rust/nom/src/traits.rs => third_party/rust/nom-3.2.1/src/traits.rs
rename : third_party/rust/nom/src/util.rs => third_party/rust/nom-3.2.1/src/util.rs
rename : third_party/rust/nom/src/verbose_errors.rs => third_party/rust/nom-3.2.1/src/verbose_errors.rs
rename : third_party/rust/nom/src/whitespace.rs => third_party/rust/nom-3.2.1/src/whitespace.rs
rename : third_party/rust/nom/tests/arithmetic.rs => third_party/rust/nom-3.2.1/tests/arithmetic.rs
rename : third_party/rust/nom/tests/arithmetic_ast.rs => third_party/rust/nom-3.2.1/tests/arithmetic_ast.rs
rename : third_party/rust/nom/tests/blockbuf-arithmetic.rs => third_party/rust/nom-3.2.1/tests/blockbuf-arithmetic.rs
rename : third_party/rust/nom/tests/cross_function_backtracking.rs => third_party/rust/nom-3.2.1/tests/cross_function_backtracking.rs
rename : third_party/rust/nom/tests/float.rs => third_party/rust/nom-3.2.1/tests/float.rs
rename : third_party/rust/nom/tests/ini.rs => third_party/rust/nom-3.2.1/tests/ini.rs
rename : third_party/rust/nom/tests/ini_str.rs => third_party/rust/nom-3.2.1/tests/ini_str.rs
rename : third_party/rust/nom/tests/issues.rs => third_party/rust/nom-3.2.1/tests/issues.rs
rename : third_party/rust/nom/tests/json.rs => third_party/rust/nom-3.2.1/tests/json.rs
rename : third_party/rust/nom/tests/mp4.rs => third_party/rust/nom-3.2.1/tests/mp4.rs
rename : third_party/rust/nom/tests/multiline.rs => third_party/rust/nom-3.2.1/tests/multiline.rs
rename : third_party/rust/nom/tests/named_args.rs => third_party/rust/nom-3.2.1/tests/named_args.rs
rename : third_party/rust/nom/tests/omnom.rs => third_party/rust/nom-3.2.1/tests/omnom.rs
rename : third_party/rust/nom/tests/overflow.rs => third_party/rust/nom-3.2.1/tests/overflow.rs
rename : third_party/rust/nom/tests/reborrow_fold.rs => third_party/rust/nom-3.2.1/tests/reborrow_fold.rs
rename : third_party/rust/nom/tests/test1.rs => third_party/rust/nom-3.2.1/tests/test1.rs
extra : rebase_source : 6c5b45c092fd51bf1b3ce15960416fb59311d152
2018-10-22 20:34:24 +03:00
Emilio Cobos Álvarez
3f8b370d35 Bug 1500849 - Update bindgen. r=heycam,bbouvier
This pulls a new nom version, which is slightly unfortunate, but I do want some
of the fixes upstream, and it's build-only, so I think it's not a huge deal.

Differential Revision: https://phabricator.services.mozilla.com/D9362
2018-10-22 13:20:01 +02:00
Chris Manchester
2afea4f01b Bug 1500269 - Upgrade to rustc 1.29.2 r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D9170

--HG--
extra : moz-landing-system : lando
2018-10-22 13:12:43 +00:00
Chris Manchester
f6e64740b1 Bug 1499196 - Use outputs as the key for rust commands in Tup once again. r=mshal
Now that we're outputing a stub file for each build script we can index these
commands by their output to de-duplicate them in the tup backend.

Differential Revision: https://phabricator.services.mozilla.com/D9042

--HG--
extra : moz-landing-system : lando
2018-10-21 18:56:23 +00:00
Chris Manchester
8c172cbba2 Bug 1499196 - Always use the topobjdir to output rust library dependencies. r=ted,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D9039

--HG--
extra : moz-landing-system : lando
2018-10-18 10:40:32 +00:00
Andrew Halberstadt
27d8b8ee2d Bug 1500447 - [mozlint] Make sure lineno and column are always int (if present), r=rwood
This also updates the test for string inputs.

Differential Revision: https://phabricator.services.mozilla.com/D9260

--HG--
extra : moz-landing-system : lando
2018-10-19 15:54:32 +00:00
Andrew Halberstadt
8dbaa4117c Bug 1375861 - [mozlint] Globally exclude paths listed in tools/rewriting/ThirdPartyPaths.txt from our linters, r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D9126

--HG--
extra : moz-landing-system : lando
2018-10-18 15:27:59 +00:00
Margareta Eliza Balazs
c56977420d Merge inbound to mozilla-central. a=merge 2018-10-18 13:20:43 +03:00
Ciure Andrei
685c5b2d60 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-10-18 10:19:03 +03:00
Dorel Luca
cf8bae2781 Merge autoland to mozilla-central. a=merge 2018-10-18 01:53:30 +03:00
Daniel Varga
7460807a56 Backed out changeset f9cf33c52739 (bug 1498715) on request by nalexander for local developer failures. a=backout 2018-10-17 22:02:34 +03:00
Andrew Halberstadt
bb07ea7442 Bug 1499510 - [mozlint] Fix regression to |mach lint --edit| when using vim, r=egao
Differential Revision: https://phabricator.services.mozilla.com/D8905

--HG--
extra : moz-landing-system : lando
2018-10-17 20:19:37 +00:00
Nick Alexander
d56eb2a314 Bug 1489443 - Set GCC_USE_GNU_LD based on linker kind. r=froydnj
The desired outcome of this change is that we'll set
-Wl,--version-script based on linker kind and not on the output of
$LINKER -v.

This is a cheap way to address a simple problem that has a complicated
ideal solution. The underlying issue is that in some situations, when
targeting Android, a macOS system ld is interrogated to determine if
a cross-compiling linker "is GNU ld" and a particular linker feature
is set in that situation. The macOS system ld doesn't pass the "is
GNU ld" test, and the linker feature isn't set; that causes link
failures, even though the actual linker has nothing to do with the
system ld.

The ideal solution is to test for linker capabilities dynamically. We
do a lot of that in old-configure.in, and we don't do any of that in
toolchain.configure. Rather than start testing in
toolchain.configure, we hard-code: a cheap solution to the immediate
problem.

MinGW suffers somewhat from the opposite problem: the linker "is GNU
ld" (compatible), but the linker checks don't happen at all. We hard-code
for MinGW based on the C compiler instead.

Differential Revision: https://phabricator.services.mozilla.com/D8471

--HG--
extra : moz-landing-system : lando
2018-10-17 19:46:03 +00:00
Andrew McCreight
7988e5e654 Bug 1499153 - Remove obsolete manifest check and NO_JS_MANIFEST r=glandium
Bug 1438688 made it so that XPT information is compiled directly into
the binary instead of being shipped separately in interface
files. This means that manifests are no longer necessary for JS
components, which means the manifest check in emitter.py can be
removed.

That check is the only use of NO_JS_MANIFEST, so that can in turn be
removed entirely.

Differential Revision: https://phabricator.services.mozilla.com/D8885

--HG--
extra : moz-landing-system : lando
2018-10-16 22:35:15 +00:00
Chris Manchester
d69003537d Bug 1498031 - Merge code paths for running configure between Tup and Make based backends. r=firefox-build-system-reviewers,mshal
This addresses a related issue along the way: a build that results in running
configure would not update the value of self.config_environment (and therefore
self.substs) as seen from the build driver, so out of date values would have
been used.

The changes to Makefile.in and client.mk made exploit the assumption that by
he time anything in the Make build is running, config.status is up to date.
Users running "make" without the benefit of "mach" will need to manually run
configure when necessary in order to take this into account.

Differential Revision: https://phabricator.services.mozilla.com/D8473

--HG--
extra : moz-landing-system : lando
2018-10-16 22:21:36 +00:00
Andrew Halberstadt
1f22f2329e Bug 1494069 - [mozlint] Make sure exclude paths always get discarded when necessary, r=rwood
We were currently adding exclude paths to the "discard" set if the path contains
the include, but we weren't adding them if the include contains the path.

Depends on D5863

Differential Revision: https://phabricator.services.mozilla.com/D8845

--HG--
extra : moz-landing-system : lando
2018-10-16 21:04:14 +00:00
Andrew Halberstadt
80db4d8fe5 Bug 1494069 - [mozlint] Verify the expected_exclude paths in test_filterpaths, r=rwood
Depends on D8844

Differential Revision: https://phabricator.services.mozilla.com/D5863

--HG--
extra : moz-landing-system : lando
2018-10-16 21:04:15 +00:00
Andrew Halberstadt
bd652813d6 Bug 1494069 - [mozlint] Append global 'excludes' to each linter at parse time, r=rwood
Right now there are excludes defined in the linter definition (via the .yml
files), as well as excludes defined in lintargs (via the mach_commands.py).

This is a minor simplification that extends each linter definition's local
excludes with the global ones right off the bat. This just makes it a bit
easier to keep track of.

Depends on D5863

Differential Revision: https://phabricator.services.mozilla.com/D8844

--HG--
extra : moz-landing-system : lando
2018-10-16 21:04:14 +00:00
Andrew Halberstadt
11b55db4b1 Bug 1494069 - [mozlint] Return extra 'excludes' directly from pathutils.filterpaths, r=rwood
Currently pathutils.filterpaths computes some extra paths that the underlying linter
should try to exclude if it can. It sets these on lintargs['exclude'], and relies on
the fact that it was passed by reference to work.

However, it seems like pytest does some magic under the hood that prevents this value
from being propagated back. It will also fail if 'filterpaths' was invoked in a
subprocess.

It's much simpler and cleaner to pass this value back directly, rather than rely on a
reference.

Differential Revision: https://phabricator.services.mozilla.com/D8850

--HG--
extra : moz-landing-system : lando
2018-10-16 21:04:15 +00:00
Andrew Halberstadt
fc52a253be Bug 1494069 - [mozlint] Properly exclude files in LineType linters, r=rwood
This fixes a latent bug that is currently not being hit (by sheer luck). Basically
the 'ignore' argument of a FileFinder object needs all paths to be relative to the
base. As luck would have it, most of the time it worked out that way if you were
running |mach lint| from the root of the repo.

However there are edge cases where this will cause an 'exclude' directive to get
missed. Plus this bug is about to be exposed 100% of the time in the next commit :).

Depends on D8842

Differential Revision: https://phabricator.services.mozilla.com/D8843

--HG--
extra : moz-landing-system : lando
2018-10-16 21:04:14 +00:00
Andrew Halberstadt
1042a9f445 Bug 1494069 - [mozlint] Fix edge case in pathutils.collapse, r=rwood
I missed an edge case where the computed base itself was specified in the
paths input.

Differential Revision: https://phabricator.services.mozilla.com/D8842

--HG--
extra : moz-landing-system : lando
2018-10-17 13:52:21 +00:00
Dave Hunt
749eeb4b79 Bug 1490253 - Update documentation on vendoring Python packages based on switch to pip-tools; r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D8205

--HG--
extra : moz-landing-system : lando
2018-10-15 13:36:30 +00:00
Nick Alexander
a1d5fbf47a Bug 1498715 - Use faster XZ compression preset for Android assets/ libraries for local developers. r=esawin
Before:

xz-compressing dist/fennec/assets/x86/libxul.so with "xz -zkf dist/fennec/assets/x86/libxul.so --threads=1 --x86 --lzma2=dict=8MiB,lc=3,lp=0,pb=2,mode=normal,nice=64,mf=bt4,depth=0"...
xz-compressing dist/fennec/assets/x86/libxul.so with "xz -zkf dist/fennec/assets/x86/libxul.so --threads=1 --x86 --lzma2=dict=8MiB,lc=3,lp=0,pb=2,mode=normal,nice=64,mf=bt4,depth=0"... DONE (69.13s)

$ ls -al dist/fennec/assets/x86/libxul.so
-rwxr-xr-x  1 nalexander  staff  31286204 12 Oct 14:06 dist/fennec/assets/x86/libxul.so

After:

xz-compressing dist/fennec/assets/x86/libxul.so with "xz -zkf dist/fennec/assets/x86/libxul.so --threads=1 --x86 --lzma2=dict=8MiB,lc=3,lp=0,pb=2,mode=fast,nice=273,mf=hc4,depth=24"...
xz-compressing dist/fennec/assets/x86/libxul.so with "xz -zkf dist/fennec/assets/x86/libxul.so --threads=1 --x86 --lzma2=dict=8MiB,lc=3,lp=0,pb=2,mode=fast,nice=273,mf=hc4,depth=24"... DONE (19.52s)

$ ls -al dist/fennec/assets/x86/libxul.so
-rwxr-xr-x  1 nalexander  staff  34877984 12 Oct 14:00 dist/fennec/assets/x86/libxul.so

All timings on a late 2013 MacBook Pro (i.e., a very slow device).

Differential Revision: https://phabricator.services.mozilla.com/D8614

--HG--
extra : moz-landing-system : lando
2018-10-15 13:07:23 +00:00
Dorel Luca
2b0bec5ab3 Merge mozilla-central to mozilla-inbound. CLOSED TREE
--HG--
extra : amend_source : d757a37614ac9d59e154d34ede3ca871a643cdb7
2018-10-18 02:02:07 +03:00
Tom Ritter
15dd23bc5d Bug 1475562 Produce pdbs for the mingw-clang build job r=ted
This patch also changes how pdbs for the ASAN job are copied:
we relax restrictions so that pdbs if present) are always copied out
and add an environment variable MOZ_COPY_PDBS to indicate when we
want to produce pdbs for copying.
2018-10-17 09:38:52 -05:00
Cosmin Sabou
9b6a537ec7 Backed out changeset 91300d29898b (bug 1489443) for MinGW build bustages. CLOSED TREE 2018-10-13 02:17:15 +03:00
Nick Alexander
3c83541616 Bug 1489443 - Set GCC_USE_GNU_LD based on linker kind. r=froydnj
The desired outcome of this change is that we'll set
`-Wl,--version-script` based on linker kind and not on the output of
`$LINKER -v`.

This is a cheap way to address a simple problem that has a complicated
ideal solution.  The underlying issue is that in some situations, when
targeting Android, a macOS system `ld` is interrogated to determine if
a cross-compiling linker "is GNU ld" and a particular linker feature
is set in that situation.  The macOS system `ld` doesn't pass the "is
GNU ld" test, and the linker feature isn't set; that causes link
failures, even though the actual linker has nothing to do with the
system `ld`.

The ideal solution is to test for linker capabilities dynamically.  We
do a lot of that in old-configure.in, and we don't do any of that in
toolchain.configure.  Rather than start testing in
toolchain.configure, we hard-code: a cheap solution to the immediate
problem.

Differential Revision: https://phabricator.services.mozilla.com/D8471

--HG--
extra : moz-landing-system : lando
2018-10-12 22:38:44 +00:00
Mike Hommey
148c9de331 Bug 1498450 - Avoid the footgun from @depends-function comparison r=froydnj
While we do have some uses of @depends-function comparison in some
templaces, related to host/target, we ought to be using `is` comparisons
rather than `==` anyways, so we switch those, and prevent other kinds of
comparisons being used at all.

This unveils the one noted in
https://phabricator.services.mozilla.com/D7713?id=21357#inline-30414
(and surprisingly only that one), that we remove entirely since it was
doing nothing in practice. Bug 1492305 will have to add it back in a
proper form.

Differential Revision: https://phabricator.services.mozilla.com/D8501

--HG--
extra : moz-landing-system : lando
2018-10-12 13:44:08 +00:00
Andrew Halberstadt
f4c851912d Bug 1494069 - [mozlint] Collapse exclude paths into their smallest possible set, r=egao
Often we specify globs in our exclude patterns, e.g:

    exclude:
        - **/node_modules
        - obj*

However, these globs get expanded out to *every* file that matches them. This
can sometimes be thousands or even tens of thousands of files.

We then pass these paths on to the underlying linters and tell them to
exclude them all. This causes a lot of overhead and slows down performance.

This commit implements a "collapse" function. Given a set of paths, it'll
collapse them into the smallest set of parent directories that contain the
original set, and that don't contain any extra files.

For example, given a directory structure like this:

    a
    -- foo.txt
    -- b
       -- bar.txt
       -- baz.txt
    -- c
       -- ham.txt
       -- d
          -- spam.txt

Then the following will happen:

     >>> collapse(['a/foo.txt', 'a/b/bar.txt', 'a/c/ham.txt', 'a/c/d/spam.txt'])
     ['a/foo.txt', 'b/bar.txt', 'c']

Since all files under directory 'c' are specified by the original set (both
'c/ham.txt' and 'c/d/spam.txt'), we can collapse it down to just 'c'. However
not all files under 'b' are specified (we're missing 'a/b/baz.txt'), so we
can't collapse 'b' (and by extension also can't collapse 'a').

If we had included 'a/b/baz.txt':

     >>> collapse(['a/foo.txt', 'a/b/bar.txt', 'a/b/baz.txt', 'a/c/ham.txt', 'a/c/d/spam.txt'])
     ['a']

In both cases, the smallest set of paths that contains the original set (and
only the original set) is computed.

The collapse function has a little bit of overhead but it's not too bad.
For example collapsing all files matched by '**/node_modules' takes ~0.015s.
Collapsing two full objdirs, takes ~0.6s. But a follow up commit is planned to
make sure we stop using 'obj*' to reduce that overhead.

Depends on D7738

Differential Revision: https://phabricator.services.mozilla.com/D7739

--HG--
extra : moz-landing-system : lando
2018-10-12 15:57:42 +00:00
Csoregi Natalia
28fe656de6 Merge inbound to mozilla-central. a=merge 2018-10-12 13:14:37 +03:00
Csoregi Natalia
f00a0ea9cc Backed out 3 changesets (bug 1494069) for blocking 1498215. a=backout
Backed out changeset 9752f179b9c3 (bug 1494069)
Backed out changeset fe0fb280dbfc (bug 1494069)
Backed out changeset a2956764213e (bug 1494069)
2018-10-12 13:11:04 +03:00
Chris Manchester
55dced2da0 Bug 1497359 - Detect and reject re-use of objdirs between Make and Tup in configure. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D8289

--HG--
extra : moz-landing-system : lando
2018-10-11 19:16:49 +00:00
Narcis Beleuzu
e8f62dbf84 Backed out changeset b01876f4f16e (bug 1498215) for bustages on test_pathutils.py. CLOSED TREE 2018-10-11 23:56:45 +03:00
James Graham
766c447843 Bug 1498215 - Fix problem importing scandir when system scandir exists, r=davehunt
If scandir is already present on the system the attempt to import the
c helper library will currently find the c helper from the system
install which may well be an outdated verion, so causing mach to
break. To solve this this patch does two things:

* Stops importing scandir in files that are run unconditionally when
  invoking mach. This is generally considered good for performance
  reasons.

* Installs the vendored scandir into the virtualenv for `mach lint`
  rather than trying to import it directly from the source tree and so
  not getting the c helper library.

Differential Revision: https://phabricator.services.mozilla.com/D8379

--HG--
extra : moz-landing-system : lando
2018-10-11 15:05:16 +00:00
Narcis Beleuzu
e09f2e2622 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-10-12 06:53:11 +03:00
Andi-Bogdan Postelnicu
59a399a406 Bug 1497155 - Allow toolchain artifact downloading command to be run on Taskcluster. r=glandium.
Differential Revision: https://phabricator.services.mozilla.com/D8360

--HG--
extra : moz-landing-system : lando
2018-10-11 08:11:41 +00:00
Qinghao_Jack_Song
2d26d932b7 Bug 1486934 - Modify about:about to use fluent for localization r=Gijs,flod,jaws,Pike
Differential Revision: https://phabricator.services.mozilla.com/D5311

--HG--
extra : moz-landing-system : lando
2018-10-10 17:41:47 +00:00
Chris Manchester
8632e09b6b Bug 1497339 - Fix reftests in the Tup backend. r=ted,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D8284

--HG--
extra : moz-landing-system : lando
2018-10-10 23:12:32 +00:00
Ciure Andrei
f97ab0ad0a Backed out changeset 4530cf55b7b4 (bug 1497339) for reftest failures No such file or directory ../specialpowers CLOSED TREE 2018-10-11 01:07:22 +03:00
Chris Manchester
194fbbcd66 Bug 1497339 - Fix reftests in the Tup backend. r=ted,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D8284

--HG--
extra : moz-landing-system : lando
2018-10-10 20:28:04 +00:00
Ted Mielczarek
0383cf1f1b bug 1483651 - Dereference symlinks inside vendored Python packages. r=gps
At least one Python package that got vendored via `mach vendor python`
contains a symlink, which hg.mozilla.org rejects. This change makes it so
symlinks get replaced with the contents of the file they point to.

Differential Revision: https://phabricator.services.mozilla.com/D4135

--HG--
extra : moz-landing-system : lando
2018-10-10 19:59:52 +00:00
Ted Mielczarek
1f36da7ff2 bug 1481612 - Add more actions to virtualenv_packages.txt and use them to include the unpacked Windows psutil wheel. r=gps
This patch adds two new actions to virtualenv_packages.txt processing:
windows and !windows. The former processes the rest of the action only on
Windows, and the latter processes it only on non-Windows.

These new features are used in virtualenv_packages.txt to use the
path to the unpacked Windows psutil wheel when on Windows, and build psutil
from source and use that path on other platforms.

This fixes the long-standing problem of not having psutil available on most
Windows systems (since they don't have the right set of Visual C++ build tools).

Differential Revision: https://phabricator.services.mozilla.com/D3437

--HG--
extra : moz-landing-system : lando
2018-10-10 19:53:47 +00:00
Ted Mielczarek
71e6a3af6b bug 1481612 - Add a --with-windows-wheel option to mach vendor python. r=gps
This option is very single-purpose: it's intended to let us vendor an unpacked
wheel for psutil on Windows. To that end the mach command will error if you
try to use it for anything but vendoring a single package. The mach command
will vendor source packages as it currently does, and then run `pip download`
again with some hardcoded parameters to fetch the right wheel for Python 2.7
on win64 and unpack it to a `package-platform` directory under
`third_party/python`.

I don't expect this to be used for anything but psutil, but it should make life
simpler for anyone that wants to update our vendored copy of psutil in the
future.

Differential Revision: https://phabricator.services.mozilla.com/D3435

--HG--
extra : moz-landing-system : lando
2018-10-10 19:54:36 +00:00
Andrew Halberstadt
83df36524d Bug 1494069 - [mozlint] Collapse exclude paths into their smallest possible set, r=egao
Often we specify globs in our exclude patterns, e.g:

    exclude:
        - **/node_modules
        - obj*

However, these globs get expanded out to *every* file that matches them. This
can sometimes be thousands or even tens of thousands of files.

We then pass these paths on to the underlying linters and tell them to
exclude them all. This causes a lot of overhead and slows down performance.

This commit implements a "collapse" function. Given a set of paths, it'll
collapse them into the smallest set of parent directories that contain the
original set, and that don't contain any extra files.

For example, given a directory structure like this:

    a
    -- foo.txt
    -- b
       -- bar.txt
       -- baz.txt
    -- c
       -- ham.txt
       -- d
          -- spam.txt

Then the following will happen:

     >>> collapse(['a/foo.txt', 'a/b/bar.txt', 'a/c/ham.txt', 'a/c/d/spam.txt'])
     ['a/foo.txt', 'b/bar.txt', 'c']

Since all files under directory 'c' are specified by the original set (both
'c/ham.txt' and 'c/d/spam.txt'), we can collapse it down to just 'c'. However
not all files under 'b' are specified (we're missing 'a/b/baz.txt'), so we
can't collapse 'b' (and by extension also can't collapse 'a').

If we had included 'a/b/baz.txt':

     >>> collapse(['a/foo.txt', 'a/b/bar.txt', 'a/b/baz.txt', 'a/c/ham.txt', 'a/c/d/spam.txt'])
     ['a']

In both cases, the smallest set of paths that contains the original set (and
only the original set) is computed.

The collapse function has a little bit of overhead but it's not too bad.
For example collapsing all files matched by '**/node_modules' takes ~0.015s.
Collapsing two full objdirs, takes ~0.6s. But a follow up commit is planned to
make sure we stop using 'obj*' to reduce that overhead.

Depends on D7738

Differential Revision: https://phabricator.services.mozilla.com/D7739

--HG--
extra : moz-landing-system : lando
2018-10-09 19:26:23 +00:00
Andi-Bogdan Postelnicu
2139aad55e Bug 1479298 - [Static-Analysis][Clang-Based] Implement the passing of configuration flags to checkers in the configuration file. r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D7997

--HG--
extra : moz-landing-system : lando
2018-10-10 08:01:24 +00:00
Dave Hunt
046359060c Bug 1490253 - Replace pipenv with pip-tools for vendoring packages and dependencies; r=ahal
Depends on D7869

Differential Revision: https://phabricator.services.mozilla.com/D7870

--HG--
extra : moz-landing-system : lando
2018-10-10 08:58:41 +00:00
Csoregi Natalia
fbee84608f Backed out changeset f92dcf5319ae (bug 1490253) for bustage on test_mozbuild_reading.py. CLOSED TREE 2018-10-10 00:51:30 +03:00
Dave Hunt
4141a28060 Bug 1490253 - Replace pipenv with pip-tools for vendoring packages and dependencies; r=ahal
Depends on D7869

Differential Revision: https://phabricator.services.mozilla.com/D7870

--HG--
extra : moz-landing-system : lando
2018-10-09 21:32:35 +00:00
Chris Manchester
0b687a9b65 Bug 1497350 - Fix |./mach xpcshell-test| in the tup backend. r=ted,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D8040

--HG--
extra : moz-landing-system : lando
2018-10-09 19:25:36 +00:00