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

1137 Коммитов

Автор SHA1 Сообщение Дата
Ms2ger 64cfd6dd91 Bug 1143932 - Factor out test manifest processing code from emit_from_context; r=gps 2015-03-17 10:32:10 +01:00
Ms2ger a2615a13c5 Bug 1143932 - Factor out library handling code from emit_from_context; r=gps 2015-03-17 10:32:09 +01:00
Brian O'Keefe b27fb40678 Bug 1140161 - Sensibly handle patterns with absolute paths in TEST_HARNESS_FILES. r=gps 2015-03-05 09:22:43 -05:00
Ryan VanderMeulen ee67ad0d8d Merge inbound to m-c. a=merge 2015-03-12 18:05:45 -04:00
Anders Holbøll 1b962fa7af Bug 1138250 - add actual source files from UNIFIED_SOURCES to VS projects always; r=ted.mielczarek; a=RyanVM
DONTBUILD because NPOTB
2015-03-12 14:31:05 -04:00
Jonathan Griffin d1c61bc9b6 Bug 1116187 - Disable failing mochitest-chrome tests for B2G, r=gbrown 2015-02-06 16:30:37 -08:00
Philipp Kewisch 183c66a101 Bug 1142127 - Fix typo in exception for "IDL already registered"; r=gps 2015-03-11 17:47:02 +01:00
Mike Hommey 713aaa7b44 Bug 1063880 - Do not emit Linkable-derived objects when COMPILE_ENVIRONMENT is not set. r=mshal 2015-03-11 16:03:55 +09:00
Ahmed Khalil 4d1013a6c2 Bug 927388 - Produce and upload GeckoView AAR during packaging. r=nalexander 2015-03-06 10:17:00 -08:00
Mitchell Field 6b5b381d25 Bug 987902 - Add a "doctor" mach command; r=gps
--HG--
extra : rebase_source : a69a0d2bfc243ad5c00974ff0ffdec4fa8e99c3e
2015-03-05 10:14:08 -08:00
Gregory Szorc 790d7c78f8 Bug 1139086 - Write entire docstring for SubContexts in Sphinx; r=glandium
--HG--
extra : rebase_source : 73ba63142af431d611cf15cca342a46ce121b156
extra : amend_source : a69e85eebf1c42a1acd6ed633d4e514130fd9e16
2015-03-04 00:03:05 -08:00
Gregory Szorc 151ecf016e Bug 1138581 - Support wildcard expansion in mach file-info; r=glandium
This change includes a few fixes to other issues in mach file-info, such
as error handling for invalid paths not working properly.

--HG--
extra : rebase_source : fca43650678d944730273353a5a9154a63247c58
extra : histedit_source : 314e7702ca061005525bd4e054360f79db68935b
2015-03-02 12:58:17 -08:00
Gregory Szorc 92f0b9eb58 Bug 1138283 - Fix bad documentation around wildcard patterns; r=glandium
--HG--
extra : rebase_source : 0df22844fa50658da86f6c111868ac67fda3e21a
extra : amend_source : 0f4451ce80e327382c76a49bef9e7bdb1466f00f
extra : histedit_source : 7c76ee5dca5610704342741e7cb608c2bbb6d297
2015-03-03 09:21:23 -08:00
Andrew Halberstadt c6d32a2950 Bug 1134395 - mozbuild should pass in rootdir to manifestparser to properly calculate test relpaths, r=gps
--HG--
extra : rebase_source : 0d77784a6e7eea31be009f3f475861cf57caeeb3
2015-02-18 17:07:55 -05:00
Ahmed Khalil 95fd7727b1 Bug 1119365 - Implement |mach ide| for mobile/android and IntelliJ/Android Studio. r=nalexander 2015-02-27 05:46:00 -08:00
Gregory Szorc 370a324bca Bug 1132771 - Implement file-info mach command; r=glandium
Now that we have a mechanism for defining file-based metadata, let's add
a mach command to interface with it.

Currently, we limit ourselves to simple Bugzilla data dumping. Features
will be added over time.

--HG--
extra : rebase_source : 20fa72cac6e6d5aff7973b7dd200c03c8f238639
2015-02-27 13:58:01 -08:00
Gregory Szorc 85fc3da5dc Bug 1132771 - Add Files to moz.build with ability to define Bugzilla component; r=glandium
The Files sub-context allows us to attach metadata to files based on
pattern matching rules.

Patterns are matched against files in a last-write-wins fashion.

The sub-context defines the BUG_COMPONENT variable, which is a 2-tuple
(actually a named tuple) defining the Bugzilla product and component for
files. There are no consumers yet. But an eventual use case will be to
suggest a bug component for a patch/commit. Another will be to
automatically suggest a bug component for a failing test.

--HG--
extra : rebase_source : 9489738136d929a53db7f54bbe6acf3186e0a47c
2015-03-01 22:15:07 -08:00
Gregory Szorc 6d01f694ab Bug 1132771 - Support and test for reading without a config object; r=glandium
We want the ability to read data from any moz.build file without needing
a full build configuration (running configure). This will enable tools
to consume metadata by merely having a copy of the source code and
nothing more.

This commit creates the EmptyConfig object. It is a config object that -
as its name implies - is empty. It will be used for reading moz.build
files in "no config" mode.

Many moz.build files make assumptions that variables in CONFIG are
defined and that they are strings. We create the EmptyValue type that
behaves like an empty unicode string. Since moz.build files also do some
type checking, we carve an exemption for EmptyValue, just like we do for
None.

We add a test to verify that reading moz.build files in "no config" mode
works. This required some minor changes to existing moz.build files to
make them work in the new execution mode.

--HG--
extra : rebase_source : f701417f83dfa4e196e39182f8d0a6fea46c6fbb
extra : source : af07351bf2d6e85293ae3edf0fe4ae6cbc0ce246
2015-02-26 10:21:52 -08:00
Gregory Szorc 14155bd553 Bug 1132771 - Support reading relevant moz.build files; r=glandium
Building on top of the API to retrieve relevant moz.build files for a
given path, we introduce a moz.build reading API that reads all
moz.build files relevant to a given set of paths. We plan to use this
new API to read metadata from moz.build files relevant to a set of
files.

This patch changes the generator behavior of read_mozbuild to emit the
main context before any processing occurs. This allows downstream
consumers to manipulate state of the context before things like
directory processing occurs. We utilize this capability in the new
reading API to forcefully declare the directory traversal order for
processed moz.build files, overriding DIRS and similar variables.

Since variable exporting doesn't work reliably in this new traversal
mode, variable exporting no-ops when this mode is activated.

--HG--
extra : rebase_source : aa5c67f275e8eb83516dc97648cc8fea62b52815
extra : source : 6c44edc8208a54a9d5d830266cded7b409a776e1
2015-02-26 09:44:55 -08:00
Gregory Szorc 7b44b57d42 Bug 1132771 - Pass special types down to sandboxes via metadata; r=glandium
Currently, MozSandbox assumes that the FUNCTIONS, SPECIAL_VARIABLES, and
SUBCONTEXTS data structures are the instances that should be associated
with the sandbox. As we introduce new moz.build processing modes that
wish to change processing behavior, it is necessary for them to have
control over these special symbols.

This patch moves the declaration of these types to the special metadata
dictionary which is inherited during recursion. The "read_topsrcdir" API
now explicitly passes the initial metadata into "read_mozbuild".

--HG--
extra : rebase_source : 59ad9ac7c288a5b610d7e3b513aaa0f5b2ec2009
extra : source : ed135df395751194bf379584a4d210f14ac849b4
2015-02-26 09:43:55 -08:00
Gregory Szorc d4f1a46062 Bug 1132771 - Implement strongly typed named tuples; r=glandium
An upcoming patch introduces a use case for a strongly typed named
tuple. So, we introduce a generic factory function that can produce these
types.

--HG--
extra : rebase_source : 7f4d17ff28925fbe8d850c036605aa03a38f0ef2
extra : source : acdd5491f10ecf8ea4e1a14150f9a2e282e2cf5d
2015-02-26 09:38:43 -08:00
Gregory Szorc 0950ccbf67 Bug 1132771 - API to return moz.build files relevant for a set of paths; r=glandium
We have an eventual goal to store file-level metadata in moz.build files
and to have this metadata "cascade" down directory hierarchies. e.g.
metadata in the root directory will apply to all children directories.

