Commit Graph

1211 Commits

Author SHA1 Message Date
Gregory Szorc
4b034bb80f Bug 1129798 - Use pdb.runcall to debug mach commands; r=ahal
The previous debugger was setting a breakpoint in the mach dispatcher.
This required users to step into the main function to be called into.
Using pdb.runcall(), the debugger starts at the first line in the
executed command, which is far more useful.
2015-02-04 22:49:06 -08:00
Nathan Froyd
9b056732b1 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
Phil Ringnalda
2501618523 Merge f-t to m-c, a=merge 2015-01-31 09:06:14 -08:00
Nick Alexander
bcc24e8515 Bug 1123824 - Include platforms/android-VERSION in suggested mozconfig. r=me,f=psd
DONTBUILD NPOTB
2015-01-26 11:13:49 -08:00
Brian O'Keefe
aa4e523b48 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
b5bff3fbc4 Bug 934170: Make mach xpcshell-test work for comm-central, r=ted 2015-01-30 09:54:00 -06:00
Nathan Froyd
1238e8182e 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
222c555005 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
6faa4eb555 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
0f238387f5 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
8cf0681ac6 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
cbd90680a8 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
f2b37f00f9 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
ab54f6e36b 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
Ryan VanderMeulen
c16b95a8c7 Merge inbound to m-c. a=merge 2015-01-26 16:28:17 -05:00
Ted Mielczarek
ae74c94379 bug 1124192 - Fix PATH winding up as unicode when using activate_virtualenv. r=gps 2015-01-26 13:43:01 -05:00
James Lal
1346e66bf8 Bug 1068653 - Part 1 Add python dependencies for taskcluster mach commands r=gps 2014-11-26 10:11:28 -08:00
Nick Alexander
3a493f0bdd 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.
2015-01-20 16:27:27 -08:00
Nick Alexander
1125ca24c1 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
2015-01-21 14:31:22 -08:00
Markus Stange
cb9f937f27 Bug 1118228 - Add an lldb helper that allows calling functions without debug info. r=jrmuizel, r=ehsan 2015-01-14 19:04:24 -05:00
Brian Smith
64e6633bea Bug 1119776, Part 7: Avoid defining snprintf when MSVC provides it (other), r=bsmedberg 2015-01-08 22:35:33 -08:00
Ehsan Akhgari
5a04745802 Bug 1121000 - Remove support for non-unified builds; r=gps 2015-01-14 17:26:39 -05:00
Sai Prathik
c1f7707f07 Bug 1119167 - Advertise IntelliJ support in build-backend message. r=nalexander 2015-01-11 19:17:00 -05:00
Nick Alexander
635e342b21 No bug - Fix typo in mozconfig output message. r=me
DONTBUILD NPOTB on a CLOSED TREE

This was tested by ally and mfinkle in #mobile.
2015-01-12 14:51:31 -08:00
Mike Shal
478ddfe4db Bug 1118774 - Import python redo library; r=gps 2015-01-07 14:18:20 -05:00
Nick Alexander
a1cfde9be5 Bug 1117357 - Fix |mach bootstrap| for mobile/android on Mac OS X. r=gps
This does two things.  First, it aligns the brew formula name
(AndroidNdk) with the brew file name (android-ndk.rb).  Second, it
makes sure that we actually find the android-ndk.rb file.  I think
|mach bootstrap| always worked, due to a felicity where the working
directory always contained android-ndk.rb; but |python bootstrap.py|
failed because android-ndk.rb was downloaded to a temporary location
that was not included in the |brew install| command.

--HG--
rename : python/mozboot/mozboot/android-ndk-r8e.rb => python/mozboot/mozboot/android-ndk.rb
extra : rebase_source : 44f164d3d5916bc2faf4c64285e232047daea35e
2015-01-08 13:47:42 -08:00
Ms2ger
2a3915fd6c Bug 739601 - Rewrite (the used parts of) config/milestone.pl in python; r=gps 2015-01-09 10:24:45 +01:00
Nathan Toone
e49feac916 Bug 1119350 - Upgrade virtualenv to 12.0.5; r=gps
This addresses issues with offline builds - due to pip latest version checking

Source archive downloaded from
https://pypi.python.org/packages/source/v/virtualenv/virtualenv-12.0.5.tar.gz
and uncompressed into python/virtualenv. The egg-info directory was
removed.

--HG--
extra : amend_source : 30a79486d91d9f79a36535eab438c0cd6f81daf3
2015-01-08 10:52:07 -07:00
Nathan Froyd
73e015d38c 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
3cab06525d 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
0667ebb637 Merge inbound to m-c a=merge 2014-12-30 15:48:13 -08:00
Wes Kocher
cbd1de1016 Merge m-c to fx-team a=merge 2014-12-29 17:35:54 -08:00
Gregory Szorc
78050b0af4 NO BUG - Remove deleted python/codegen from Sphinx docs
The python/codegen directory was removed in 9cbc28021b7b (bug 1108294).
However, the Sphinx reference lingered. Kill the dangling reference.
2014-12-29 15:49:36 -08:00
Gregory Szorc
756d4c6660 Bug 1115278 - Fix mach documentation issues; r=glandium
terminal.py had an ambiguous |import logging| that was importing
mach.logging from Sphinx. We fix it.

