Commit Graph

3547 Commits

Author SHA1 Message Date
Manish Goregaokar
72ed6d355d Bug 1436251 - Set codegen-units=1 in --enable-release; r=glandium
MozReview-Commit-ID: 8kGTFAXfB2i

--HG--
extra : rebase_source : bc1860366646e629deef3c819576d208b1b6cd73
2018-02-06 19:06:03 -08:00
Narcis Beleuzu
84cea84b12 Merge inbound to mozilla-central. a=merge 2018-02-06 11:54:42 +02:00
Andrew Halberstadt
eb84bf741c Bug 1429457 - [mozlint] Create formal 'setup' mechanism for bootstrapping lint dependencies, r=gbrown
This allows linters to define a 'setup' method which will automatically be
called by |mach lint| before running the linter. Users can also explicitly run
these methods (without doing any actual linting) by running |mach lint --setup|.

MozReview-Commit-ID: 74aY1pfsaX1

--HG--
extra : rebase_source : e6a7d769ba14c996c7a77316928063fa46358c5a
2018-01-25 13:40:02 -05:00
J. Ryan Stinnett
f69b532a8e Bug 1408643 - Fix up Proguard install command from configure. r=nalexander
MozReview-Commit-ID: nvUvoUzFLy

--HG--
extra : rebase_source : 7df5e8828e044037ba49255f04dfe38ed1cc0ca2
2018-02-02 09:43:18 -05:00
Andreea Pavel
3cb61b9976 Backed out changeset 3b7ef7afd156 (bug 1408643) for failing flake8 at /builds/worker/checkouts/gecko/build/moz.configure/java.configure:98:100 on a CLOSED TREE 2018-02-03 00:20:25 +02:00
J. Ryan Stinnett
4be102b212 Bug 1408643 - Fix up Proguard install command from configure. r=nalexander
MozReview-Commit-ID: nvUvoUzFLy

--HG--
extra : rebase_source : acc1ec9e3c0a3b9e933d3a9ee354b12d69778bd3
2018-02-02 09:43:18 -05:00
Andrew Halberstadt
f354075c7a Bug 1434430 - [flake8] Fix blank 'except' statements r=rwood
This is a new issue that gets linted with flake8 3.5.0. Basically you should
never use a blank except: statement.

This will catch all exceptions, including KeyboardInterrupt and SystemExit
(which is likely not intended). If a catch all is needed, use
`except: Exception`.  If you *really* mean to also catch KeyboardInterrupt et
al, use `except: BaseException`.

Of course, being specific is often better than a catch all.

MozReview-Commit-ID: FKx80MLO4RN

--HG--
extra : rebase_source : 7c74a7d0d81f2c984b47aff3a0ee3448b791177b
2018-01-31 14:32:08 -05:00
Marco Castelluccio
ae9550604c Bug 1434938 - Fix printing warning when there are no valid records in the JSVM info files. r=chmanchester
--HG--
extra : rebase_source : f592afb6f73ce2afabe4faf141401cb857b4ddb6
2018-02-01 16:42:35 +01:00
Sebastian Hengst
0d4ebdcd4e Backed out changeset d4582a286d6a (bug 1434765) for breaking build of Catalan language pack due to altered output. a=backout 2018-02-01 23:04:25 +02:00
Nathan Froyd
a65d0b5a21 Bug 1412006 - part 2 - add an --ndk-only option to mozboot/android.py; r=nalexander
This option will be useful for our NDK repackaging task.
2018-02-01 09:59:23 -05:00
Nathan Froyd
900fb3a463 Bug 1412006 - part 1 - have a single point of truth for the NDK version; r=nalexander
...at least in mozboot/android.py.
2018-02-01 09:59:23 -05:00
Nathan Froyd
d651932496 Bug 1435712 - make locating libstdc++ for the target/host smarter; r=nalexander
Depending on the compiler you use when --enable-stdcxx-compat, the
compiler can know about different libstdc++.so libraries that are not
suitable for your target.  This will manifest as an assertion in the
current libstdcxx.py file.  And then, when you change the assertion to
actually print out useful information, you will see things like:

/bin/ld: skipping incompatible /builds/worker/workspace/build/src/clang/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.9.4/../../../libstdc++.so when searching for -lstdc++
/bin/ld: skipping incompatible /builds/worker/workspace/build/src/clang/bin/../lib/libstdc++.so when searching for -lstdc++

which libstdcxx.py misinterprets as candidates for libstdc++.so.