A prerequisite for this feature is a way to query which moz.build files
are relevant to a given file. In this patch, we implement an API that
returns this information.

--HG--
extra : rebase_source : 70726926aeddf89df27c46dc2f503dc8a3194633
extra : source : 4013d256b5910404cc04bb3caaf696b8ee551fc5
2015-02-25 14:10:10 -08:00
Nathan Froyd bed3a06f2a Bug 1136383 - enable specifying method names for GENERATED_FILES scripts; r=gps
The inputs to scripts for GENERATED_FILES are restricted to filenames
only.  We have several examples in the tree, however, where a script
takes non-filename arguments.  For converting those cases to use
GENERATED_FILES, we first need to provide some way of "injecting"
non-filename arguments into the script.

This commit adds a method for doing that, by extending the .script flag
on GENERATED_FILES to include an optional method name:

  f = GENERATED_FILES['foo']
  f.script = 'script.py:make_foo'

will invoke the make_foo function found in script.py instead of the
function named main.
2015-02-24 16:36:39 -05:00
Carsten "Tomcat" Book c2d3f30227 Backed out changeset fab243c8d0c5 (bug 1136383) for bustage on a CLOSED TREE 2015-02-25 14:23:10 +01:00
Nathan Froyd 2724dd55e4 Bug 1136383 - enable specifying method names for GENERATED_FILES scripts; r=gps
The inputs to scripts for GENERATED_FILES are restricted to filenames
only.  We have several examples in the tree, however, where a script
takes non-filename arguments.  For converting those cases to use
GENERATED_FILES, we first need to provide some way of "injecting"
non-filename arguments into the script.

This commit adds a method for doing that, by extending the .script flag
on GENERATED_FILES to include an optional method name:

  f = GENERATED_FILES['foo']
  f.script = 'script.py:make_foo'

will invoke the make_foo function found in script.py instead of the
function named main.
2015-02-24 16:36:39 -05:00
Gregory Szorc 0cb191aded Bug 1134072 - Support for sub-contexts; r=glandium
As content in moz.build files has grown, it has become clear that
storing everything in one global namespace (the "context") per moz.build
file will not scale. This approach (which is carried over from
Makefile.in patterns) limits our ability to do things like declare
multiple instances of things (like libraries) per file.

A few months ago, templates were introduced to moz.build files. These
started the process of introducing separate contexts / containers in
each moz.build file. But it stopped short of actually emitting multiple
contexts per container. Instead, results were merged with the main
context.

This patch takes sub-contexts to the next level.

Introduced is the "SubContext" class. It is a Context derived from
another context. SubContexts are special in that they are context
managers. With the context manager is entered, the SubContext becomes
the main context associated with the executing sandbox, temporarily
masking the existence of the main context. This means that UPPERCASE
variable accesses and writes will be handled by the active SubContext.
This allows SubContext instances to define different sets of variables.

When a SubContext is spawned, it is attached to the sandbox executing
it. The moz.build reader will now emit not only the main context, but
also every SubContext that was derived from it.

To aid with the creation and declaration of sub-contexts, we introduce
the SUBCONTEXTS variable. This variable holds a list of classes that
define sub-contexts.

Sub-contexts behave a lot like templates. Their class names becomes the
symbol name in the sandbox.

--HG--
extra : rebase_source : 5df4bcf073ce46605b972021f1e918ce4affa6f3
2015-02-24 13:05:59 -08:00
Mike Hommey e58e62aa83 Bug 1136456 - Remove leftovers from TIERS support in mozbuild.frontend.reader. r=gps 2015-02-25 13:12:14 +09:00
Gregory Szorc 53e3dc9ef2 Bug 1134800 - Properly cache file matching patterns; r=glandium
The regular expression cache for mozpack.path.match was keyed off the
original pattern. However, that variable was mutated as part of the
function and the mutated result was subsequently stored as the cache
key. This effectively resulted in a 0% cache hit rate.

On some tests being written for bug 1132111 which involve a full
filesystem traversal for moz.build files and subsequent execution of
those files, the following timings are indicative of the impact of this
patch.

Before:
real 16.082s
user 14.760s
sys   1.318s

After:
real 6.345s
user 5.085s
sys  1.257s

--HG--
extra : rebase_source : caf4a9f37fda9b43b444059f647535e1b085d422
2015-02-24 10:19:41 -08:00
Mike Hommey b5c1c72f7a Bug 1135984 - Avoid setting an empty GYP_DIRS in contexts when reading it. r=gps 2015-02-24 11:28:50 +09:00
Mike Hommey cd59da5d48 Bug 1135984 - Fix typo which made Context.__init__ set the unused executed_time attribute. r=gps 2015-02-24 11:28:36 +09:00
Gregory Szorc b183534ab4 Bug 1134072 - Remove support for post-eval sandbox callback; r=glandium
Support for a callback to be executed post sandbox evaluation was added
in 24b43ecb4cad (bug 949906) to unbust Sphinx as a result of some GYP
processing changes. e93c40d4344f and bug 1071012 subsequently changed
how Sphinx variables are extracted from moz.build, removing the only
consumer of this feature.

Since there are no consumers of this feature left, remove it and make
the code simpler.

--HG--
extra : rebase_source : 95bb619aba0bb00719e060a4cf346b9dd51eb541
extra : amend_source : ef195e478b122a18f89ad0b2b2b1aab4a4090e42
extra : histedit_source : 36a464ace2fe261b1315544c9ee6a23fc0ab71a2
2015-02-23 17:30:45 -08:00
Ting-Yu Lin 654880f9be Bug 1054892 - Fix ccache status not shown after shrinking cache size. r=gps
The value of cache files or cache size might decrease under these
circumstances.

* The user manually changes the max cache size to a value smaller than
  the current cache size.
* The cache size is reaching the cache max size.

We should not assume both values will be increased after the build is
finished.
2015-02-20 03:42:00 +01:00
Nick Alexander a4579c9966 Bug 1093242 - Follow-up: define geckolibs-revision and log files written.
--HG--
extra : rebase_source : 8a95ad976f6b57d3ab756692887a623a11256e42
2015-02-20 11:42:28 -08:00
Nick Alexander f3aaef13fa Bug 1093242 - Produce and upload geckolibs artifacts for Android API v11+ opt builds. r=gps
The Android ARchive contains the compiled Gecko libraries that Firefox
for Android interfaces to.  It does not contain the Gecko resources
(the omnijar, omni.ja) nor the compiled Java code (classes.dex).

This also uploads metadata and sha1 hashes for future consumption by
Maven and/or Ivy dependency managers.  In some brave future world,
we'll work out exactly what that looks like; for now, this solves a
storage problem (each .aar file is ~20MB) and it's possible to point
Gradle directly at the uploaded Ivy metadata and artifacts.

