Commit Graph

1435 Commits

Author SHA1 Message Date
Vladimir Vukicevic
20ed175732 Bug 1157420, mach should generate VS2013 project files and use a better dir structure; r=froydnj 2015-07-20 16:21:15 -04:00
Mike Hommey
a356ea8421 Bug 1187245 - Make .mozconfig.mk environment variables available to mach valgrind-test. r=gps 2015-07-28 08:19:14 +09:00
Mitchell Field
2c8cbec5d1 Bug 1126228 - Directory (--directory) argument for |mach warnings-list| and |mach warnings-summary|. r=gps 2015-01-27 21:13:28 +11:00
Mike Hommey
d450691e52 Bug 1186229 - Enable Gtk+3 builds by default. r=gps
Note Gtk+3 builds need both Gtk+2 *and* Gtk+3.
2015-07-23 10:24:31 +09:00
Mike Hommey
3b0b38b4d9 Bug 1185671 - Use BytesIO instead of StringIO as backing store for FileAvoidWrite, and handle writing unicode to it explicitly. r=gps 2015-07-23 09:37:33 +09:00
Ben Hearsum
4db8272760 bug 1185530: mach boostrap should ensure that gnutar is installed. r=gps 2015-07-20 14:26:58 -04:00
Supradeep T R
8d41cd6385 Bug 1184780 - Use command help instead of main help; r=gps
--HG--
extra : commitid : MLpRMrje13
extra : amend_source : ff2038edce79b1b610be52e2908681d6de5edda2
2015-07-17 13:42:12 -07:00
Gregory Szorc
56a3eb2252 Bug 1184030 - Avoid implicit unicode <-> str conversion; r=smacleod
CalledProcessError.output and subprocess.check_output's return value
are str types. This file uses unicode_literals. If we do something
like `if 'foo' in e.output`, there will be a mix of str and unicode
types and Python will do implicit conversion. If the strings aren't
ASCII, we'll likely encounter a UnicodeDecodeError.

Use b'' literals around all strings to prevent this coercion from
occurring.

--HG--
extra : commitid : 89l5oW9T8ks
extra : rebase_source : f402353cd4a759c882475518f1360687af1936dc
extra : amend_source : ec31a39620eae2c90fb832f314cd161905444a34
2015-07-17 11:25:49 -07:00
Jonathan Griffin
0858f44655 Bug 1179292 - Make mozinfo recognize linux64-asan as a distinct platform, r=ahal
--HG--
extra : commitid : 2i02cOq3Jzv
2015-07-16 13:17:56 -07:00
Ehsan Akhgari
c66403c220 Bug 1180275 - Part 1: Add a release_build mozinfo variable; r=ted 2015-07-16 14:47:52 -04:00
Ryan VanderMeulen
d05bc1e9af Backed out changesets 9a048b598b1e and 56e9597b1257 (bug 1180275) for OSX test_android_eclipse.py failures.
CLOSED TREE
2015-07-15 23:40:06 -04:00
Ehsan Akhgari
29da2a2523 Bug 1180275 - Part 1: Add a release mozinfo variable; r=ted 2015-07-15 19:59:59 -04:00
Peter Elmers
f0de749c69 Bug 1183291 - Factor idl-parser into a Python package. r=khuey
Move Python code into an xpidl subdirectory, and include a setup.py to allow
inclusion from pip install or requirements files. Change build directory
variables appropriately.

--HG--
rename : xpcom/idl-parser/Makefile.in => xpcom/idl-parser/xpidl/Makefile.in
rename : xpcom/idl-parser/header.py => xpcom/idl-parser/xpidl/header.py
rename : xpcom/idl-parser/moz.build => xpcom/idl-parser/xpidl/moz.build
rename : xpcom/idl-parser/runtests.py => xpcom/idl-parser/xpidl/runtests.py
rename : xpcom/idl-parser/typelib.py => xpcom/idl-parser/xpidl/typelib.py
rename : xpcom/idl-parser/xpidl.py => xpcom/idl-parser/xpidl/xpidl.py
2015-07-13 13:09:11 -07:00
Gregory Szorc
4121a5645c Bug 1182677 - Support calling a function during mach command dispatch; r=smacleod
This will give us the ability to execute custom code at command dispatch
time. We can use this for global tests before dispatch.