This patch attempts to remedy both situations by providing a more
informative error message when things go sideways and also filtering out
error messages from the linker.  You could argue that perhaps
--enable-stdcxx-compat shouldn't be getting set for such builds, but
this change seems reasonable enough on its own.
2018-02-05 16:07:16 -05:00
Mike Hommey
355ab37a8f Bug 1434765 - Properly reject invalid variables in #if{,n}def. r=froydnj
The invalid variable test for #if{,n}def was only checking that the
first character in the variable was alphanumeric or underscore, not
the other characters.

More generally, preprocessor instructions were also cut out such that
whitespaces before and after arguments were part of the arguments.

There's one place in layout/tools/reftest/manifest.jsm that was using
a broken pattern, making the test never true, which, once fixed, unveils
broken tests, so the branch that was never used is removed.

--HG--
extra : rebase_source : d1fe8a299203a29c0906ff99054c326acd135000
2018-02-01 10:40:59 +09:00
Nick Alexander
4bc7052253 Bug 1386040 - Write .purgecaches sentinels during |mach watch|. r=gps
Right now, the "restart flow" that combines |mach watch| with the
Quick-Restart Firefox for Desktop shortcut key is frustrated by
inconsistencies writing the .purgecaches sentinels for the
application.  This commit uses recent work from
https://bugzilla.mozilla.org/show_bug.cgi?id=1368699 to write the
sentinels each time |mach watch| updates the object directory.

MozReview-Commit-ID: 62Aa85oT1SE

--HG--
extra : rebase_source : 746bbe5c6f1555e8b729cbbbc1f8ca57110ae9ba
2018-01-19 14:40:51 -08:00
Nick Alexander
edf219ba3b Bug 1411654 - Part 1: Upgrade to Android-Gradle 3.0+ and build-tools;26.0.2. r=maliu
New Android-Gradle plugins pin the build-tools version, and we want to
be consistent between Gradle and moz.build.

MozReview-Commit-ID: ApWS4rHzPuH

--HG--
extra : rebase_source : 22008e9333b15c594ce26c2a52f67396d6e3ab84
extra : source : f918500d9cf5112b70bc8e0a120df435b02252b7
2017-10-26 11:00:36 -07:00
Nick Alexander
c1ae449401 Bug 1411654 - Pre: Gradle is no longer experimental; IntelliJ not supported. r=maliu
IntelliJ should still work, but we're committed to Android Studio at
this point.

MozReview-Commit-ID: 3BaXB4dh4vA

--HG--
extra : rebase_source : 0bf39a7d8daddc9a5c74182cf266f5d01d17acc8
extra : source : 901b304603d9d4816856d560c61387501efceadc
2017-11-15 13:36:02 -08:00
Nick Alexander
4161679514 Bug 1368699 - Write .purgecaches sentinels every |mach build|. r=gps
This adds a new `post_build` step to each `BuildBackend`
implementation, and uses it to write .purgecaches after every |mach
build| invocation -- including after |mach build TARGET| invocations.
This approach should be more robust than the existing recursive-Make
based solution, which seems to not write the .purgecaches files in
some situations.

In addition, the recursive-Make solution does not generalize to other
backends, in particular Tup.  It is possible that the Tup backend will
handle writing the .purgecaches sentinel as part of its regular build
process, but discussions with mshal suggest that there's no convenient
way for Tup to write .purgecaches only when something *changes* during
the build.  That is, Tup can achieve the behaviour implemented by this
patch, but it's not easier to do better by not writing .purgecaches
when the caches do not in fact need to be purged.

I elected to bake in the special knowledge of
--enable-application=browser and macOS here since this whole process
is special.  If we need to generalize, we could add a moz.configure
option specifying the purgecaches directories, but it doesn't seem
worth it right now.

The ideal approach would be to determine FINAL_TARGET from the
application directory, but that is determined by DIST_SUBDIR.  In
addition, it's not clear how to present that information to the
post-build step in a build-backend agnostic manner.

This will require tweaking as we migrate the macOS bundle handling to
moz.build, especially in browser/app.  See
https://bugzilla.mozilla.org/show_bug.cgi?id=1223748, which could
improve this significantly.

MozReview-Commit-ID: 63KZy18D23i