--HG--
extra : rebase_source : 0c12b44f587d4a027ca5258bae8fcbb6f6028c24
2015-02-17 17:23:23 -08:00
Alessio Placitelli 0a6d929ae7 Bug 1075055 - Inform mozinfo about the MOZ_TELEMETRY_REPORTING build configuration. r=ted
--HG--
extra : rebase_source : 69f39a94d1284aaa087993cd65aa030f40e9ff92
2015-02-19 22:20:00 -08:00
Nathan Froyd 3ff1820ae5 Bug 883954 - part 2 - add support for defining generating scripts for GENERATED_FILES; r=gps
Now that we have proper moz.build objects for GENERATED_FILES, we can
add 'script' flags and 'args' flags in moz.build for select
GENERATED_FILES.  We restrict 'args' to being filenames for ease of
implementing checks for file existence, and many (all?) of the examples
of file generation throughout the tree don't need arbitrary strings or
Python data.
2014-12-16 15:13:27 -05:00
Nathan Froyd 52bf0b72d2 Bug 883954 - part 1 - make GENERATED_FILES emit proper moz.build objects; r=gps
This patch is mostly useful for being able to see these changes
independently of the major changes to GENERATED_FILES.  We are going to
need proper moz.build objects for GENERATED_FILES when we add the
ability to define scripts and arguments for them, so we might as well do
that first.
2014-12-16 12:55:02 -05:00
Nathan Froyd a87ff1ab76 Bug 1122812 - part 4 - update the Visual Studio backend for UnifiedSources changes; r=mshal
With the previous changes, we can now tell Visual Studio about the
actual unified files, rather than the files that are #include'd in them.
I believe this is much closer to what Visual Studio wants to see, and
enables things like Intellisense to work properly.
2015-02-05 14:55:54 -05:00
Nathan Froyd 4f29a0e3a7 Bug 1122812 - part 3 - move unified files writing for UnifiedSources to CommonBackend; r=mshal
CommonBackend is where the writing of the unified files belong, since
that's an operation common to all backends.  A special hook into
subclasses is used to enable subclass-specific processing of
UnifiedSources.
2015-02-05 14:54:28 -05:00
Nathan Froyd 2e2e8602a3 Bug 1122812 - part 2 - factor out the grabbing of an object's backend.mk; r=mshal
UnifiedSources will be processed outside of consume_object, so we need
some way of accessing the backend file for an object outside of
consume_object as well.
2015-02-05 14:25:14 -05:00
Nathan Froyd 3fc9689f75 Bug 1122812 - part 1 - move unified file grouping to UnifiedSources's constructor; r=mshal
UnifiedSources, not the recursivemake backend, should be responsible for
figuring out what unified files to generate, and what those unified
files should contain.
2015-02-05 14:05:36 -05:00
Mike Hommey 2dc29d7492 Bug 1114669 - Use a generated list of idl deps for xpt generation. r=gps
Generating the list of idl deps to generate an xpt from its dependency list
makes us give all _previous_ dependencies, inherited from the .deps makefiles.
This leads to removed files being listed on xpidl-process.py command line, and
the command subsequently failing.

Instead, use generated lists of idl dependencies. At the same time, lighten the
generated Makefile further by not emitting xpt dependencies on their containing
directory, and instead generating it from the $xpt_files list.

This brings down the Makefile size from 100k to 38k.
2015-02-13 10:29:19 +09:00
Mike Hommey cfddf46217 Bug 1063874 - Move the parts of XPIDL_SOURCES handling in misc to export. r=gps 2015-02-11 17:36:45 +09:00
Joshua Cranmer 5386f3a04e Bug 1127882: Sort the unified files list before splitting into multiple files, r=nfroyd
--HG--
extra : rebase_source : da8309728d29ed3a51d11536f962cf9255fb6f4f
2015-02-09 08:45:15 -06:00
Nathan Froyd b657260fda Bug 1129394 - produce a useful error message for |mach build-backend| without having run configure; r=ted.mielczarek
Checking for config.status ourselves avoids the unpleasant situation of
the subprocess module checking for us and producing a cryptic error
message.
2015-02-04 08:40:56 -05:00
Brian O'Keefe c6eb58c878 Bug 870366 - Part 1: Move PREF_JS_EXPORTS to moz.build (mozbuild logic). r=gps 2015-01-20 13:07:02 -05:00
Joshua Cranmer 4f74dc4614 Bug 934170: Make mach xpcshell-test work for comm-central, r=ted
--HG--
extra : rebase_source : d5ce19f18108c598aaa0a519e73a268f1dba91b5
2015-01-30 09:54:00 -06:00
Nathan Froyd 86ae9a9569 Bug 1108750 - part 8 - move WebIDL unification logic to CommonBackend; r=mshal
Similar to the changes made for IPDL files, this commit moves all of the
non-makefile related logic for WebIDL files out of the recursive make
backend and into the common build backend.  Derivative backends that
would like to do interesting things with WebIDL files now need to
implement _handle_webidl_build, which takes more parameters, but should
ideally require less duplication of logic.
2015-01-19 15:38:26 -05:00
Nathan Froyd bda1cacb6f Bug 1108750 - part 7 - move IPDL unification logic to CommonBackend; r=mshal
After a bunch of tiny changes, we're finally ready to make real
progress.  We can now move the grouping of the generated IDPL C++ files
and the actual writing of the unified files for them into the common
build backend.  Derivative backends now only have to concern themselves
with adding the particular logic that compiling those files requires.
2015-01-19 15:34:00 -05:00
Nathan Froyd 92b8b931ec Bug 1108750 - part 6 - move unified source writing to the callers of _add_unified_build_rules; r=mshal
_add_unified_build_rules shouldn't be in the business of writing out
unified files.  Some outside, higher-up logic should be doing that.
2015-01-19 15:28:46 -05:00
Nathan Froyd 76d7cf025c Bug 1108750 - part 5 - move logic for writing all unified files into CommonBackend; r=mshal
We'll need to write out unified files for multiple backends, not just
the recursive make one.  Put that logic someplace where all build
backends can access it.
2015-01-19 15:11:39 -05:00
Nathan Froyd 0f0ef25e9a Bug 1108750 - part 4 - remove handling of extra_dependencies from _add_unified_build_rules; r=mshal
No callers use it, and the makefile rules it generates don't really do
anything that the compiler won't already infer.  Let's get rid of it.
2015-01-19 15:07:43 -05:00
Nathan Froyd 1627061e64 Bug 1108750 - part 3 - move unified source mapping to the callers of _add_unified_build_rules; r=mshal
_add_unified_build_rules shouldn't be in the business of determining how
to group files into their unified files.  That logic belongs in the
caller of _add_unified_build_rules.  Once that's done, the logic for
determining how to group files can migrate out of the recursive make
bakend.
2015-01-19 14:58:21 -05:00
Nathan Froyd ea56566031 Bug 1108750 - part 2 - move _write_unified_file to CommonBackend; r=mshal
Nothing about writing unified files is specific to the recursive make
backend, and if we want to write the unified files for IPDL and WebIDL
files, we'll need this functionality available in the common build
backend.
2015-01-19 14:45:32 -05:00
Nathan Froyd b23c0da465 Bug 1108750 - part 1 - move group_unified_files to mozbuild.util; r=mshal
RecursiveMakeBackend._group_unified_files doesn't contain any
functionality specific to the recursive make backend.  We would also
like to move the unification of generated IPDL and WebIDL source files
into the common build backend.  Moving _group_unified_files into the
common build backend would be the logical place for it, but the frontend
should also be able to handle unifying files so that backends don't have
to duplicate logic for UNIFIED_FILES.  Therefore, we choose to move it
to mozbuild.util as its final resting place.
2015-01-19 14:32:44 -05:00
Ted Mielczarek 3cab8effef bug 1124192 - Fix PATH winding up as unicode when using activate_virtualenv. r=gps
--HG--
extra : rebase_source : 11bca3bcacfd27234100ceaf64166c0bfcb96b45
2015-01-26 13:43:01 -05:00
Nick Alexander d4b22a3eed Bug 1123980 - Part 2: Write region-specific search settings into res/raw/browsersearch.json. r=mfinkle
Pushing on a CLOSED TREE since Android build only.

--HG--
extra : rebase_source : cc99efa734d1f4738d3f026c930a4d1955723783
extra : amend_source : 52c07807a77f263d2eb2593826dc0285928d9be4
2015-01-20 16:27:27 -08:00
Nick Alexander 79f6d1bfb3 Bug 1123980 - Part 1: Handle common prefixes in .properties lists and dicts. r=mshal
This handles:

list.0=A
list.1=B
list.sublist.0=C

so that

list=>[A, B]
list.sublist=>[C]

and

dict=default
dict.key1=A
dict.key2=B

so that

dict=>{key1:A, key2:B}
dict=>default