--HG--
extra : commitid : 5vfmSqOis4W
extra : rebase_source : c285b16007c4b604b164d079a275198c8760e480
2015-07-14 13:46:33 -07:00
Supradeep T R
5b30ad463d Bug 1175968 - Honor '-h' or '--help' only if it appears before '--'; r=gps
--HG--
extra : commitid : DQ1fwp6yyLQ
extra : amend_source : 9f556fa52c94be417d46ac57930520248b7b715d
2015-07-13 16:58:54 -07:00
Carsten "Tomcat" Book
4a67c881e4 merge mozilla-inbound to mozilla-central a=merge 2015-07-13 11:51:14 +02:00
Nick Alexander
5a41a44863 Bug 1182579 - Compute Android version codes in Python. r=gps
I considered three ways to do this:

* one, as a Python script executed with $(shell);
* two, as a Python script that writes an include file for the preprocessor;
* three, as a function exposed to the moz.build sandbox.

I rejected two because it's both tied to the preprocessor, and awkward
to make handle the dependency on the buildid (in a file) and
additional build defines (in config.status).

I rejected three because I know of no precedent for this approach, and
it hides the dependency on the buildid.

One doesn't handle failures in the script gracefully, but neither did
the existing approach.  This patch is at least testable.

--HG--
extra : commitid : 8dfw1ri7qjr
extra : rebase_source : da0e5ec705e0ac4c795bd2d7892f73857a1699ac
2015-07-08 12:43:06 -07:00
Mike Hommey
b7e836094e Bug 1181450 - Make GENERATED_FILES more visible during the build by printing their name when they are being generated. r=gps 2015-07-10 09:56:04 +09:00
Julien Pagès
ad6287944e Bug 1180813 - Use a cache for BuildConfig to improve mach speed. r=gps 2015-07-07 00:35:00 -04:00
Nicholas Hurley
d0164d8d04 Bug 1182301 - Improve 'mach build' notifications. r=gps 2015-07-10 13:36:57 -07:00
Edmund Wong
b7aeebe2c4 Bug 1177634 - Ensure EXTERNAL_SOURCE_DIR uses normcase. r=glandium 2015-07-08 08:11:15 +08:00
Mike Hommey
0e0bd7bd5a Bug 1180081 - Properly rebuild gtest/libxul before running gtests. r=gps
And since this does go through plenty of make directories, avoid make printing
many "Entering" and "Leaving" messages.
2015-07-08 07:53:31 +09:00
Ehsan Akhgari
c1484ba42b Bug 1179488 - Accept any arguments passed to deprecated commands; r=gps
Without this, we throw UnrecognizedArgumentError when running commands
such as `./mach mochitest-plain test`, which causes an error message
such as the below to be emitted:

It looks like you passed an unrecognized argument into mach.

The mochitest-plain command does not accept the arguments: test

This patch will fix the above command to instead print the corresponding
deprecation message.
2015-07-06 18:08:48 -04:00
Nick Alexander
159cd7e187 Bug 1177933 - Add |mach eslint| command. r=mcomella,dmose
DONTBUILD NPOTB