--HG--
extra : rebase_source : e973d065cd91e965f4103ed2732858e2e7a9c546
2018-01-31 09:25:12 -08:00
Bogdan Tara
1f15df5f24 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-01-31 12:11:39 +02:00
Marco Castelluccio
8a2bdd59ec Bug 1431388 - Rewrite LCOV files on test machines. r=chmanchester,jmaher 2018-01-24 22:58:22 +01:00
Marco Castelluccio
c15234e886 Bug 1431379 - Disable assertion that checks that rewritten source files exist. r=chmanchester 2018-01-29 20:01:26 +01:00
Marco Castelluccio
94bc709ac5 Bug 1431379 - Move ChromeManifestHandler class in a separate file. r=chmanchester 2018-01-25 15:52:34 +01:00
Marco Castelluccio
978b39e16d Bug 1431379 - Package lcov rewriter and its dependencies in the common test archive. r=chmanchester 2018-01-24 22:48:50 +01:00
Coroiu Cristina
04dc0e7243 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2018-01-31 02:14:54 +02:00
Coroiu Cristina
4854a65d8c Backed out 3 changesets (bug 1368699) for bustage on Android L10n nightlies a=backout
Backed out changeset e16fc8abd345 (bug 1368699)
Backed out changeset 35a5db01b6ae (bug 1368699)
Backed out changeset 7297a1e8c4ff (bug 1368699)
2018-01-31 01:59:23 +02:00
Nick Alexander
e30619cc86 Bug 1368699 - Write .purgecaches sentinels every |mach build|. r=gps
This adds a new `post_build` step to each `BuildBackend`
implementation, and uses it to write .purgecaches after every |mach
build| invocation -- including after |mach build TARGET| invocations.
This approach should be more robust than the existing recursive-Make
based solution, which seems to not write the .purgecaches files in
some situations.

In addition, the recursive-Make solution does not generalize to other
backends, in particular Tup.  It is possible that the Tup backend will
handle writing the .purgecaches sentinel as part of its regular build
process, but discussions with mshal suggest that there's no convenient
way for Tup to write .purgecaches only when something *changes* during
the build.  That is, Tup can achieve the behaviour implemented by this
patch, but it's not easier to do better by not writing .purgecaches
when the caches do not in fact need to be purged.

I elected to bake in the special knowledge of
--enable-application=browser and macOS here since this whole process
is special.  If we need to generalize, we could add a moz.configure
option specifying the purgecaches directories, but it doesn't seem
worth it right now.

The ideal approach would be to determine FINAL_TARGET from the
application directory, but that is determined by DIST_SUBDIR.  In
addition, it's not clear how to present that information to the
post-build step in a build-backend agnostic manner.

This will require tweaking as we migrate the macOS bundle handling to
moz.build, especially in browser/app.  See
https://bugzilla.mozilla.org/show_bug.cgi?id=1223748, which could
improve this significantly.

MozReview-Commit-ID: 63KZy18D23i

--HG--
extra : rebase_source : c5f75192f1b77f08611662f51caa92dcb1ca802f
2018-01-23 19:18:16 -08:00
Nick Alexander
b8d28049fd Bug 1433285: Extract classes*.dex from .ap_ --with-gradle. r=gps,snorp
Right now, we only expect classes.dex, and even --with-gradle we copy
it out of $topobjdir/mobile/android/base.  This commit changes that
for --with-gradle: we only take classes.dex from the given .ap_ file,
and we also handle multiple classesN.dex files (for future multi-dex
support).  The moz.build system stays the same.

This avoids an issue with newer Android-Gradle plugins, where the
classes.dex produced could be either in dex/ or in dexMerger/,
depending on whether any external libraries needed merging.  By
extracting classes.dex from the .ap_ file, we don't need to know what
Gradle build steps actually occur.

The classes.dex in the package-manifest.in has been irrelevant since
Bug 1260241.

MozReview-Commit-ID: FozKwjTcMzU

--HG--
extra : rebase_source : 62b18c7ffe596be73cec4c9565333eac222b018e
2018-01-24 22:09:48 -08:00
Nick Alexander
00bbcb11bb Bug 1429815 - Fix InstallManifest::add_entries_from with non-trivial base. r=gps
There's a bug in InstallManifest::add_entries_from: some of the
manifest entries bake their destination into both the manifest key and
the manifest value, and add_entries_from with a non-empty "base"
parameter to prepend to the destination only updates the manifest key
and not the value.

This bug causes |mach watch| to fail to _read_ the unified manifest
that aggregates all of the build manifests relevant to |mach watch|
that |mach build-backend -b FasterMake| successfully _wrote_, because
the manifest keys are validated against the manifest values written to
disk.

I see no way to address this other than to manually reach into the
manifest values and patch the internal destination parameter, which
this patch does.

MozReview-Commit-ID: FVyRB41NnHa

--HG--
extra : rebase_source : 23eb18ddc0452955539ce2e7a6d7bbfd083c940c
2018-01-18 16:58:07 -08:00
Chris Manchester
e6de0d9e04 Bug 1434125 - Add xpidl + rust command line arguments and output dependencies to the tup backend. r=mshal
MozReview-Commit-ID: 9DsymfiOB8N