--HG--
extra : rebase_source : 2c8f5941d2fca9c56b3858d3e98078a43fa69090
2015-01-21 14:31:22 -08:00
Ehsan Akhgari 8d704322f7 Bug 1121000 - Remove support for non-unified builds; r=gps 2015-01-14 17:26:39 -05:00
Sai Prathik c2cc6f07fd Bug 1119167 - Advertise IntelliJ support in build-backend message. r=nalexander 2015-01-11 19:17:00 -05:00
Ms2ger 6d4d5c8ab7 Bug 739601 - Rewrite (the used parts of) config/milestone.pl in python; r=gps 2015-01-09 10:24:45 +01:00
Nathan Froyd 2a5c4dd4c6 Bug 1117860 - part 2 - factor out unified file writing from _add_unified_build_rules; r=mshal
Writing the unified files is another thing that will have to be moved
out of recursivemake.py eventually.  And it doesn't belong inline amidst
makefile rules and variables.  Move its logic to a separate function as
well.
2014-12-22 09:38:02 -05:00
Nathan Froyd 724f33f91b Bug 1117860 - part 1 - factor sources->unified file computation out of _add_unified_build_rules; r=mshal
_add_unified_build_rules does quite a lot of work besides adding
makefile rules and variables.  The divying up of source files into
unified files is one part of that, so move it out into its own function.
When we eventually move that computation out of recursivemake.py, this
refactoring will make it easier to verify that's what we've done.
2014-12-22 09:35:52 -05:00
Wes Kocher dcdfc08c13 Merge m-c to fx-team a=merge 2014-12-29 17:35:54 -08:00
Gregory Szorc 6d6343a1cd Bug 1115278 - Add virtualenv to Sphinx environment; r=glandium
Python API documentation requires the ability to import modules. So, we
set up a virtualenv in our Sphinx environment so module loading works.

This solution isn't perfect: a number of modules fail to import when run
under sphinx-build.

--HG--
extra : rebase_source : fce732e0b8aefe0e9a2ee594b8a08ac02e27579a
extra : histedit_source : bef27c947b95c3182fbc6cd656ae8c96acaaa6f4
2014-12-24 10:17:02 -08:00
Gregory Szorc e96948d5a8 Bug 1115278 - Move Sphinx documentation staging into Sphinx extension; r=glandium
Previously, code for staging the Sphinx documentation from moz.build
metadata lived in a mach command and in the moztreedocs module. This
patch moves the invocation to the Sphinx extension.

When the code is part of the Sphinx extension, it will run when executed
with sphinx-build. This is a prerequisite to getting RTD working, since
sphinx-build is the only supported entrypoint for generating
documentation there.

With this patch, we can now invoke sphinx-build to build the
documentation. The `mach build-docs` command is no longer needed.

--HG--
extra : rebase_source : 86e76c7d598ffa23dae858254eecedbdd12706a4
extra : histedit_source : 1826aa5ddfafdff62847cc293d1f0950b236caac
2014-12-24 09:46:41 -08:00
Wes Johnston 9fff609248 Bug 1064669 - Use a Viewless Fragment for managing MediaPlayer lifecycle. r=mfinkle 2014-09-19 16:55:18 -07:00
Nathan Froyd 8748a005b3 Bug 1114598 - move common IPDL file handling from recursivemake.py to common.py; r=gps
The recursivemake backend knows how to do several things with the IPDL
sources:

1) Determine the C++ sources that will be generated from given IPDL
   sources.
2) Write out all the makefile rules and variables for said sources.

