Commit Graph

3996 Commits

Author SHA1 Message Date
Chris Manchester
0771c019ad Bug 1478557 - Use the command string rather than output list as a key for cargo commands in the tup backend. r=mshal
MozReview-Commit-ID: B8FtvHScXon

--HG--
extra : rebase_source : 812a72dbddb8ccf9c45861feb2b5842ece4e26ac
2018-07-25 22:51:54 -07:00
Axel Hecht
501fd4e5ab bug 1478343, update existing fluent migrations to 0.6 AST, r=stas
MozReview-Commit-ID: 2XRhie0TN9R

--HG--
extra : rebase_source : 51b1b2c14b2420b99b1bcd99543eec2a155bfbfd
2018-07-25 16:49:30 +02:00
Tudor-Gabriel Vîjială
7034598959 Bug 1476165 - Part 2: Update Android Gradle plugin to version 3.1.0. r=nalexander,snorp
MozReview-Commit-ID: LR1OWncvuwt

--HG--
extra : rebase_source : 6de8f8927e801789d559a7c361c7b434ae1f74c4
2018-07-17 13:20:19 +01:00
Sebastian Hengst
bd900ee36a Merge mozilla-inbound to mozilla-central. a=merge 2018-07-25 17:16:53 +03:00
Sebastian Hengst
484fb17102 No bug - remove obsolete leftover from merge. CLOSED TREE 2018-07-25 14:27:38 +03:00
Sebastian Hengst
78eefa1552 No bug - remove obsolete leftover from merge. CLOSED TREE 2018-07-25 14:22:14 +03:00
Tiberius Oros
01120d0521 No bug - Fix issues from merge. CLOSED TREE
--HG--
extra : amend_source : 62c08c106fd594a9427e4f654c909764f7e8c545
2018-07-25 14:12:52 +03:00
Tiberius Oros
036999d0a9 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-07-25 13:43:03 +03:00
Mike Shal
57f8df0a94 Bug 1473667 - Handle multiple GENERATED_FILES outputs in the faster make backend; r=gps
For files that come from the objdir in install manifests (eg: '!buildid.h'),
the FasterMake backend runs 'make -C dirname filename' to build the file
with the RecursiveMake backend before the install manifest is processed.
This works fine for GENERATED_FILES that produce a single target, but if
the GENERATED_FILES invocation produces multiple targets, the FasterMake
backend will run the command multiple times. Eg:

GENERATED_FILES += [('output1', 'output2')]
...
make -C dirname output1
make -C dirname output2

These invocations may be run in parallel, and would produce both output1
and output2 twice.

Instead we can track the GeneratedFile objects as they are emitted, and
only add the first output as a dependency on the install manifest. The
RecursiveMake backend is then only invoked once for the whole group of
GENERATED_FILES.

MozReview-Commit-ID: 6mvkHow2V2i

--HG--
extra : rebase_source : c6cd50d972fe8764831544685a63921e0548e765
2018-07-05 11:48:59 -04:00
Andrew Halberstadt
21dc8454f4 Bug 1472177 - Run mozversioncontrol tests under python 3 r=gps
This also enables the py2 linter which will help maintain compatibility
with both 2 and 3.

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

--HG--
extra : moz-landing-system : lando
2018-07-24 21:21:46 +00:00
Chris Manchester
ca027440e0 Bug 1478121 - Fix tup backend bustage due to XPIDL build system api changes. r=froydnj 2018-07-24 13:48:21 -07:00
Nathan Froyd
09e16e7687 Bug 1477332 - add aarch64 to mozinfo's known list of 64-bit cpus; r=chmanchester 2018-07-24 15:49:16 -04:00
Nathan Froyd
88ecd780d0 Bug 1476973 - part 5 - make xpidl variables simply expanded; r=gps
These kind of variables are slightly more efficient in make.
2018-07-24 15:41:47 -04:00
Nathan Froyd
b56290c3c2 Bug 1476973 - part 4 - emit XPIDLModule, rather than multiple XPIDLFile; r=gps
XPIDL files are logically grouped together into a module, but the
current model for the moz.build frontend is that we emit individual
XPIDLFile objects, and leave it to the backend to reconstruct
module-ness from those.  This setup causes a small amout of useless work
to be done (e.g. see XPIDLFile handling in
RecursiveMakeBackend.consume_object; such handling should only be done
once), and it would be cleaner to have the objects emitted reflect the
build system concepts as closely as possible.  To that end, let's emit
XPIDLModule objects instead, which fortunately requires relatively few
changes.
2018-07-24 15:41:47 -04:00
Nathan Froyd
9166148c62 Bug 1476973 - part 3 - rationalize the backend's IDLManager; r=gps
The IDLManager in the moz.build backend is a bit weird.  It maintains a
bunch of per-IDL file information, some of which isn't used, and
attempts to map module names to information about what entities the
module needs to be built.  The former is done with Python dicts, and the
latter with Python tuples, both resulting in some contortions by the
clients of IDLManager to specify exactly what they need.