--HG--
extra : rebase_source : 225607b6dc99cc22f50b0db8a1f8b6bbf46d64ea
2018-01-29 15:44:58 -08:00
Andrew Halberstadt
3684054b5d Bug 1433974 - Update BUG_COMPONENT for some of the new Testing components, r=jmaher
MozReview-Commit-ID: 7jQnnAhOzEr

--HG--
extra : rebase_source : af1c9dca779c6089b5cc062eea81ef9945133d48
2018-01-29 12:57:54 -05:00
Andrew Halberstadt
a8b5fc493f Bug 1433912 - [lint] Only run codespell linter on python/mozlint and tools/lint for now, r=sylvestre
This is a bustage fix that needs to get out quickly. Once landed we can take
the time to enable it on more directories, or preferably change it to a
blacklist.

MozReview-Commit-ID: Gbf7q2L0tg3

--HG--
extra : rebase_source : a58ae64c655b24e686710a663d4538b4cfe020f7
2018-01-29 10:25:54 -05:00
Sylvestre Ledru
61536137bd Bug 1432892 - Comment the npm package dependency until Debian brings it back r=standard8
MozReview-Commit-ID: BeWtC943jw7

--HG--
extra : rebase_source : 5bb8b3315674b5c63e22c8ebbb486bc04b6267ed
2018-01-26 13:53:19 +01:00
Jan Beich
9f9d8720a3 Bug 1433395 - FreeBSD bootstrap: install LLVM as Mesa dependency. r=froydnj
Firefox generally supports the same range of LLVM versions as Mesa.
Instead of regularly updating it just pull Mesa drivers which will
be required by WebRender, anyway.

MozReview-Commit-ID: DiK4TD9tWe0

--HG--
extra : rebase_source : 5dd9c8c46ae79deee8f2fd887b27fddbc30fc22d
2018-01-25 10:27:51 +00:00
Chris Manchester
94906d6110 Bug 1432643 - Store gn gen output in the objdir per project. r=nalexander
MozReview-Commit-ID: 5yPGlwqfhho

--HG--
extra : rebase_source : 16b82d0d17347ec891089eefb5b9bfa07634a53b
2018-01-23 14:55:11 -08:00
Botond Ballo
de0cdedea7 Bug 1432919 - Configure generated eclipse projects to remove trailing whitespace in edited lines. r=jwatt
MozReview-Commit-ID: 6naw8sbWqKT

--HG--
extra : rebase_source : 435e24fd33e51fcf84ac8ad64a63c59a7827907b
2018-01-24 19:03:33 -05:00
Andrew Halberstadt
529aad2e2c Bug 1430825 - [mozlint] Split work up by paths instead of by linters, r=standard8
The initial motivation for this patch, was to prevent command lines that are
too long on Windows. To that end, there is a cap to the number of paths that
can be run per job. For now that cap is set to 50. This will allow for an
average path length of 160 characters, which should be sufficient with room to
spare.

But another big benefit of this patch is that we are running more things in
parallel. Previously, mozlint ran each linter in its own subprocess, but that's
it. If running eslint is 90% of the work, it'll still only get a single
process. This means we are wasting cores as soon as the other linters are
finished.

This patch chunks the number of specified paths such that there will be N*L
jobs where 'N' is the number of cores and 'L' is the number of linters.  This
means even when there's a dominant linter, we'll be making better use of our
resources. This isn't perfect of course, as some paths might contain a small
number of files, and some will contain a very large number of files.  But it's
a start

A limitation to this approach is that if there are fewer paths specified than
there are cores, we won't schedule enough jobs per linter to use those extra
cores. One idea might be to expand specified directories and individually list
all the paths under the directory. But this has some hairy edge cases that
would be tough to catch. Doing this in a non-hacky way would also require a
medium scale refactor.

So I propose further parallelization efforts be destined for follow-ups.

MozReview-Commit-ID: JRRu13AFaii

--HG--
extra : rebase_source : 242fb71fe0af8bd2a981bd10a7216bb897fe00ac
2018-01-16 16:01:20 -05:00
Jan Beich
d3df765835 Bug 1433036 - OpenBSD bootstrap: node-devel package doesn't exist. r=froydnj,gaston
lang/node aka node package is what actually installs node and npm executables.
https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/lang/node/pkg/PLIST?rev=HEAD

MozReview-Commit-ID: H9lZGcHmEuR