The first part isn't unique to the recursivemake backend; other backends
would eventually like to know what C++ sources come from IPDL source
files for easier cross-referencing purposes, etc.  Let's take a first
cut at moving things into CommonBackend.  (This may not be the best
interface, since it relies on consume_finished being invoked, and not
all backends call CommonBackend.consume_finished.  Still, it's a start.)
2014-12-22 10:00:48 -05:00
Nathan Froyd 204603bd32 Bug 1113730 - fix TypeError in the visualstudio backend; r=gps,f=philip.chee 2014-12-19 12:21:22 -05:00
Wes Kocher ab27d8e9b0 Merge inbound to mozilla-central a=merge CLOSED TREE 2014-12-23 16:47:42 -08:00
Pavel Roskin 82d6207629 Bug 1111256 - Use LooseVersion for Python version comparison; r=gps
Python release candidates didn't parse with StrictVersion. Use
LooseVersion instead.

--HG--
extra : amend_source : 1a247ac877fa343dbe69fbe5ce9850c5081147bc
2014-12-23 09:43:45 -08:00
Nathan Froyd 6da48b0d6c Bug 1114684 - inform mozinfo about the MOZ_TSAN build configuration; r=ahal
Various bits of the test harnesses key off of mozinfo.info.get('asan');
we will need a similar switch for finding out whether this build
supports tsan.
2014-12-22 13:46:14 -05:00
Brian O'Keefe a7beaba91a Bug 923080 - Generate xpt files into final location. r=glandium
Now that the mozbuild backend knows about FINAL_TARGET, we are able to
install generated xpt files into their final location. This saves us
from copying xpt files into their final location on every build.

Original patch by gps, rebased and comments addressed by Ms2ger

--HG--
extra : transplant_source : %E2%DC%0F%E0%AD%C2%25%A1%B8%A9%FE%B0%8C%60%FF%CB%02G%25%E5
2014-05-21 08:25:57 -04:00
Nathan Froyd bf80fc26e6 Bug 1109409 - improve mozpack.BaseFile.copy() performance on Windows; r=gps
mopack.BaseFile.copy() performs a generic read/write file copy.  Windows
has an explicit CopyFile() call that tests have shown to be
significantly faster.  Let's use that instead via the magic of ctypes.
2014-12-12 11:59:24 -05:00
Xidorn Quan 6b5de8498e Bug 1103644 - Try default browser for "mach resource-usage" if the specified one doesn't work. r=gps DONTBUILD
--HG--
extra : rebase_source : 78aa8c5f3e89dae0680f5688d0b0c80093e7549b
extra : amend_source : bd2dfce52c1647831dba1b3fbb2790bfce0beae0
extra : histedit_source : 2f0640e53e7ac359e4c050f73f86546518211e1e
2014-12-19 09:50:20 +11:00
Nathan Froyd fbabe54826 Bug 1109302 - make moz.build *SOURCES variables emit proper objects; r=gps
Having SOURCES and its close relatives go through VariablePassthru
objects clutters the handling of VariablePassthru in build backends and
makes it less obvious how to handle things that actually get compiled.

Therefore, this patch introduces four new moz.build objects
corresponding to the major variants of SOURCES.  It looks like a large
patch, but there's an ample amount of new tests included, which accounts
for about half of the changes.
2014-12-09 16:45:59 -05:00
Carsten "Tomcat" Book 4755deb0c5 merge mozilla-inbound to mozilla-central a=merge 2014-12-18 13:50:27 +01:00
Ankit Goyal b1f18c720d Bug 1109867 - Check for debugger before getting debugger info; r=gps 2014-12-17 22:30:50 -08:00
Nicholas Nethercote d138254446 Bug 1100851 (follow-up) - Fix trivial bustage in |mach run --dmd|. r=glandium.
DONTBUILD because NPOTB.
2014-12-16 20:46:40 -08:00
Nicholas Nethercote 5299e2d7ab Bug 1100851 (follow-up 2) - Fix more trivial bustage in |mach run --dmd|. r=glandium.
DONTBUILD because NPOTB.

--HG--
extra : rebase_source : 906b0ccf483fb5ab6be3fc9cef8482f28b38844f
2014-12-17 18:24:38 -08:00
Nathan Froyd db443452dd Bug 1109826 - part 1 - make the preprocessor able to avoid emitting warnings about missing directives; r=mshal 2014-12-10 14:49:44 -05:00
Nicholas Nethercote 98688c1a41 Bug 1100851 - Tweak DMD to account for the fact that $DMD can now be undefined. r=glandium.
Now that defining $DMD is no longer necessary to run DMD, this patch does the
following.
- Removes all the places where we set DMD=1 (test harnesses, etc.)
- Still handles DMD=1, for backwards compatibility.
- Prints "$DMD is undefined" at DMD start-up if appropriate.
- Writes a |null| value for |dmdEnvVar| in the JSON if $DMD is undefined. Bumps
  the DMD output version number accordingly.
- Changes a bunch of the test files accordingly, including changing the mode of
  script-ignore-alloc-fns.json in order to test a case where $DMD is undefined.

--HG--
extra : rebase_source : eb1ef5722410734ce6d7658465ff6f442ee4ed49
2014-11-27 21:04:46 -08:00
Phil Ringnalda 4ebffbeaa2 Backed out 2 changesets (bug 1105128) for Windows make check failures
CLOSED TREE

Backed out changeset 5dfe0838798c (bug 1105128)
Backed out changeset def38e936db8 (bug 1105128)
2014-12-09 20:42:01 -08:00
Gregory Szorc 3f45d46270 Bug 1105128 - Alias os.path functions in local scope; r=glandium
Various os.path attributes are being used in tight loops. Having local
variables prevents extra dictionary lookups.

This appears to shave 10-20ms off of the tests install manifest
processing time.

--HG--
extra : rebase_source : de941f2978cf0b1fd7c4f7401c848b61d406a2c8
extra : amend_source : e33c896856fa559197496b8227e10ab8149d146e
2014-11-25 18:37:11 -08:00
Gregory Szorc d5a6121790 Bug 1105128 - Avoid excessive path normalization in FileCopier.copy(); r=glandium
FileCopier.copy() was performing a lot of os.path.normpath() operations.
Profiling revealed that os.path.normpath() was the function with the
most wall time CPU usage when processing the tests manifests. Upon
subsequent examination of the code in question, all the paths being used
were already normalized. So, os.path.normpath() wasn't accomplishing
anything.

This patch results in ~300ms reduction in wall time to process the tests
install manifest on a fully populated page cache. Execution time drops
from ~2.8s to ~2.5s.

Profiling reveals that after this patch os.stat() is the #1 wall time
consumer. However, os.path.{join,dirname,normpath} still account for
~1.5x the wall time of os.stat(). There is still room to optimize
this function.

--HG--
extra : rebase_source : b6f0862baa5168c609499fd95eb3517854bc8cce
extra : amend_source : 7e04c1eb74132bbbe86e721f0f209b19309a7a51
2014-11-25 18:16:22 -08:00
Nicholas Nethercote 5e166635cb Bug 1094552 (part 6) - DMD: add support for cumulative heap profiling. r=mccr8.
By adding a new "cumulative" mode.

--HG--
extra : rebase_source : 5c851b7c594a134fae48393ff0becfd057715041
2014-10-30 20:22:47 -07:00
Nicholas Nethercote c3648686f0 Bug 1094552 (part 5) - DMD: choose the profiling mode at start-up. r=mccr8.
This patch moves profiling mode selection from post-processing (in dmd.py) to
DMD start-up. This will make it easier to add new kinds of profiling, such as
cumulative heap profiling.

Specifically:

- There's a new --mode option. |LiveWithReports| is the default, as it is
  currently.

- dmd.py's --ignore-reports option is gone.

- There's a new |mode| field in the JSON output.

- Reports-related operations are now no-ops if DMD isn't in LiveWithReports
  mode.

- Diffs are only allowed for output files that have the same mode.

- A new function ResetEverything() replaces the SetSampleBelowSize() and
  ClearBlocks(), which were used by the test to change DMD options.

- The tests in SmokeDMD.cpp are split up so they can be run multiple times, in
  different modes. The exact combinations of tests and modes has been changed a
  bit.

--HG--
rename : memory/replace/dmd/test/full-reports-empty-expected.txt => memory/replace/dmd/test/full-empty-dark-matter-expected.txt
rename : memory/replace/dmd/test/full-heap-empty-expected.txt => memory/replace/dmd/test/full-empty-live-expected.txt
rename : memory/replace/dmd/test/full-heap-sampled-expected.txt => memory/replace/dmd/test/full-sampled-live-expected.txt
rename : memory/replace/dmd/test/full-reports-unsampled1-expected.txt => memory/replace/dmd/test/full-unsampled1-dark-matter-expected.txt
rename : memory/replace/dmd/test/full-heap-unsampled1-expected.txt => memory/replace/dmd/test/full-unsampled1-live-expected.txt
rename : memory/replace/dmd/test/full-reports-unsampled2-expected.txt => memory/replace/dmd/test/full-unsampled2-dark-matter-expected.txt
rename : memory/replace/dmd/test/script-diff-basic-expected.txt => memory/replace/dmd/test/script-diff-live-expected.txt
rename : memory/replace/dmd/test/script-diff1.json => memory/replace/dmd/test/script-diff-live1.json
rename : memory/replace/dmd/test/script-diff2.json => memory/replace/dmd/test/script-diff-live2.json
extra : rebase_source : bf32cc4e0d82aa1a20ceb55e8ea259850b49cc06
2014-12-08 14:45:14 -08:00
Ting-Yu Lin c5ea153ed0 Bug 1105090 - Update ccache parser against version 3.2. r=gps
ccache version 3.2 adds primary config and secondary config in the
statistic report. Update the ccache stats parser to support that.
2014-11-26 06:25:00 +01:00
Nick Alexander 7aa14436a6 Bug 1105052 - Update in-tree jsmin to commit a878bf0. rs=gps
This is a straight copy from

a878bf0ba0

paired with a tiny change to use the new quote_chars option.

--HG--
extra : rebase_source : 75d604ffafc7062c663bca4242af35546d2c1e3a
2014-11-25 16:02:08 -08:00
Kartikaya Gupta 966f017906 Bug 1092217 - Allow debugging gtests via mach gtests --debug. r=ted 2014-11-24 15:29:40 -05:00
Gregory Szorc 8414202025 Bug 1094303 - Move XPT buildlist into misc tier; r=glandium
buildlist invocations are slow and can occur in parallel since the
underlying program obtains a lock on the modified file.

Moving the XPT-related buildlist invocation from the serial libs tier to
the parallel misc tier decreased my no-op build time on OS X from 43.5s
to 37.0s.

--HG--
extra : rebase_source : 7d274024c401b1ecfbc771424a69eb487808fcbf
2014-11-05 09:20:35 -08:00
Vaibhav Agrawal a1f9ec83ea Bug 1089037 - Removing invalid mochitests and moving webapprt-content tests to a seperate "webapprtContent" folder in object directory. r=jmaher, marco 2014-11-13 12:30:00 +01:00
Gregory Szorc 206faf1c93 Bug 1098135 - Traverse directories with misc rules; r=glandium
When the misc tier was added, only directories with misc-associated
variables from moz.build were traversed. This patch adds a dummy
variable to moz.build whose presence will add the directory to the misc
tier.

This will enable us to aggressively convert existing libs:: rules
to the misc tier.

--HG--
extra : rebase_source : c5477010c7d87fafa512f4fbbf1d2b995e07ffbd
extra : amend_source : a54eee6254ef2d63ef6b247d45e38eda2ab88fef
extra : histedit_source : c0f3352e84ec18ca7b88571cd5f9c2a33ab8eda9
2014-11-12 21:59:22 -08:00
Joshua Cranmer 7faf79f786 Bug 910781 - add support for FINAL_TARGET_FILES; r=gps 2014-07-23 13:56:25 -04:00
Gregory Szorc c00866dff6 Bug 1094302 - Update build system tests to cover moved tier; r=glandium
This fixes |make check| bustage on inbound.
2014-11-06 20:17:17 -08:00
Gregory Szorc 64d4457a62 Bug 1094302 - Move JS module installation into the misc tier; r=glandium
JS module installation performs simple file copying or preprocessing.
There is no reason it can't occur in parallel. Move it to the misc tier.

As part of this, I recognized that TESTING_JS_MODULES was assigned to a
tier. Since these files are managed by an install manifest, they don't
belong to any tier. So the tier is now listed as None.

--HG--
extra : rebase_source : 963f0813e43802c017837ce9d55f8e666decd76a
2014-11-05 09:47:14 -08:00
Mike Hommey 2277137650 Bug 1094037 - Move EXTRA_COMPONENTS and EXTRA_PP_COMPONENTS to the misc tier. r=gps 2014-11-06 09:29:11 +09:00
Wes Kocher d57953d2bd Backed out changeset db93b3cbdc17 (bug 1094037) on a CLOSED TREE 2014-11-05 17:22:50 -08:00
Mike Hommey c61568a2d3 Bug 1093499 - Add a -C option to mach build. r=gps
The build system being what it currently is, there are various cases where one
wants something explicit, rather than the current autodetection.

For instance, one may want to run
  make -C $objdir chrome
instead of
  make -C $objdir/chrome
that mach build chrome currently invokes.

There are several such usecases that mach's autodetection makes harder, and
it's sometimes awkward when telling people, to debug their issues, to run
  make -C objdir something
and hear back that objdir doesn't exist or something along those lines,
because they took "objdir" literally.
2014-11-06 09:29:27 +09:00
Mike Hommey ac80bd5f6c Bug 1094037 - Move EXTRA_COMPONENTS and EXTRA_PP_COMPONENTS to the misc tier. r=gps 2014-11-06 09:29:11 +09:00
Mike Hommey 3412f068be Bug 1094033 part 2 - Add a "misc" parallel tier where to move parts of the libs tier that can be moved. r=gps 2014-11-06 09:29:11 +09:00
Mike Hommey e8150918fc Bug 1094033 part 1 - Consolidate how to add new tiers. r=gps 2014-11-06 09:29:11 +09:00
Mike Hommey 24ed7656db Bug 1091383 - Move delayload logic entirely in moz.build frontend code. r=gps 2014-11-04 13:48:25 +09:00
Mike Hommey 47c853314f Bug 1077148 part 4 - Add and use new moz.build templates for Gecko programs and libraries. r=gps
There are, sadly, many combinations of linkage in use throughout the tree.
The main differentiator, though, is between program/libraries related to
Gecko or not. Kind of. Some need mozglue, some don't. Some need dependent
linkage, some standalone.

Anyways, these new templates remove the need to manually define the
right dependencies against xpcomglue, nspr, mozalloc and mozglue
in most cases.

Places that build programs and were resetting MOZ_GLUE_PROGRAM_LDFLAGS
or that build libraries and were resetting MOZ_GLUE_LDFLAGS can now
just not use those Gecko-specific templates.
2014-10-30 13:06:12 +09:00
Mike Hommey 44b304224a Bug 1077148 part 1 - Define mozcrt in moz.build. r=gps
--HG--
rename : mozglue/build/Makefile.in => mozglue/crt/Makefile.in
rename : mozglue/build/fixcrt.py => mozglue/crt/fixcrt.py
2014-10-30 13:05:50 +09:00
Mike Hommey deb5d056a6 Bug 1090107 - Define stlport dependencies in moz.build. r=mshal 2014-10-29 13:29:42 +09:00
Nicholas Nethercote 25ffe9badf Bug 1080302 (part 3) - Convert -foo options to --foo in |mach run|. r=glandium. 2014-10-23 17:39:49 -07:00
Nicholas Nethercote 6180a7bf12 Bug 1080302 (part 1) - Add support for --foo and /foo options where it's not already present. r=glandium. 2014-10-23 17:25:19 -07:00
Nicholas Nethercote c034f4554a Bug 1076446 (attempt 2) - Make the DMD test work on Windows. r=glandium. 2014-10-09 19:28:33 -07:00
Wes Kocher a3f4d1e96c Merge inbound to m-c a=merge 2014-10-24 15:05:02 -07:00
Richard Newman 4bb0f491d6 Bug 1088788 - Fix build target for Eclipse projects. r=nalexander, DONTBUILD (NPOTB) 2014-10-24 11:06:48 -07:00
Wes Kocher 17870433e9 Merge inbound to m-c a=merge 2014-10-23 17:37:23 -07:00
Benoit Girard 9a2e89e1ac Bug 1062726 - Add ./mach ide [visualstudio,eclipse] command. r=gps
--HG--
extra : rebase_source : 6c0ed5227c59380722863be8ecc389d9a53fc0a0
2014-09-04 02:08:33 -04:00
Richard Newman 2b3c8c4321 Back out inadvertent android_eclipse change from 4a19faedc32b (Bug 1070086). r=me, DONTBUILD on a CLOSED TREE (NPOTB) 2014-10-22 17:09:25 -07:00
Wes Johnston 887c937308 Bug 1070086 - Move download integration code to its own class. r=bnicholson 2014-10-20 12:24:49 -07:00
Edwin Flores 93b110ea4a Bug 1072024 - Fix TestGMPCrossOrigin when run with |mach gtest| - r=ted 2014-10-14 11:04:59 +13:00
Mike Hommey 7922f3f435 Bug 1080375 - STATIC_LIBRARY_NAME doesn't need an explicit FORCE_STATIC_LIB. r=mshal 2014-10-10 17:09:10 +09:00
Ting-Yu Lin 1389e02751 Bug 1088520 - Fix empty eclipse project generated on Linux. r=glandium
Use "Gecko" with captical letter 'G' for both project dir and the
project name in .project.
2014-10-24 03:11:00 +02:00
Carsten "Tomcat" Book 721ef079ea Backed out changeset 835fbe63da4a (bug 1076446) for perma failure in 10.8 mozilla-inbound debug test xpcshell 2014-10-24 12:32:38 +02:00
Nicholas Nethercote 398ff602ae Bug 1079657 (follow-up) - Remove --mode=stress option from |mach run|. r=me.
DONTBUILD because this is NPOTB.

--HG--
extra : rebase_source : f2295ccffe59b0af6627169e96f98a8a755570e8
2014-10-08 18:20:07 -07:00
Mike Hommey 008fd44132 Bug 1071568 - Only pass down templates to the sandbox context when calling moz.build templates. r=mshal
It's not entirely clear passing down all the metadata makes sense. On the
other hand, when creating the template execution sandbox, passing down
exports does assign the value for the exported variable in that execution
context. When that context is merged with the caller sandbox context, the
exported variable is reassigned, even if the value is not modified. Then,
if the caller sandbox itself reassigns the exported variable, it fails
because calling a template already did it once, unexpectedly.

Not passing down exported variables makes the template execution sandbox
never set those exported variables, so that they are not merged back. The
caller sandbox can then properly reassign the exported variable.
2014-10-09 10:14:26 +09:00
Nicholas Nethercote 6c32d71065 Bug 1074656 - Merge |mach debug| and |mach dmd| into |mach run|. r=gps.
--HG--
extra : rebase_source : a9da86cadae7fdbb0fe9e3931fb1163f4239527c
2014-10-08 15:12:02 -07:00
Eric Rahm e44bb0f07e Bug 806819 - Part 1: Remove FORCE_PR_LOG unified build restriction. r=gps 2014-10-08 13:17:27 -07:00
Gregory Szorc bf611d5f95 Bug 1071012 - Extract Sphinx variables via AST reading; r=glandium
The in-tree Sphinx docs have been broken since bug 1041941 because
processing moz.build files outside their context doesn't work.
Specifically, templates aren't loaded (because this information usually
comes from a parent moz.build file). A new execution mode is needed.