--HG--
extra : commitid : IkJltHjrNkD
extra : rebase_source : 93b215c71160013c41fc447ff8eea16f670833cf
extra : histedit_source : 73c8204c8aa208b5ed7739b2f7064a110d6f5982%2Cf5cb35fa8eeea8c6443f96b3940df32c2e5fb826
2015-07-02 12:18:52 -07:00
Ted Mielczarek
d47a94a095 bug 1162519 - use winrm for mach clobber on Windows. r=gps
--HG--
extra : commitid : AGLwgeTmbKQ
extra : rebase_source : 9aac8bdcfd685bb8d08f877c256c56ccba98b665
2015-07-01 11:47:03 -04:00
Wes Kocher
b877fa7a3a Merge m-c to fx-team, a=merge 2015-06-30 16:58:23 -07:00
Nick Alexander
89b81547b6 No bug - Don't write artifacts twice. r=me
DONTBUILD NPOTB

This was just an oversight during the initial landing, leading to two
copies of artifact libraries being appended to the same destination
file.

--HG--
extra : commitid : JvvZDrjUOQZ
extra : rebase_source : f48c1a9d4b506b6ed931043aeeaca437418ea9c3
extra : histedit_source : 3dbfd049039c0adc595c1abb0df3dca3af9db207
2015-06-30 16:19:51 -07:00
Andrew McCreight
1f8cde6f73 Bug 1058178, part 1 - Implement DMD heap scanning mode. r=njn
This implements a new "scan" mode for DMD that records the address
and contents of every live unsampled block in the DMD log. This
enables the low-level analysis of references from one block to
another, which can help leak investigations.
2015-06-30 11:54:15 -07:00
Carsten "Tomcat" Book
66f9f77e3d merge mozilla-inbound to mozilla-central a=merge 2015-06-26 13:19:12 +02:00
Gregory Szorc
d34ee1a5dc Bug 1176642 - Import proper mozinfo package; r=me
bf34d16b6ab2 added absolute_import to this file. When changed, "import
mozinfo" stopped picking up mozbuild.mozinfo and started importing
mozinfo instead.

Use relative imports to force mozbuild.mozinfo to be picked up.

--HG--
extra : commitid : 4GC5lJWrBFq
extra : rebase_source : c91674b16f29dadf8dcda460787ea94654f2864a
2015-06-25 16:11:22 -07:00
Andrew Halberstadt
f8bb1d3236 Bug 1177476 - Fix require_conditions regression in mach, r=gps
This is a regression from bug 1176620 that results in all Firefox mach commands showing up in the help for B2G, even though they don't work there.

--HG--
extra : rebase_source : e779b866a82c2df1dbf913d24b93a0dc9838ff9f
2015-06-25 15:44:11 -04:00
Gregory Szorc
2237a97c63 Bug 1176642 - Use absolute_import in mozbuild; r=glandium
--HG--
extra : commitid : C634LBkrODe
extra : rebase_source : 839e3ccac3fe3c3dcb58288289fad1b25d92078e
2015-06-21 18:37:18 -07:00
Gregory Szorc
c83528e0f4 Bug 1176642 - Use absolute_import in mozpack; r=glandium
--HG--
extra : commitid : Au8BOB8l869
extra : rebase_source : 2acf6d1df5b8d15261873f67a8b95ee018df3d0c
2015-06-25 12:13:55 -07:00
Gregory Szorc
0fd4fce9ae Bug 1176642 - Defer import of glob; r=glandium
This was the only import of glob from all mach_commands.py files. Kill
it.

With this commit, there are no modules imported by a single
mach_commands.py outside of testing/web-platform/mach_commands.py.

--HG--
extra : commitid : 4CJqlwDqOVg
extra : rebase_source : 9dbbd69291d64b894a399523864562107c10872e
2015-06-25 12:11:55 -07:00
Gregory Szorc
b5f03038db Bug 1176642 - Defer import Eclipse backend modules; r=glandium
This import brought in significant parts of the mozbuild package. Moving
it to a deferred import reduces the total number of Python modules
imported during mach dispatch by 43.

