Граф коммитов

4332 Коммитов

Автор SHA1 Сообщение Дата
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
Nick Alexander 5d4e0021b0 Bug 1418464 - Part 1: XZ compress in the packager rather than package_fennec_apk.py. r=mshal
By doing this in the packager, it makes it easier to incorporate the
strip and XZ compress logic into the local Gradle build process.

To that end, this patch makes XZ compression a little more explicit in
package-manifest.in and lifts the logic next to the existing logic for
stripping.  Since we only want to XZ compress assets/ (and not libs/),
we need a new flag.

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

--HG--
extra : moz-landing-system : lando
2018-10-09 18:35:22 +00:00
Chris Manchester 9712d79b53 Bug 1497373 - Guard against relying on an empty source directory referred to by an jar.mn wildcard in the Tup backend. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D8047

--HG--
extra : moz-landing-system : lando
2018-10-09 13:05:32 +00:00
Noemi Erli a9748223c6 Merge inbound to mozilla-central. a=merge 2018-10-09 07:03:30 +03:00
Chris Manchester 67d0cf78d1 Bug 1496853 - Enable link time optimization for rust in tup for --enable-release builds. r=mshal
Differential Revision: https://phabricator.services.mozilla.com/D7951

--HG--
extra : moz-landing-system : lando
2018-10-08 17:51:34 +00:00
Ciure Andrei 148577fc45 Backed out 2 changesets (bug 1418464) for test_packager.py build bustages CLOSED TREE
Backed out changeset d6794cb231e1 (bug 1418464)
Backed out changeset cc793c2d8cee (bug 1418464)
2018-10-05 22:11:05 +03:00
Nick Alexander 2f10ff4106 Bug 1418464 - Part 1: XZ compress in the packager rather than package_fennec_apk.py. r=mshal
By doing this in the packager, it makes it easier to incorporate the
strip and XZ compress logic into the local Gradle build process.

To that end, this patch makes XZ compression a little more explicit in
package-manifest.in and lifts the logic next to the existing logic for
stripping.  Since we only want to XZ compress assets/ (and not libs/),
we need a new flag.

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

--HG--
extra : moz-landing-system : lando
2018-10-05 18:29:12 +00:00
Mike Shal 5c85018da7 Bug 1461714 - Run node in export; r=ochameau,nalexander
In bug 1461714 we run node.py to generate main.js in the objdir, and use
FINAL_TARGET_FILES to install it into dist. However, when both rules are
run in parallel in the misc tier, the install target may pick up the
main.js file from the srcdir via VPATH, so we end up with the wrong file
in dist. This causes some mochitests to fail with "uncaught exception -
SyntaxError: import declarations may only appear at top level of a
module at
@resource://devtools/client/debugger/new/src/main.js:7:undefined"

The workaround here is to run these node.py invocations (which always
write to node.stub) in the export tier, so that when the install target
in misc is processed, the objdir version of the file is always present
and takes precedence.

A better fix would probably be to remove our reliance on VPATH, and just
pass in the path to files in the srcdir when they are required. That
could potentially be a major overhaul, however.

MozReview-Commit-ID: JZ04C7zJPbX

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

--HG--
extra : moz-landing-system : lando
2018-10-05 08:17:39 +00:00
Adam Gashlin d47ba7158e Bug 1496610: Don't treat ~ (tilde) in paths as special. r=glandium
This fixes treatment of Windows paths, where tilde is not special,
particularly in short file names.

--HG--
extra : rebase_source : be1873a44cb2d3fa455e7bd4a31bb7c221f19213
2018-10-04 18:55:07 -07:00
Mike Hommey d19d35bd2e Bug 1495641 - Make clang-tidy toolchains use a clang-tidy/ directory instead of clang/. r=ted
Differential Revision: https://phabricator.services.mozilla.com/D7582
2018-10-05 09:51:07 +09:00
Mike Hommey d605a2bfd3 Backout changeset 3ff4a396300c (bug 1495641) to give time to toolchains to build without blocking other landings. 2018-10-05 07:46:52 +09:00
Mike Hommey 460d9b3318 Bug 1495641 - Make clang-tidy toolchains use a clang-tidy/ directory instead of clang/. r=ted
Differential Revision: https://phabricator.services.mozilla.com/D7582
2018-10-05 07:41:27 +09:00
James Graham 8df230bb58 Bug 1495372 - Unify wpt manifest download and update, r=ato
The previous code split a lot of logic between the update and download
parts, and exposed two different mach commands. In order to simplify
things it's better to have a single entry point for manifest download
and update, and ensure that's called consistently.