I tried to implement a proper execution mode. However, I kept running
into walls. While we should strive for a proper execution mode, this can
be a follow-up, tracked in bug 1058359.

This patch implements extraction of Sphinx variables from ast walking.
It is extremely low-level and definitely a one-off. But it solves the
problem at hand: |mach build-docs| will work after this patch is
applied.

--HG--
extra : rebase_source : abd0a91a3efb24d3adfa19f4cd281ce5fd6d0915
extra : amend_source : c1b4f79224bab55e65a8c2b0f3103475281416c1
2014-10-07 10:36:27 -07:00
Bill McCloskey 008e00e231 Bug 930243 - Add a processType flag to chrome manifest directives (r=froydnj) 2014-10-07 11:46:24 -07:00
Mark Hammond b92ee119d7 Bug 1074507 - Avoid pre-filtering tests so we can have e10s-only tests. r=ted 2014-10-01 17:06:00 -04:00
Wes Kocher aec31f5f75 Merge m-c to inbound a=merge CLOSED TREE 2014-10-06 20:59:17 -07:00
Wes Kocher 445e1466e9 Backed out 5 changesets (bug 806819) for WinXP test failures on a CLOSED TREE
Backed out changeset 009ae35b0c67 (bug 806819)
Backed out changeset 5a57f87f5061 (bug 806819)
Backed out changeset f06cd735b5b3 (bug 806819)
Backed out changeset e25a2a8d4af4 (bug 806819)
Backed out changeset 70a167982c3f (bug 806819)
2014-10-06 16:32:50 -07:00
Mike Hommey 417a2977b3 Bug 1076649 - Remove the '+' prefixing from mach commands with allow_all_arguments=True. r=gps
The reason to use '+' prefixing was to distinguish between options to the
mach command itself, and options that are passed down to whatever the
command does (like mach run passing down args to the built application).
That makes things unnecessarily awkward, and quite non-standard.

