Commit Graph

1240 Commits

Author SHA1 Message Date
Randell Jesup
9a50b5248f Bug 1159300 - Add a clone of gmp-fake that doesn't do decryption. r=glandium, r=cpearce, a=sledru 2015-04-30 00:52:26 -04:00
Gregory Szorc
9cedd924a2 Bug 1128586 - Properly look for Mercurial version. r=RyanVM, a=NPOTB
`mercurial version` doesn't always print the version number. `mercurial
--version` does. Use the latter.
2015-04-27 10:43:25 -07:00
Mike Hommey
7b992a16a0 Bug 1147207 - Use SimplePackager code to find manifest entries and base directories during l10n repack. r=gps, a=sledru
This avoids duplicating the logic from SimplePackager to find base
directories, and fixes some cases where the l10n repack code wouldn't
find them properly.
2015-03-25 14:37:17 +09:00
Mike Hommey
3614853055 Bug 1147207 - Allow to give extra l10n directories to l10n-repack.py. r=gps, a=sledru
This allows to use separate l10n staging directories for e.g. addons.
2015-03-26 14:31:15 +09:00
Mike Hommey
607427b7ed Bug 1147207 - Improve SimplePackager manifest consistency check. r=gps, a=sledru
Bug 910660 added a consistency check that rejects cases where a manifest
inside a directory detected as being the base of an addon is included from
outside the addon. Unfortunately, this triggered false positives when
a manifest is included from within the addon, but just happens to be at
the top-level of that addon.
2015-03-26 14:56:30 +09:00
Mike Hommey
decb9a1465 Bug 1147207 - Add a ComposedFinder class that acts like a FileFinder proxy over multiple FileFinders. r=gps, a=sledru 2015-03-26 12:07:17 +09:00
Mike Hommey
a0056d7eb4 Bug 1147283 - Replace mozpack.path with mozpath. r=mshal, a=sledru
Back when mozpack.path was added, it was used as:

  import mozpack.path
  mozpack.path.func()

Nowadays, the common idiom is:

  import mozpack.path as mozpath
  mozpath.func()

because it's shorter.

$ git grep mozpath\\. | wc -l
423
$ git grep mozpack.path\\. | wc -l
123

This change was done with:
$ git grep -l mozpack.path\\. | xargs sed -i 's/mozpack\.path\./mozpath./g'
$ git grep -l 'import mozpack.path$' | xargs sed -i 's/import mozpack.path$/\0 as mozpath/'
$ (pat='import mozpack.path as mozpath'; git grep -l "$pat" | xargs sed -i "1,/$pat/b;/$pat/d")
2015-03-25 15:05:28 +09:00
Mike Hommey
ebd1795831 Bug 1147217 - Improve l10n repack error message when locale doesn't contain necessary files. r=mshal, a=NPOTB 2015-03-25 08:56:44 +09:00
Mike Hommey
adf300323f Bug 910660 - Make the SimplePackager emit a separate base for addons. r=gps, a=sledru
Addons are detected by the presence of an install.rdf file in their base.
2015-03-13 15:29:35 +09:00
Mike Hommey
60934ffac6 Bug 910660 - Make package formatters handle addons. r=gps, a=sledru
Addons are always formatted with jars for omnijar and jar packaging, and
flat for flat packaging.
2015-03-13 12:12:03 +09:00
Mike Hommey
c8765d22d3 Bug 910660 - Add a test for the unpacker code. r=gps, a=sledru 2015-03-13 18:21:53 +09:00
Mike Hommey
0bcc986baf Bug 910660 - Refactor test_packager_formats.py so that it's easier to follow. r=gps, a=sledru 2015-03-13 11:42:09 +09:00
Mike Hommey
5b9e575daa Bug 1147723 - Avoid non TEST_PASS/TEST_UNEXPECTED_FAIL output from test_files.py. r=gps, a=test-only
Instead, capture the output and check it's being printed.
2015-03-26 12:02:16 +09:00
Mike Hommey
6ff1b7545c Bug 1147760 - In mozpack.files.FileCopier.copy, remove files after copying. r=gps, a=sledru
Some file types, such as XPTFile, read their associated data during the
copy. In the case of XPTFiles, several original files are linked together
in one destination file. When a FileCopier is used in-place, those
original files are removed before XPTFile.copy is invoked, so XPTFile.copy
fails.

Generally speaking, there are many other reasons why FileCopier can fail
in-place, but the only active use of this mode is l10n repack code, which
actually doesn't do much of the dangerous uses. However, it can end up
linking XPTFiles for some reason, which fails for the reasons given above.
2015-03-26 15:40:08 +09:00
Joe Steele
f6decba389 Bug 1131798 - Fix handling of CPU sub-type and rebasing WITHOUT requiring Python 3.3. r=ted 2015-02-21 16:43:36 +13:00
Nick Alexander
35b6ebc195 Bug 1093242 - Follow-up: define geckolibs-revision and log files written. 2015-02-20 11:42:28 -08:00
Nick Alexander
8893f4c340 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.
2015-02-17 17:23:23 -08:00
Alessio Placitelli
7d7145e7ef Bug 1075055 - Inform mozinfo about the MOZ_TELEMETRY_REPORTING build configuration. r=ted 2015-02-19 22:20:00 -08:00
Ryan VanderMeulen
8cfeed3d59 Backed out changeset e4962045c59c (bug 1131798) for Win8 build bustage. 2015-02-18 14:46:42 -05:00
Joe Steele
34e503f6cf Bug 1131798 - Fix handling of CPU sub-type and rebasing WITHOUT requiring Python 3.3. r=ted 2015-02-19 07:10:26 +13:00
Nathan Froyd
910c26b555 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
b4c1a97c0a 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
4631d24814 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
5535fb9434 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
a167999f9e 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
644df23dd5 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
8c544a76dd 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
10487891d0 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
9ca02dbebb Bug 1127882: Sort the unified files list before splitting into multiple files, r=nfroyd 2015-02-09 08:45:15 -06:00
Gregory Szorc
c26a49ed7e 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
4339fd1a40 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
c7f69476f5 Merge f-t to m-c, a=merge 2015-01-31 09:06:14 -08:00
Nick Alexander
62dde1cf2c 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
9997dfe9c5 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
6226c9ae4d Bug 934170: Make mach xpcshell-test work for comm-central, r=ted 2015-01-30 09:54:00 -06:00
Nathan Froyd
27a794dc6b 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
a3429adaa0 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
5e610c8b86 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
a2ce417cb4 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
1a73f6817b 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
120870e236 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
b513767c2f 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
86269471c0 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
56c1688db1 Merge inbound to m-c. a=merge 2015-01-26 16:28:17 -05:00
Ted Mielczarek
9583c6fcf6 bug 1124192 - Fix PATH winding up as unicode when using activate_virtualenv. r=gps 2015-01-26 13:43:01 -05:00
James Lal
5134f3d09d Bug 1068653 - Part 1 Add python dependencies for taskcluster mach commands r=gps 2014-11-26 10:11:28 -08:00
Nick Alexander
b51f5f2ea4 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
7e3906eaf4 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
0a22123e0e 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
ebf74f4fbc Bug 1119776, Part 7: Avoid defining snprintf when MSVC provides it (other), r=bsmedberg 2015-01-08 22:35:33 -08:00