Let's clean this up, by making IDLManager to more clearly do two jobs:

1. Keep track of whether IDL files are globally unique; and
2. Map module names to the information needed to build them.

In the case of #2, we store everything as a straight Python object, so
we can use actual property accesses everywhere.  We also provide a
stems() function on IDLManager to make some client code more
straightforward.

Doing this makes IDLManager much more XPIDL module-centric, and paves
the way for the same change to be made in the frontend as well.
2018-07-24 15:41:47 -04:00
Nathan Froyd
61a384e83c Bug 1476973 - part 2 - assert that XPIDL_SOURCES files all exist; r=gps
We should have been checking for this from the beginning.
2018-07-24 15:41:47 -04:00
Nathan Froyd
d886ac50bc Bug 1476973 - part 1 - make XPIDL_SOURCES a list of SourcePath objects; r=gps
XPIDL_SOURCES would benefit from being more explicit about what sort of
values it contains; let's define it as a list of SourcePath objects, and
propagate those objects into XPIDLFile frontend objects as well.
2018-07-24 15:41:47 -04:00
Ted Mielczarek
146e0cc094 bug 1447932 - Add support for localized files to fastermake backend. r=mshal
Co-authored by Nick Alexander <nalexander@mozilla.com>

This patch adds support to the fastermake backend for taking localized files
from a locale directory as specified by the combination of --with-l10n-base
and --enable-ui-locale. This allows artifact builds to be built localized
with a different locale.

MozReview-Commit-ID: 1bD9Gy0ewJ2

--HG--
extra : rebase_source : 7e7d52142e48c0e57ead11df4d3d721a3b10b3e0
2018-03-21 16:47:02 -04:00
Narcis Beleuzu
41455c60a9 Backed out 5 changesets (bug 1476973) for build tup bustages. CLOSED TREE
Backed out changeset e59a3967c1e4 (bug 1476973)
Backed out changeset 19e5a88621d1 (bug 1476973)
Backed out changeset 24bcc39a55f2 (bug 1476973)
Backed out changeset 08370aca03f5 (bug 1476973)
Backed out changeset 7d6a7a63abc0 (bug 1476973)
2018-07-24 21:51:43 +03:00
Nathan Froyd
3eaddd748c Bug 1476973 - part 5 - make xpidl variables simply expanded; r=gps
These kind of variables are slightly more efficient in make.
2018-07-24 14:30:53 -04:00
Nathan Froyd
ba613d4737 Bug 1476973 - part 4 - emit XPIDLModule, rather than multiple XPIDLFile; r=gps
XPIDL files are logically grouped together into a module, but the
current model for the moz.build frontend is that we emit individual
XPIDLFile objects, and leave it to the backend to reconstruct
module-ness from those.  This setup causes a small amout of useless work
to be done (e.g. see XPIDLFile handling in
RecursiveMakeBackend.consume_object; such handling should only be done
once), and it would be cleaner to have the objects emitted reflect the
build system concepts as closely as possible.  To that end, let's emit
XPIDLModule objects instead, which fortunately requires relatively few
changes.
2018-07-24 14:30:53 -04:00
Nathan Froyd
0d5d951951 Bug 1476973 - part 3 - rationalize the backend's IDLManager; r=gps
The IDLManager in the moz.build backend is a bit weird.  It maintains a
bunch of per-IDL file information, some of which isn't used, and
attempts to map module names to information about what entities the
module needs to be built.  The former is done with Python dicts, and the
latter with Python tuples, both resulting in some contortions by the
clients of IDLManager to specify exactly what they need.

Let's clean this up, by making IDLManager to more clearly do two jobs:

1. Keep track of whether IDL files are globally unique; and
2. Map module names to the information needed to build them.

In the case of #2, we store everything as a straight Python object, so
we can use actual property accesses everywhere.  We also provide a
stems() function on IDLManager to make some client code more
straightforward.

Doing this makes IDLManager much more XPIDL module-centric, and paves
the way for the same change to be made in the frontend as well.
2018-07-24 14:30:53 -04:00
Nathan Froyd
4582c25c93 Bug 1476973 - part 2 - assert that XPIDL_SOURCES files all exist; r=gps
We should have been checking for this from the beginning.
2018-07-24 14:30:53 -04:00
Nathan Froyd
9f214bda6a Bug 1476973 - part 1 - make XPIDL_SOURCES a list of SourcePath objects; r=gps
XPIDL_SOURCES would benefit from being more explicit about what sort of
values it contains; let's define it as a list of SourcePath objects, and
propagate those objects into XPIDLFile frontend objects as well.
2018-07-24 14:30:54 -04:00
Cosmin Sabou
8592119814 Backed out changeset f19f8d717c6b (bug 1447932) for build bustages on test_fastermake. CLOSED TREE 2018-07-23 14:41:16 +03:00
Ted Mielczarek
842fbbb159 bug 1447932 - Add support for localized files to fastermake backend. r=mshal
Co-authored by Nick Alexander <nalexander@mozilla.com>