--HG--
extra : commitid : GdXsF7agvCT
extra : rebase_source : 586f1960c8e7eb400f61467045b064167784f68b
2015-06-25 12:11:12 -07:00
Gregory Szorc
3e949ee8fe Bug 1176642 - Use absolute_import in mach_commands.py files; r=glandium
This removes ambiguity as to which modules are being imported, making
import slightly faster as Python doesn't need to test so many
directories for file presence.

All files should already be using absolute imports because mach command
modules aren't imported to the package they belong to: they instead
belong to the "mach" package. So relative imports shouldn't have been
used.

--HG--
extra : commitid : 6tFME1KKfTD
extra : rebase_source : 78728f82f5487281620e00c2a8004cd5e1968087
2015-06-21 17:39:09 -07:00
Gregory Szorc
a19bee3a08 Bug 1176642 - Remove unused imports; r=glandium
--HG--
extra : commitid : IZ7JkH4GKW4
extra : rebase_source : 4c3301c5c353be8afed407df4a003a9cac4583e8
2015-06-25 12:16:38 -07:00
Nick Alexander
0a6017a1af Bug 1162191 - Add |mach artifact| for installing downloaded Fennec binaries. r=gps
DONTBUILD ON A CLOSED TREE: Android-only and the build changes are cosmetic.

Very much a first cut, but I'd like to get some Fennec early adopters testing.

This adds:

* |mach artifact install| to fetch and install Fennec binaries;
* |mach artifact last| to print details about what was last installed;
* |mach artifact {print,clear}-caches|, for debugging.

This code is exposed as a new mozbuild.artifacts Python but it's not
particularly general.  My intention was to get things out of the mach command
more than produce a general artifact fetching API.  We can leave that bike
shed to Bug 1124378.

I've been testing this with --disable-compile-environment and it works well
locally, although there's no reason a knowledgeable developer couldn't use
this in conjunction with a fully-built tree.  (I don't know when such a
situation would arise, but I know of no technical impediment.)

--HG--
extra : commitid : 1T28aVfArqF
extra : rebase_source : b8c11244de8be0a14d605853f30cd47312d0a4ba
extra : histedit_source : 78a224501cd3cf0f86707c9c9549b61b4b248ba7
2015-06-24 23:12:00 -07:00
Gregory Szorc
2d3964ecf9 Bug 1176620 - Eliminate MethodHandler; r=ahal
This type is now redundant with our new rich type for capturing all mach
command metadata. Eliminate it and using _MachCommand instead.

--HG--
extra : commitid : 7pXhf6V7F8m
extra : rebase_source : 343615096f23d3acf23f7487c7b8c7137c85337e
2015-06-21 13:17:51 -07:00
Gregory Szorc
89a96642e2 Bug 1176620 - Pass fewer arguments into MethodHandler; r=ahal
Simplify construction of mach's MethodHandler instances by by passing in
our new rich type that holds all command metadata.

While we are here, kill the docstring argument, as it can be computed
easily inside MethodHandler.__init__.

--HG--
extra : commitid : I5PRlYDVXVq
extra : rebase_source : ebf07116357036ddfec06fd32fb161fefff628e6
2015-06-21 13:07:33 -07:00
Gregory Szorc
3e834385c6 Bug 1176620 - Refactor how mach command metadata is stored; r=ahal
Up to this point, mach command metadata has been stored in tuples.
Initially, things weren't so bad. But they have evolved into tuples with
many elements. Adding new attributes is cumbersome. Let's restructure
the code to capture metadata in a dedicated class.

Before, there existed a separate attribute on the @Command or
@SubCommand decorated method for each mach decorator: @Command,
@CommandArgument, @CommandArgumentGroup. With the magic of __ior__,
we can now capture all metadata on a single type. This simplies
processing, as we now only look at a single attribute on methods:
_mach_command.

Before, we used separate attributes to distinguish between mach commands
and mach sub-commands. Now that we have a type that can hold all data,
we combine things into the _mach_command attribute and look for the
presence of the "subcommand" attribute on this type to identify
sub-commands.