Differential Revision: https://phabricator.services.mozilla.com/D7497
2018-10-04 14:19:38 +01:00
Tooru Fujisawa 0c58650a99 Bug 1494287 - followup: Fix undefined variable in fallback path. r=me 2018-10-12 08:24:04 +09:00
Tooru Fujisawa c5cbf8d38f Bug 1494287 - Check existing cbindgen version and update if necessary. r=ted 2018-10-12 07:59:22 +09:00
Nathan Froyd e2773ad4fd Bug 1397263 - move ASOUTOPTION to moz.configure; r=mshal 2018-10-03 20:29:29 -04:00
Nathan Froyd 9a1e9149b8 Bug 1397263 - move AS checks to toolchain.configure; r=glandium
This is a fairly straightforward port of the AS tool checks from old-configure
to toolchain.configure. AS is a little quirky in that we currently do a
normal-looking check for it, but then override that value to be the C compiler
for non-Windows builds, and ml[64]/armasm64 for Windows builds.

After migrating those checks, the only things left in the MOZ_DEFAULT_COMPILER
macro in compiler-opts.m4 were some unused bits, so I removed them:
* Setting of CPP/CXXCPP, which are set in toolchain.configure now
* Setting HOST_LDFLAGS to empty, which doesn't seem particularly useful.

There was also a quirky old test that the assembler was ml[64] when js-ctypes
is enabled that I removed, I don't think it provides any value since this
patch will ensure that we're using the right assembler for Windows builds.
2018-10-03 20:29:29 -04:00
Cosmin Sabou f34bdc7e4b Backed out changeset 8660ad891a23 (bug 1495372) for causing win2012 bustages. a=backout 2018-10-04 02:25:45 +03:00
Cosmin Sabou 7244d89e06 Backed out changeset dcba2a476ccf (bug 1305743) on request from jgraham for causing issues with mozinfo.json. a=backout 2018-10-04 01:05:44 +03:00
Ciure Andrei 9023b4cc72 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-10-03 19:45:50 +03:00
Edwin Gao 4c107f8236 Bug 1291335 - Check mozconfig for --disable-tests when running mach test commands r=gbrown
Behavior changes:

- instead of reading the mozconfig file, it now instantiates an instance of the build object.
- safe checking methods are used to access attributes to prevent errors on automation environment.
- better mach command parsing is performed with handler category instead of error-prone argv parsing.


Other changes:

- docstring for testing/xpcshell/runxpcshelltests.py::buildTestList() added and modernized.
- added clause that if length of tests gathered is 0, mach exits with an error code of 1.

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

--HG--
extra : moz-landing-system : lando
2018-10-03 15:40:48 +00:00
James Graham 57c945674a Bug 1495372 - Unify wpt manifest download and update r=ato
The previous code split a lot of logic between the update and download
parts, and exposed two different mach commands. In order to simplify
things it's better to have a single entry point for manifest download
and update, and ensure that's called consistently.

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

--HG--
extra : moz-landing-system : lando
2018-10-03 15:43:44 +00:00
Raza Haider ad72d8df61 Bug 1488788 - Migrate about:restartrequired from DTD to Fluent. r=gijs,jaws,flod
Differential Revision: https://phabricator.services.mozilla.com/D5495

--HG--
extra : rebase_source : 0b96b28e314fabac2ce2eb2d0beb82854bd4aab0
2018-09-24 18:59:55 +01:00
Jay Kamat 245ac54f65 Bug 1493345 Fix improper usage of blessings.tigetstr r=ted,firefox-build-system-reviewers
blessings.tigetstr is not part of its API. It happens to work because
blessings imports curses using 'from curses import tigetstr'.

Instead, we can just use terminal.normal, which contains the string we were
going to get anyway.

See https://github.com/erikrose/blessings/pull/138 for more information.