Instead, use standard '-' prefixing, and pass all the unknown arguments
down. If there is overlap between the known arguments and arguments supported
by the underlying tool (like -remote when using mach run), it is possible to
use '--' to mark all following arguments as being targetted at the underlying
tool.

For instance:
    mach run -- -remote something
would run
    firefox -remote something
while
    mach run -remote something
would run
    firefox something

As allow_all_arguments is redundant with the presence of a argparse.REMAINDER
CommandArgument, allow_all_arguments is removed. The only mach command with a
argparse.REMAINDER CommandArgument without allow_all_arguments was "mach dmd",
and it did so because it didn't want to use '+' prefixes.
2014-10-07 07:36:27 +09:00
Nick Alexander 6e7b635c34 Bug 1077381 - Follow-up: Try to fix Windows bustage. r=me
a=bustage on a CLOSED TREE

--HG--
extra : amend_source : c39a128f271f44e263d77f342665594ba161f933
2014-10-06 12:38:12 -07:00
Nick Alexander 51787ba60b Bug 1077381 - Encode generate_browsersearch verbose output as utf-8. r=gps
We need codecs for the print function and unicode_literals to let the
format() string stay undecorated.
2014-10-06 11:32:24 -07:00
Eric Rahm d67e53ba15 Bug 806819 - Part 1: Remove FORCE_PR_LOG unified build restriction. r=gps
--HG--
extra : rebase_source : 004c828c1fd157fc0f13fd6a2ca85c264a34d60c
2014-10-06 13:06:55 -07:00
Nicholas Nethercote 3ae34e7b6b Bug 1066680 (follow-up) - Unbreak |mach dmd|. r=me.
--HG--
extra : rebase_source : 3cfb38ea47653551c596487e3c51994797a1c733
2014-10-05 20:13:09 -07:00
Nicholas Nethercote 09a193e478 Bug 1044709 - DMD: emit JSON output and use Python for post-processing. r=mccr8.
--HG--
extra : rebase_source : ddc94d9be1ee0acc6dda30540defd5f40db0adcb
2014-09-02 20:34:58 -07:00
Wes Kocher a689009ad0 Merge m-c to inbound a=merge 2014-10-23 18:09:47 -07:00
Nicholas Nethercote f999a06e8c Bug 1076446 - Make the DMD test work on Windows. r=glandium.
--HG--
extra : rebase_source : 7cc8d3b18b0539ff170a98fa1c5706ff46e20d32
2014-10-09 19:28:33 -07:00
Ryan VanderMeulen 4c98b09137 Merge fx-team to m-c. a=merge 2014-10-02 13:00:31 -04:00
Andrew Halberstadt 16bcafb690 Bug 1054809 - Add ability to open support files in gtests, r=ted
In moz.build:
TEST_HARNESS_FILES.gtest += ['foo']     # fopen('foo')
TEST_HARNESS_FILES.gtest.bar += ['foo'] # fopen('bar/foo')
2014-10-02 09:01:34 -04:00
Nick Alexander 860617fb40 Bug 1065306 - Post: Handle utf-8 files in DotProperties. r=gps 2014-10-01 23:23:30 -07:00
Nick Alexander 81cf36b2a2 Bug 1065306 - Part 4: Write localized res/raw-*/browsersearch.json. r=mshal 2014-10-01 23:23:29 -07:00
Nick Alexander 6159267b05 Bug 1065306 - Part 3: Extract DotProperties helper. r=lucasr,mshal
The only substantive change here is to stop stripping the
'browser.suggestedsites.' prefix from each line when reading
region.properties.
2014-10-01 23:23:28 -07:00
Panos Astithas 29480355a3 Bug 1066680 - mach run should provide an option to start without a profile. r=gps 2014-09-12 18:45:53 +03:00
Stephen Pohl 579061de7c Mac v2 signing - Bug 1060562 - Update xpcshell-tests for the new v2 bundle structure on OSX. r=jmaher 2014-09-29 11:51:29 -07:00
Nick Alexander 0a9a9e30db Bug 1069648 - Add instrumentation manifests to moz.build. r=ted
These manifests are special in that they don't package their test files
into the test package.  Each test listed in an instrumentation manifest
serves as an identifier rather than a file.

--HG--
extra : rebase_source : 0321528a2dc380e57b824746efbcf61d295204a9
2014-09-26 11:44:58 -07:00
Nick Alexander 3b76ec3191 Bug 1070057 - Make TestResolver.resolve_tests filter by subsuite. r=ted
--HG--
extra : rebase_source : e04c903d40d5996ca28136bc9941dc74cd31ac9b
2014-09-26 11:44:57 -07:00
Mike Hommey 6b31e6bf50 Bug 1063437 - Remove MozbuildSandbox.normalize_path. r=gps 2014-10-02 09:14:08 +09:00
Mike Hommey 6ba5b139b2 Bug 1063437 - Use SourcePath smart type for sandbox includes. r=gps 2014-10-02 09:14:08 +09:00
Mike Hommey 7f48daf1bf Bug 1063432 - Do type coercion on sandbox function arguments. r=gps 2014-10-02 09:14:08 +09:00
Mike Hommey 03d37a29c7 Bug 1063414 - Make DIRS relative to the file they were added from. r=gps 2014-10-02 09:14:07 +09:00
Mike Hommey b8d9ec3440 Bug 1063414 - Move sandbox execution stack to context.Context. r=gps 2014-10-02 09:14:07 +09:00
Mike Hommey be7f345453 Bug 1063414 - Add infrastructure to follow what the current file being processed is in a Context. r=gps 2014-10-02 09:14:07 +09:00
Mike Hommey c0676d9dc8 Bug 1062221 - Change how DIRS and TEST_DIRS are handled. r=gps
Up to now, DIRS and TEST_DIRS were dumb values. This change makes them
a list of ContextDerivedValues, and handles the fact that some types of
paths are relative to the current source directory and others to the
topsrcdir.