--HG--
extra : commitid : EtBwUmS5TV2
extra : rebase_source : 4ef5f95a532693672c6c4b33fa1c22adb76d105e
2015-06-21 12:59:29 -07:00
Gregory Szorc
95643136a3 Bug 1176620 - Use absolute_import in mach; r=ahal
To help ensure Python 3 compatibility.

--HG--
extra : commitid : 1eCMr8OKGRa
extra : rebase_source : 49a6037ae6a25a5d3e30b93b634f3b4cc1b55a4e
2015-06-21 11:56:05 -07:00
Birunthan Mohanathas
0a800b87f2 Bug 1174524 - Make objdir path comparison case-insensitive on Windows. r=mshal
os.path.realpath already implies os.path.normpath, so this just changes
normpath to normcase.
2015-06-16 08:24:29 -07:00
Gregory Szorc
df52729835 Bug 1171105 - Ability to aggregate metadata from Files instances; r=glandium
We want this logic to live next to where metadata types are defined so
downstream consumers of Files-based metadata don't have to reinvent the
wheel.

The work in this commit will be used to enable auto filing bugs during
pushes to MozReview.

--HG--
extra : commitid : F55RzhDCVmR
extra : rebase_source : 1fe1a03f8d592c60d2ed8d760fd62c7bc60421a5
2015-06-12 09:44:14 -07:00
Gregory Szorc
f15e40e75d Bug 1172645 - Make mozbuild's setup.py work; r=glandium
This file hasn't been updated in ages and the current configuration
doesn't produce working packages. Change that.

--HG--
extra : commitid : AfiwohniLPq
extra : rebase_source : 70786c7bd9e37c9acc9b38f54c956fec424cfcf5
extra : amend_source : e4e3752dc97b934456b973736ef55633366c8ee6
2015-06-12 09:37:54 -07:00
Wes Kocher
2aa142fe5e Merge inbound to central, a=merge 2015-06-11 17:02:47 -07:00
Gregory Szorc
cb10ca03ae Bug 1168466 - Bump minimum Mercurial version in bootstrapper; r=me
This should have been done in 4c757e339f81.

DONTBUILD (NPOTB)

--HG--
extra : commitid : 41TCyM9iqVQ
extra : rebase_source : 8defc6b23d507e1580db77869ff2c2e99ee5db5a
extra : amend_source : 5f330ea7c2775675fcc8051e5c46d2439c4e5823
2015-06-10 15:38:46 -07:00
Timur Timirkhanov
507e72a004 Bug 1169089 - Detect CentOS 7 in bootstrapper; r=gps
CentOS has apparently changed its disto name. Detect the new version.

DONTBUILD (NPOTB)

--HG--
extra : commitid : JrYp4WJ5Fs3
extra : amend_source : c2ac16f7006c2e44450de54edb732fa722f150d0
2015-06-10 11:27:15 -07:00
Benjamin Smedberg
89ca26a1e4 Bug 1168861 - Make mach bootstrap install GConf2-devel on Fedora, r=glandium
--HG--
extra : rebase_source : 306ede940567b5c7922d9248651c8091677cc5b8
extra : histedit_source : 0d1bff410be6fcddfd74c85b9d4313d15c82a7cf
2015-05-27 11:01:22 -04:00
Gregory Szorc
013f437636 Bug 1168607 - Add a native Mercurial finder; r=glandium
The hglib Mercurial finder was nice. But it is somewhat slow, as it
involves a separate Mercurial process.

This commit introduces a native Mercurial finder that speaks directly
to a Mercurial repository instance. It is significantly faster.

The new code is isolated to its own file because it imports Mercurial
code, which is GPL.

--HG--
extra : commitid : 8CzDFt3lQmx
extra : rebase_source : 1540ad20d795086926b316612062e2a1f10c4958
2015-06-09 13:49:45 -07:00