This patch adds support to the fastermake backend for taking localized files
from a locale directory as specified by the combination of --with-l10n-base
and --enable-ui-locale. This allows artifact builds to be built localized
with a different locale.

MozReview-Commit-ID: 1bD9Gy0ewJ2

--HG--
extra : rebase_source : 9f457c8565ff0297589533ab91b44c16edc86be3
2018-03-21 16:47:02 -04:00
Mike Shal
83ae44a8c1 Bug 1476802 - Make toolkit/library/rust/Tupfile work with --dry-run; r=cmanchester+432261
We shouldn't call _get_backend_file during TupBackend:_init() since
self.dry_run is not set yet. Instead we can just call it when we need to
add rust rules.

MozReview-Commit-ID: 5elqXGFMSuG

--HG--
extra : rebase_source : 880a754f631f691aaf85bfda610e29b7bfcb89b4
2018-07-18 17:20:13 -04:00
Chris Manchester
9491263075 Bug 1475278 - Link a HostRustLibrary to a HostProgram where necessary in the Tup backend. r=mshal
MozReview-Commit-ID: qghHI02Bfs

--HG--
extra : rebase_source : e04cf40916032d312785e99f2b4e6c64657ad919
2018-07-12 16:31:54 -07:00
Andrew Halberstadt
7955dcc501 Bug 1476390 - [python-test] Default number of processes to multiprocessing.cpu_count() r=davehunt
Differential Revision: https://phabricator.services.mozilla.com/D2201

--HG--
extra : moz-landing-system : lando
2018-07-18 16:15:48 +00:00
Tooru Fujisawa
457a074699 Bug 1475443 - Properly detect Xcode licence agreement issue in bootstrap.py; r=gps
--HG--
extra : amend_source : 7287bcedc11089e08c96318913c6f5a5e6b003f7
2018-07-13 12:32:45 +09:00
Bogdan Tara
a8850882a7 Merge autoland to mozilla-central. a=merge 2018-07-17 00:58:15 +03:00
Simon Fraser
0d74149678 Bug 1476003 Update python virtual environment for |mach python-safety| r=davehunt
Following the lead from 1473727 and python-test.

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

--HG--
extra : moz-landing-system : lando
2018-07-16 15:36:50 +00:00
Masatoshi Kimura
632e94cf4d Bug 1476000 - Support warnings format from clang-cl. r=dmajor
--HG--
extra : rebase_source : faf01d659a589c81718e58e2c73b1b46063ce989
2018-07-17 01:08:04 +09:00
Gregory Szorc
4a88e570a0 Bug 1475649 - Always use --untracked-files; r=ahal
a35b188d0e44 inadvertently regressed behavior in the case where
the Git status.showUntrackedFiles config option was set and
we want to purge untracked files.

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

--HG--
extra : moz-landing-system : lando
2018-07-16 13:19:09 +00:00
Chris Manchester
d6b368dff1 Bug 1472490 - Make adding a source to SOURCES, UNIFIED_SOURCES, or HOST_SOURCES multiple times an error in moz.build. r=gps
MozReview-Commit-ID: FtPF3dxUxb5

--HG--
extra : rebase_source : ad380999c41830ea0f088bdacf5fc04c95783f04
2018-07-13 15:55:45 -07:00
Andrew Halberstadt
5935acc8f0 Bug 1475649 - [mozversioncontrol] Make vcs.working_directory_clean() ignore untracked files by default r=jgraham
The doc string for the "working_directory_clean" function states:
> By default, untracked and ignored files are not considered.

But the git implementation for this function used to run:
git status --porcelain

Which *does* consider untracked files by default. Instead, we need to run:
git status --porcelain --untracked-files=no

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

--HG--
extra : moz-landing-system : lando
2018-07-13 20:54:08 +00:00
Chris Manchester
7edeeaa646 Bug 1475058 - Send SIGINT when interrupting interactive in mach before sending SIGKILL. r=mshal
MozReview-Commit-ID: 2XxLyNi1ZuS

--HG--
extra : rebase_source : d91eed728446219da6be78e310b1a12b597a0d99
2018-07-12 11:50:48 -07:00
Gurzau Raul
cf965b1f59 Merge inbound to mozilla-central. a=merge 2018-07-12 01:04:09 +03:00
Dan Minor
a8d7d7ecf2 Bug 1371485 - Use updated version of gyp; r=chmanchester
Tags: #secure-revision