This also makes us one step closer to fixing bug 991983.
2014-10-02 09:14:07 +09:00
Mike Hommey 26049ee2f7 Bug 1062221 - Replace add_tier_dir with DIRS. r=gps 2014-10-02 09:14:07 +09:00
Mike Hommey 61655fba8e Bug 1062221 - Add a TypedList type and refactor mozbuild.util lists. r=gps 2014-10-02 09:14:06 +09:00
Nicholas Nethercote 182c548c0d Bug 1072778 (part 2) - Use '-' instead of '_' in |mach dmd| flags. r=erahm.
DONTBUILD because |mach dmd| is NPOTB.
2014-09-25 17:20:12 -07:00
Nicholas Nethercote 38993d3626 Bug 1072778 (part 1) - Make |mach dmd| work on Linux. r=erahm.
--HG--
extra : rebase_source : 72b0f570dfacc694fc00fd2ec571c57747c8fe38
2014-09-25 17:19:53 -07:00
Mike Hommey 60fa6172b1 Bug 837846 - Respect MOZ_MAKE_FLAGS when running make commands from mach. r=mshal 2014-09-26 07:35:28 +09:00
Ryan VanderMeulen 240ed29614 Merge m-c to inbound. a=merge
CLOSED TREE
2014-09-24 16:08:33 -04:00
Carsten "Tomcat" Book f1ac6bd43a Backed out changeset aa8972afcbe5 (bug 1065306) 2014-09-24 08:30:34 +02:00
Carsten "Tomcat" Book 3ab41b3a46 Backed out changeset c4ecd64d8b95 (bug 1065306) 2014-09-24 08:30:30 +02:00
Nick Alexander 45d8ab044c Bug 1065306 - Part 4: Write localized res/raw-*/browsersearch.json. r=mshal 2014-09-23 09:52:47 -07:00
Nick Alexander eda5f56f76 Bug 1065306 - Part 3: Extract DotProperties helper. r=lucasr,mshal
The only substantive change here is to stop stripping the
'browser.suggestedsites.' prefix from each line when reading
region.properties.
2014-09-23 09:52:46 -07:00
Wes Kocher bc0c8885af Merge m-c to inbound a=merge 2014-09-23 16:48:23 -07:00
Mike Hommey 4867739033 Bug 837846 - Fix MOZ_MAKE_FLAGS handling for client.mk. r=mshal
After bug 762358 mk_add_options MOZ_MAKE_FLAGS was simply ignored in client.mk
processing. At the same time, mach environment was expecting a list of options
while the mozconfig reader returned a single string, so straighten this up at
the same time.
2014-09-24 07:56:58 +09:00
Wes Kocher 98ff539669 Merge m-c to inbound a=merge 2014-09-22 20:05:22 -07:00
Dave Townsend f485086973 Bug 1035512: Add a new common JS testing harness based on the mochitest test runner. r=gps, ted, erikvold, jmaher 2014-09-22 11:08:06 -07:00
Eric Rahm 98191440fc Bug 1058851 - Add ability to launch with DMD enabled with |mach dmd|. r=njn, r=mshal
--HG--
extra : rebase_source : cef900604d004ea4847d979aeac4c2b5e7e0869d
2014-08-26 15:25:18 -07:00
Nick Alexander b181072c2d Bug 1069569 - Complain about missing test files for all suites. r=mshal
--HG--
extra : rebase_source : 55d571b413d6080f8fdb1e56b419c078d66f31e7
2014-09-19 11:19:37 -07:00
Ted Mielczarek 3f93d58a2e bug 1052744 - Add mozbuild.makeutil.write_dep_makefile. r=gps 2014-08-26 11:55:47 -04:00
Nathan Froyd 0436d2dcf8 Bug 1067499 - make build error for misspelled variables more helpful; r=mshal 2014-09-15 13:23:53 -04:00
Nathan Froyd 7e387ddeee Bug 976733 - part 3 - convert testing/mozbase/ to use TEST_HARNESS_FILES; r=gps 2014-08-29 11:03:11 -04:00
Nathan Froyd 908de2c6f1 Bug 976733 - part 2 - add TEST_HARNESS_FILES and convert testing/mochitest/ to use it; r=gps 2014-08-15 14:28:26 -04:00
Nathan Froyd a6be251103 Bug 976733 - part 1a - add test for EXTRA_JS{_PP,}_MODULES output; r=mshal 2014-09-15 13:31:25 -04:00
Nathan Froyd 8b28cc4f3b Bug 976733 - part 1 - add walking functions to HierarchicalStringList; r=mshal
Having to walk over elements and strings of HierarchicalStringList with
an external recursive function is un-Pythonic and adds unnecessary
obfuscation to several tasks.  Add a walk() function to
HierarchicalStringList, modeled on os.walk(), to handle these cases more
directly.
2014-08-14 13:25:33 -04:00
Alessio Placitelli a7b1ef77b3 Bug 928397 - Enable xpcshell-test debugging on Windows platforms and default debugger detection. r=ted.mielczarek 2014-07-02 13:52:00 +02:00
Mike Hommey c47300cd68 Bug 1063860 - Refresh some of the variable/tier associations in mozbuild.context. r=gps 2014-09-11 12:12:18 +09:00
Gregory Szorc d3e6ae3032 Bug 1061684 - Normalize path separators in JAR paths; r=mshal
The forward slash appears to be the standard path separator in zip/JAR
files. Accept back slashes when adding paths to a JAR.

--HG--
extra : rebase_source : bd94eab36b347006e65952d99b53dd397e2ca758
extra : amend_source : 2cefd887d8bb5d989fafb398a3464429ac376e2e
2014-09-03 10:42:34 -07:00
Ryan VanderMeulen 6ca1d53198 Merge fx-team to m-c. a=merge 2014-09-05 11:54:57 -04:00
Nick Alexander e51fe094e6 Bug 1040945 - Part 2: Copy native libraries by name in AndroidEclipse backend make target. r=rnewman 2014-09-04 20:11:15 -07:00
Wes Kocher 2a754651c8 Merge m-c to fx-team a=merge 2014-09-04 18:58:12 -07:00
Nick Alexander 426b1f7ad4 Bug 1062566 - Update to Java 1.7 and bump SDK version in AndroidEclipse build backend. r=rnewman
DONTBUILD NPOTB
2014-09-03 14:24:49 -07:00
Arnaud Sourioux 40f29d0bc5 Bug 1057871 - Print full path of mozconfig file used on 'mach ./configure' when error in mozconfig throws an exception r=gps 2014-09-03 12:14:00 +02:00
Carsten "Tomcat" Book ccc49e2f5d Backed out changeset cfdcf950e403 (bug 105871) for wrong bug number in commit 2014-09-04 09:53:58 +02:00
Arnaud Sourioux af331b4b6f Bug 105871 - Print full path of mozconfig file used on 'mach ./configure' when error in mozconfig throws an exception. r=gps 2014-09-03 12:14:00 +02:00
Mike Hommey af78326e62 Bug 1059129 - Move the addition of stdc++compat to templates. r=mshal 2014-09-04 09:05:12 +09:00
Mike Hommey 4b99580194 Bug 1059113 - Use templates for shared libraries and frameworks. r=gps
Also force to use the existing template for XPCOM components.
2014-09-04 09:04:45 +09:00
Mike Hommey 4185f4510e Bug 1059126 - Always allow to add a StrictOrderingOnAppendList to another. r=gps 2014-09-03 14:19:55 +09:00
Mike Hommey ed70c5f377 Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps 2014-09-03 14:10:54 +09:00
Benoit Girard fa7509a3d2 Bug 1060210 - Automatically import new CppEclipse project into the workspace . r=gps 2014-09-03 15:12:18 -04:00
Benoit Girard 17ec5f3c5d Bug 1057986 - Change the location of the eclipse workspace to be along side the srcdir. r=gps 2014-09-03 16:09:36 -04:00
Joshua Cranmer 909189d65b Bug 1060198, part 2: Move other IS_GYP_DIR rules to gyp_reader.py, r=glandium.
--HG--
extra : rebase_source : 5ad6eae63688f5582568f470b7266b0f7ebc8b6c
2014-09-02 23:45:26 -05:00
Mathias De Maré 434d96be0b Bug 680009 - Flash taskbar icon on Windows when 'mach build' finishes. r=gps 2014-08-30 09:48:37 +02:00
Joshua Cranmer 0f5f1f0b5d Bug 1059769 - Add LIBRARY_DEFINES to moz.build, r=glandium. 2014-09-04 23:38:54 -05:00
Mike Hommey fa85fae8f6 Bug 1062668 - Add a timestamp to the message mach prints to indicate the end of the build. r=gps 2014-09-05 10:27:59 +09:00
Andrew Halberstadt 5ec7705a31 Bug 1051809 - Package and upload code coverage data to build directory if code coverage is enabled, r=gps 2014-08-27 13:32:42 -04:00
Matthew Gregan aa24983302 Bug 1058297 - Allow opting-out of "build complete" spam. r=gps 2014-08-25 15:50:00 +12:00
Gregory Szorc 99b5f22280 Bug 1058036 - Ensure dependency isn't lost when ORing InstallManifest; r=glandium
The install manifest processor starts with an empty InstallManifest and
uses |= to "concatenate" instances. It became pretty obvious when
developing some patches that add more preprocessed files to install
manifests that the source install manifest dependency was getting
lost during the |= operation. This patch fixes it.

The solution is not ideal performance wise. But slightly worse
performance (only after config.status, however) is better than
clobbers.

A test has been added to ensure this doesn't regress.

--HG--
extra : rebase_source : 848aebbbc935ce2bca2d3fcc85d1df534e734e0d
2014-08-24 20:19:55 -04:00
Kartikaya Gupta 7e55cdfb99 Bug 1057387 - Remove incorrect documentation for the run/debug commands. r=gps 2014-08-25 19:39:55 -04:00
Joshua Cranmer c2b36dce60 Bug 1057708 - The wrong topsrcdir is used when verifying existence of LOCAL_INCLUDES, r=mshal 2014-08-25 09:40:58 -05:00
Mike Hommey 4cfdc807f5 Bug 1041941 - Add support for templates in moz.build. r=gps 2014-08-24 09:11:05 +09:00