--HG--
extra : rebase_source : 31a6259c3c6890f77f3f65054c21a13af2d3aff2
2018-01-25 07:05:22 +00:00
Jan Beich
0a1567442d Bug 1433036 - FreeBSD bootstrap: add npm for linting after bug 1433036. r=froydnj
Downstream npm package already depends node package, no need to
specify it explicitly. Also, node package refers to the latest NodeJS
but npm package can be built against an older version.

MozReview-Commit-ID: KeuSFEKeStw

--HG--
extra : rebase_source : ac3ab14519f4edd8bcb5b77cad64eeaed16d2751
2018-01-25 07:02:44 +00:00
Ralph Giles
0f7ccae18e Bug 1430934 - mozboot: Update to rust 1.23.0. r=nalexander
Have `./mach boostrap` update users to at least rust 1.23.0,
which is the current stable release.

MozReview-Commit-ID: 7ukx7shu07e

--HG--
extra : rebase_source : 82ea7fd65901f0e9e00e961d157cf113d82b1d4e
2018-01-16 15:07:14 -08:00
Kartikaya Gupta
d4c9e4740d Bug 1432223 - Add an --all-crates option to mach cargo check, to check all the crates. r=froydnj
MozReview-Commit-ID: 2nst2ctsI6s

--HG--
extra : rebase_source : 92212248ae645098b0bd75254d9ba5075c076a90
2018-01-22 12:46:29 -05:00
Gabriele Svelto
2981b63774 Bug 1432954 - Make |mach bootstrap| use the latest version of Oracle's JDK when bootstrapping Fennec on Gentoo; r=nalexander
MozReview-Commit-ID: 40xYQqpMy9O

--HG--
extra : rebase_source : 84b3f8832b5f393a25357354d94ec94c9d7e53ed
2018-01-24 22:56:36 +01:00
Cosmin Sabou
7e6e71746a Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-01-25 00:04:12 +02:00
Chris Manchester
83f62e19ad Bug 1431229 - Populate IPDLCollection from the emitter rather than the common backend. r=mshal
MozReview-Commit-ID: LSRypNDr7G8

--HG--
extra : rebase_source : 64c805abd9899ea5edb2681b7c497ed5ae3d5539
2018-01-24 13:55:06 -08:00
Chris Manchester
8eb10b3d45 Bug 1431229 - Populate WebIDLCollection from the emitter rather than the common backend. r=mshal
MozReview-Commit-ID: JVaoPF53rhY

--HG--
extra : rebase_source : 91fb470d5e1cc616a19a839542f499aa58dbfd4d
2018-01-24 13:55:06 -08:00
Chris Manchester
dc3756ba9d Bug 1431879 - Use sorted iterators when generating moz.build files from gn to make the output deterministic. r=froydnj
MozReview-Commit-ID: BrijC37ErCP

--HG--
extra : rebase_source : a96a4aaadc6f6ee75a0de534cad8a9e87a9f4dbb
2018-01-23 19:33:08 -08:00
Marco Castelluccio
47b9708b4a Bug 1431349 - Add additional tests for UrlFinder and chrome_map preprocessor info generation. r=chmanchester
--HG--
extra : rebase_source : 838a6b114e433f9179a1e3294ab53d730b672073
2018-01-23 16:00:58 +01:00
Marco Castelluccio
99049e0dcd Bug 1431349 - Fix lcov rewriter tests with the new LcovFileRewriter and UrlFinder constructors. r=chmanchester
--HG--
extra : rebase_source : 27ef8000d97152c6b27f35b9ec1a065dc0c27088
2018-01-19 11:02:05 +01:00
Marco Castelluccio
8ee287cc7c Bug 1431349 - Store some information about build configuration in chrome-map.json, so that the lcov rewriter doesn't need to import buildconfig. r=chmanchester
--HG--
extra : rebase_source : b84ea5953a64b367cb31c253a30842e698118e81
2018-01-18 12:52:48 +01:00
Marco Castelluccio
6ae73dfbcf Bug 1431723 - Actually use URL overrides in the LCOV rewriter. r=chmanchester
--HG--
extra : rebase_source : cb31f4f193a7fcda9db6c6be7376c01554013c87
2018-01-19 12:46:43 +01:00
Marco Castelluccio
a69b08ec8f Bug 1402539 - Ignore query parameters when rewriting URLs. r=chmanchester
--HG--
extra : rebase_source : 3f1c8c38955b370d36410da1254fc80a19ef932f
2018-01-23 16:00:47 +01:00
Marco Castelluccio
8073360e69 Bug 1402539 - Update test_lcov_rewrite to use new generate_pp_info function. r=chmanchester
--HG--
extra : rebase_source : 870e007546e5a958d964f8c4054db77e54408c8c
2018-01-19 10:51:21 +01:00