Bug #: 1371485

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

--HG--
extra : rebase_source : 87cd91fdc0cc873c7f78e128f545524f66947035
2018-06-21 14:39:34 -04:00
Dave Hunt
2847cb1fcb Bug 1473727 - Avoid recreating virtual environment every time by using a unique environment for each Python version; r=ahal,dustin
This patch uses the PIPENV_PYTHON environment variable to append a suffix to the created virtual environment path according to the version specified. It also uses the PIPENV_DEFAULT_PYTHON_VERSION environment variable to avoid recreating the virtual environment every time. With these changes we are able to switch back and forth between Python versions without the expense of recreating environments, however there is a risk of these environments becoming stale. In this scenario it may be necessary to clobber the virtual environment root within the obj dir.

MozReview-Commit-ID: C4vuwNh04CP

--HG--
extra : rebase_source : 301c8418fe5b873ffadec37af11e98cfda8667b8
2018-07-09 14:57:38 +01:00
Andrew Halberstadt
0ad2e9342d Bug 1413922 - [tryselect] Merge vcs.py into mozversioncontrol r=gps
Differential Revision: https://phabricator.services.mozilla.com/D1808

--HG--
rename : tools/tryselect/vcs.py => tools/tryselect/push.py
extra : moz-landing-system : lando
2018-07-10 19:22:00 +00:00
Andrew Halberstadt
812d9fb038 Bug 1413922 - [mozversioncontrol] Always use hglib.client if available and fall back to subprocesses if not, r=gps
Most HG commands use subprocesses, even if a context manager (and therefore an
hglib client) has been created. There are only two commands that make use of
the client, but they *only* work inside a context manager. I don't think
there are any technical reason these two commands *need* to use the context
manager.

This patch merges the HgRepository._run_in_client function with
HgRepository._run(). If a client exists, that will be used, otherwise a
subprocess will be used.

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

--HG--
extra : moz-landing-system : lando
2018-07-10 20:41:49 +00:00
Jacek Caban
041db4695b Bug 1443471 - Use correct rust target for mingw clang. r=glandium
MozReview-Commit-ID: G40IanxGWXv

--HG--
extra : rebase_source : 6d8ba3af796848320cc7e3db05e9c83ba4fecb45
2018-06-25 19:57:43 +02:00
assiya
cd6fa5ad82 Bug 1474531 - Replace iteritems with viewitems in lcov_rewriter.py. r=marco
MozReview-Commit-ID: FKEHK8dyQSC

--HG--
extra : rebase_source : faf77a17fd7888f9a685c3fd692c2e8eff205afb
2018-07-10 09:20:42 -07:00
Andreea Pavel
3a4de89781 Backed out changeset d75218b99a04 (bug 1473727) for build bustages on a CLOSED TREE 2018-07-10 18:17:47 +03:00
Dave Hunt
4c269c0a47 Bug 1473727 - Avoid recreating virtual environment every time by using a unique environment for each Python version; r=ahal,dustin
This patch uses the PIPENV_PYTHON environment variable to append a suffix to the created virtual environment path according to the version specified. It also uses the PIPENV_DEFAULT_PYTHON_VERSION environment variable to avoid recreating the virtual environment every time. With these changes we are able to switch back and forth between Python versions without the expense of recreating environments, however there is a risk of these environments becoming stale. In this scenario it may be necessary to clobber the virtual environment root within the obj dir.

MozReview-Commit-ID: C4vuwNh04CP

--HG--
extra : rebase_source : ba34e415fa21683bc2a39231651587fa30ad0242
2018-07-09 14:57:38 +01:00
Tiberius Oros
92ba19b150 Merge inbound to mozilla-central. a=merge 2018-07-10 12:45:13 +03:00
Coroiu Cristina
b271e31bd6 Merge mozilla-central to inbound a=merge 2018-07-10 03:15:56 +03:00
Coroiu Cristina
07726be245 Backed out 2 changesets (bug 1413922) for breaking Nightly L10n a=backout
Backed out changeset e7a1d749ff9a (bug 1413922)
Backed out changeset b3bead1f5729 (bug 1413922)

--HG--
rename : tools/tryselect/push.py => tools/tryselect/vcs.py
2018-07-10 03:11:28 +03:00
Nathan Froyd
0daa8edfcc Bug 1444171 - Add pgo-generate-only source functionality; r=glandium
For clang-cl, we want to add code to libxul that only exists during the
PGO generation phase, so we can collect data.  The most expedient way to
do that is to enable certain files in SOURCES to be marked as to only be
compiled during the PGO generation step.
2018-07-09 18:35:49 -04:00