Let me know if there's a better way of resolving this. Hopefully with this +
the patch I submitted to blessings (https://github.com/erikrose/blessings/pull/137)
firefox will build fine with TERM improperly set.

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

--HG--
extra : moz-landing-system : lando
2018-10-02 18:36:30 +00:00
Brindusan Cristian fc5031a446 Merge inbound to mozilla-central. a=merge 2018-10-02 07:01:43 +03:00
Edwin Gao d7986ad99a Bug 1305695 - ./mach test --debugger=<debugger> doesn't fail if <debugger> isn't available r=gbrown
- added checkers in python/mach/mach/main.py prior to calling registrar.py.
- added internal function to check if specified debugger is installed.
- support both ./mach test <test_name> and ./mach <test_category> styles.

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

--HG--
extra : moz-landing-system : lando
2018-10-01 22:06:54 +00:00
Chris Manchester 153d3ceb4a Bug 1495108 - Skip symlinking $objdir/dist/bin/js to $objdir/js/src/js in the tup backend in browser builds. r=mshal
Differential Revision: https://phabricator.services.mozilla.com/D7348

--HG--
extra : moz-landing-system : lando
2018-10-01 22:43:30 +00:00
Brindusan Cristian 9b5034705f Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-10-02 01:04:29 +03:00
Brindusan Cristian f8087305eb Merge inbound to mozilla-central. a=merge 2018-10-02 00:55:00 +03:00
shindli 6ba91671cb Backed out changeset 05df95ba3a98 (bug 1305695) for ES lint failures CLOSED TREE 2018-10-02 00:00:23 +03:00
Aaron Klotz 624a2f533e Bug 1495481: Add launcher process -wait-for-browser support to Visual Studio backend; r=froydnj
--HG--
extra : amend_source : fd60284645e3dda2f17935da906ac361c8d05e0c
2018-10-01 11:03:27 -06:00
Edwin Gao 63180f5b60 Bug 1305695 - ./mach test --debugger=<debugger> doesn't fail if <debugger> isn't available r=gbrown
- added checkers in python/mach/mach/main.py prior to calling registrar.py.
- added internal function to check if specified debugger is installed.
- support both ./mach test <test_name> and ./mach <test_category> styles.

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

--HG--
extra : moz-landing-system : lando
2018-10-01 18:03:06 +00:00
Chris Manchester 86497c51a6 Bug 1493272 - Run a top level build in the tup backend when "faster" or "binaries" is passed to |./mach build| r=ted,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D7319

--HG--
extra : moz-landing-system : lando
2018-10-01 19:11:59 +00:00
Chris Manchester 553a814a35 Bug 1495314 - Use the value of MOZ_DEBUG_RUST from individual objects in the Tup backend. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D7261

--HG--
extra : moz-landing-system : lando
2018-10-01 16:13:46 +00:00
Haik Aftandilian 128b20bd14 Bug 1494326 - Provide a mach run option to launch the browser using the macOS open(1) command r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D6909

--HG--
extra : moz-landing-system : lando
2018-10-01 17:02:34 +00:00
Paul Adenot 086c0861a3 Bug 1472496 - Don't call out to readelf in check_binary.py. r=mshal
Differential Revision: https://phabricator.services.mozilla.com/D6892

--HG--
extra : moz-landing-system : lando
2018-10-01 13:26:35 +00:00
Chris Manchester de039f476a Bug 1494791 - Build rust programs in the tup backend. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D7147

--HG--
extra : moz-landing-system : lando
2018-09-28 21:49:06 +00:00
Dan Mosedale 424eb90de9 Bug 1485081 - Add node.py action for use by moz.build files, r=gps
MozReview-Commit-ID: F5iPctcvn9h
2018-10-01 15:12:40 -07:00
Ciure Andrei a8953550a3 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-09-28 11:58:15 +03:00
Chris Manchester 68771b058d Bug 1494139 - Link rust libraries into programs in the tup backend. r=mshal
Differential Revision: https://phabricator.services.mozilla.com/D7136

--HG--
extra : moz-landing-system : lando
2018-09-28 00:38:47 +00:00
Chris Manchester 66aa31a499 Bug 1494139 - Add rust build script outputs to the tup backend for upcoming cranelift crates. r=mshal
Differential Revision: https://phabricator.services.mozilla.com/D7137

--HG--
extra : moz-landing-system : lando
2018-09-28 00:39:44 +00:00
Chris Manchester 07ba5749ea Bug 1494139 - Place build script outputs in each package's output directory in the tup backend. r=mshal
Differential Revision: https://phabricator.services.mozilla.com/D7135

--HG--
extra : moz-landing-system : lando
2018-09-28 00:31:56 +00:00
Edwin Gao b8a91d1cf9 Bug 1305743 - Make failure to find mozinfo.json a fatal error r=gbrown,ahal
- moved placement of the raise_exception computation to be after the initial objdir path computation.
- original implementation was missing detection for cases where user may pass in a False flag to explicitly suppress errors.
- added unit tests to check for scenarios where raise_exception flag is passed in as part of positional argument.
- changed argument to include a **kwargs argument for caller to modify default exception behavior.
- default behavior is to raise exceptions if mozinfo.json cannot be found.
- disabled TreeMetadataEmitter from calling mozinfo.find_and_update_from_json and setting the self.info variable since it was not referenced anywhere else after the initial setup.

Depends on D6859

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

--HG--
extra : moz-landing-system : lando
2018-09-26 20:07:25 +00:00
Jim a917f4d962 Bug 1486936. Migrated about:config to Fluent for localization. r=Gijs,flod,jaws
Bug 1486936 - Migrated about:config to Fluent for localization.

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

--HG--
extra : moz-landing-system : lando
2018-09-26 04:33:22 +00:00
Andrew Halberstadt 9d5e499a90 Bug 1448417 - [mozlint] Remove ability to specify globs in an 'include' directive, r=egao
There is only a single linter (test-disable.yml) that uses a glob in any
include path, and that usage is easily replaced by using the 'extensions' key
instead.

Since globs in include directives aren't very useful, let's disallow them. This
will allow us to simplify the 'filterpaths' logic quite substantially and make
future refactorings in this area easier.

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

--HG--
extra : moz-landing-system : lando
2018-09-25 18:30:23 +00:00
Mark Banner 3043f2a053 Bug 1482435 - Separate out nodejs finding logic from configure and use it for ESLint. r=firefox-build-system-reviewers,gps
This extracts the current logic for finding nodejs into its own module in mozbuild. Configure and ESLint then use it.

For ESLint, this will change the first location it looks for nodejs to be the .mozbuild directory.

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

--HG--
extra : moz-landing-system : lando
2018-09-25 18:15:51 +00:00
Andi-Bogdan Postelnicu 8648acbeb0 Bug 1493922 - [Static-Analysis][Clang-Tidy] Add more return codes to mach static-analysis autotest. r=janx
Differential Revision: https://phabricator.services.mozilla.com/D6759

--HG--
extra : moz-landing-system : lando
2018-09-25 12:37:45 +00:00
Aaron Klotz 5dc8e2a672 Bug 1493000: Ensure that mach gtest passes --wait-for-browser to firefox when launcher process is enabled; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D6440

--HG--
extra : moz-landing-system : lando
2018-09-24 21:29:37 +00:00
Ted Mielczarek 9a113c8914 bug 1493623 - don't try to collect compiler type for build telemetry in artifact builds. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D6669

--HG--
extra : moz-landing-system : lando
2018-09-24 16:13:34 +00:00
Bob Clary 60b6e1c8f0 Bug 1492599 - [mozbuild] Add MachCommandCondition.is_firefox_or_android method, r=ahal,froydnj. 2018-09-23 15:08:56 -07:00
Collin Wing 1e54660e25 Bug 1486935 - Migrated aboutProfiles to fluent for localization r=Gijs,flod
Differential Revision: https://phabricator.services.mozilla.com/D5283

--HG--
extra : moz-landing-system : lando
2018-09-23 17:26:44 +00:00
Chris Manchester 461bf6e5f4 Bug 1492291 - Wrap rustc invocations in the tup backend to forward relevant info from cargo build script outputs. r=mshal
Differential Revision: https://phabricator.services.mozilla.com/D6422

--HG--
extra : moz-landing-system : lando
2018-09-22 00:38:12 +00:00
Chris Manchester 2ca27f0e2a Bug 1491967 - Translate arguments to |./mach build| to objdir paths when possible in the tup backend. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D6084

--HG--
extra : moz-landing-system : lando
2018-09-21 20:20:49 +00:00
Brindusan Cristian e48cea756e Merge inbound to mozilla-central. a=merge
--HG--
rename : toolkit/themes/shared/in-content/check-partial.svg => toolkit/themes/shared/icons/check-partial.svg
rename : browser/themes/shared/icons/check.svg => toolkit/themes/shared/icons/check.svg
2018-09-21 20:29:29 +03:00
Andrew Halberstadt 2aba2689ec Bug 1448417 - [mozlint] Be explicit about which linters are used for functions in test_roller.py, r=rwood
This makes things more explicit. Previously we were relying on those magic
global "linters" variables, and it turned out that one of the tests was
actually linting a completely different set of linters than I was expecting.

This changes things so each test needs to explicitly define which linters it
wants to use.

Depends on D6410

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

--HG--
extra : moz-landing-system : lando
2018-09-20 20:45:04 +00:00
Andrew Halberstadt a7af481576 Bug 1448417 - [mozlint] Rename test_filterpaths.py to test_pathutils.py, r=rwood
This makes this test match all the other tests (which are named after the module
they are testing).

Also rename the test function to 'test_filterpaths'.

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

--HG--
rename : python/mozlint/test/test_filterpaths.py => python/mozlint/test/test_pathutils.py
extra : moz-landing-system : lando
2018-09-20 20:27:45 +00:00
Ben Hearsum 648d8a8775 bug 1490119: Build separate updater that always embeds dep certificates. r=ted,firefox-build-system-reviewers
This patch gets us building an updater binary that always embeds the dep certificates (instead of release or nightly), and builds a new tests package that includes it.

This was originally D5900, but that was backed out due to busting artifact builds. I've fixed that by removing the Makefile that Ted pointed out is unnecessary.

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

--HG--
extra : moz-landing-system : lando
2018-09-21 10:07:27 +00:00
Coroiu Cristina b51e5a983e Backed out changeset 494efc7d8c29 (bug 1486934) for build bustage at chrome/global/aboutAbout.dtd on a CLOSED TREE 2018-09-20 18:45:28 +03:00
Jack Smith 3670974038 Bug 1486937 - Migrates about:url-classifier to use fluent for localization r=Gijs,flod,zbraniecki,jaws
Migrates strings from aboutUrlClassifier.dtd and aboutUrlClassifier.properties files to aboutUrlClassifier.ftl

Modifies aboutUrlClassifier.xhtml and aboutUrlClassifier.js to use fluent.

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

--HG--
extra : moz-landing-system : lando
2018-09-16 13:52:25 +00:00
Qinghao_Jack_Song 4c06855cb5 Bug 1486934 - Modify about:about to use fluent for localization r=Gijs,flod,jaws
Differential Revision: https://phabricator.services.mozilla.com/D5311

--HG--
extra : moz-landing-system : lando
2018-09-19 19:02:37 +00:00
Ahilya Sinha 8f5e322404 Bug 1473915 - Set up infra so we can move the wpt-manifest out of tree r=gps
Changes the wpt manifest path to the topobjdir instead so it can be moved out of tree.
Other changes so that the manifest download and update, and |mach wpt| and |mach test <wpt-test>| work with the new path.
The manifest is also downloaded and updated when creating the tests-archive to ensure that it exists when we run tests on TC.

MozReview-Commit-ID: Fp6UsKJjhTU

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

--HG--
extra : moz-landing-system : lando
2018-09-20 12:07:58 +00:00
Andi-Bogdan Postelnicu fb4dc15757 Bug 1480089 - pass all of the test files to to our static-analysis pipeline. r=janx
Differential Revision: https://phabricator.services.mozilla.com/D4659

--HG--
extra : moz-landing-system : lando
2018-09-20 07:38:27 +00:00
Andi-Bogdan Postelnicu 06c6a4c550 Bug 1488778 - Disregard exit code when calling static-analysis from mach. r=janx
Differential Revision: https://phabricator.services.mozilla.com/D5036

--HG--
extra : moz-landing-system : lando
2018-09-07 10:07:39 +00:00
Ted Campbell 388abb1424 Bug 1138579 - Support multiple Files patterns in moz.build r=gps
Add support for |with Files('a/**', 'b/**')| in mozbuild config files.

MozReview-Commit-ID: IoM4qfEhXXc

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

--HG--
extra : moz-landing-system : lando
2018-09-20 01:58:21 +00:00
Mike Shal 95ce5d48f7 Bug 1491169 - Fix LMDB symbol errors in the tup backend; r=chmanchester
This is a quick fix to workaround linking in rkv and lmdb-sys in the tup
backend. Bug 1492291 is a followup to actually fix the problem more
generally.

MozReview-Commit-ID: 523it7WEUad

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

--HG--
extra : moz-landing-system : lando
2018-09-19 22:43:54 +00:00
Bogdan Tara e956072fa9 Backed out changeset 96059b4f6d8a (bug 1490119) for breaking OSX builds r=bhearsum a=backout 2018-09-20 02:52:19 +03:00
Ben Hearsum 11188446df bug 1490119: Add build system bits for building dep updater. r=firefox-build-system-reviewers,mshal,rstrong
This patch gets us building an updater binary that always embeds the dep certificates (instead of release or nightly), and builds a new tests package that includes it.

I had a lot of trouble getting the test package generated correctly due to the fact that things in "_tests" won't be included for test packages that aren't "common". My fix for that isn't ideal - I'm open to something better.

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

--HG--
extra : moz-landing-system : lando
2018-09-19 19:55:23 +00:00