There was also a poorly formed link in the mach commands documentation.
We fix it.

--HG--
extra : rebase_source : 12783c69027989ac031d29e4ecbc1ee2f465ffa4
extra : histedit_source : 4283c6cdecc4de8aa7636d0c4cc566daf5142b50
2014-12-24 10:26:34 -08:00
Gregory Szorc
7860b372e8 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
3c8383bfb1 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
0272edda20 Bug 1064669 - Use a Viewless Fragment for managing MediaPlayer lifecycle. r=mfinkle 2014-09-19 16:55:18 -07:00
Phil Ringnalda
0f7feca6f4 Merge m-i to m-c, a=merge 2014-12-24 15:38:41 -08:00
Nathan Froyd
47987a6d11 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
3ab6be880d Bug 1113730 - fix TypeError in the visualstudio backend; r=gps,f=philip.chee 2014-12-19 12:21:22 -05:00
Wes Kocher
4b500e5899 Merge inbound to mozilla-central a=merge CLOSED TREE 2014-12-23 16:47:42 -08:00
Pavel Roskin
faa13b07f2 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
Gregory Szorc
322a12f348 Bug 930808 - Upgrade to psutil 2.1.3; r=glandium
psutil 2.1.3 is replacing psutil 1.0.1. There are numerous bug fixes and
feature enhancements in psutil worth obtaining.

Source code was obtained from
https://pypi.python.org/packages/source/p/psutil/psutil-2.1.3.tar.gz and
uncompressed into python/psutil without modification except for the
removal of the egg-info directory and the .travis.yml file.

--HG--
extra : source : 697eb6db7d96dc21e817cd27a7e46ed4ab00f9bb
2014-12-23 10:45:15 -08:00
Phil Ringnalda
adddb7d698 Backed out changeset 697eb6db7d96 (bug 930808) for OS X make check failures 2014-12-23 21:04:19 -08:00
Gregory Szorc
8221e09b46 Bug 930808 - Upgrade to psutil 2.1.3; r=glandium
psutil 2.1.3 is replacing psutil 1.0.1. There are numerous bug fixes and
feature enhancements in psutil worth obtaining.

Source code was obtained from
https://pypi.python.org/packages/source/p/psutil/psutil-2.1.3.tar.gz and
uncompressed into python/psutil without modification except for the
removal of the egg-info directory and the .travis.yml file.

--HG--
extra : rebase_source : 90b02e514e5dd1249d97d83223ef8fcf20c9da94
extra : histedit_source : 2e96344e1796b6156ccf279684687b2e8995be92
2014-12-23 10:45:15 -08:00
Gregory Szorc
91aef441f2 Bug 930808 - Upgrade virtualenv to 12.0.2; r=glandium
Source archive downloaded from
https://pypi.python.org/packages/source/v/virtualenv/virtualenv-12.0.2.tar.gz
and uncompressed into python/virtualenv. The egg-info directory was
removed.

--HG--
extra : rebase_source : e96572c694b2e780ed143a08b3c6670273a39fdb
extra : histedit_source : 17d490c968fdadd4dacad3b880bfcb1fc7b3e148
2014-12-23 10:26:10 -08:00
Wes Kocher
90f9936343 Merge m-c to fx-team a=merge CLOSED TREE 2014-12-23 16:56:21 -08:00
Nick Alexander
3c84da2160 Bug 1108771 - Part 4: Implement |mach bootstrap| for mobile/android on OS X with homebrew. r=gps
Pushing on a CLOSED TREE because this is NPOTB.

The custom brew formula is a lightly edited version of an earlier
revision of brew's android-ndk.rb.  It's not clear that using a custom
brew formula for the Android SDK version r8e is better than using the
existing android Python module for installing the SDK and the NDK, but
it's done now and works locally.  If we really wanted to avoid shipping
it, we could probably arrange to land it in
https://github.com/Homebrew/homebrew-versions.

I see no easy way to install the Java 1.7 JDK with macports, so in the
spirit of the good now being better than the perfect later, I've
punted.  (I don't see an Android NDK package either, but that
functionality exists in Python.)  Patches wanted!

--HG--
extra : rebase_source : d3ca836951b05eb30fabc17e523676d31c1ec0ef
extra : amend_source : d34e9eb5cd840b827a7ce65a0d22c1c275efff09
2014-12-21 15:29:19 -08:00
Nick Alexander
7894085f23 Bug 1108771 - Part 3: Factor _ensure_*_packages out of OS X bootstrapper. r=gps
This prepares the way for implementing install_mobile_android_packages
on OS X.

--HG--
extra : rebase_source : b52b7080f857e351e71f169f09a42dfd61b43a43
2014-12-21 15:29:19 -08:00
Nick Alexander
ac93f5100c Bug 1108771 - Part 2: Implement |mach bootstrap| for mobile/android on Debian-like systems. r=gps
This adds a generic android Python module that handles:

* downloading and unpacking Google's Android SDK and NDK bundles;
* using the |android| tool to install additional Android packages;
* printing a mozconfig snippet suitable for mobile/android builds.

--HG--
extra : rebase_source : abaffcee70eacb391f53d622fba4a445277818db
2014-12-21 15:29:18 -08:00