Commit Graph

1247 Commits

Author SHA1 Message Date
Mike Hommey
beab94823f Bug 1216371 - Distinguish between addons that can be packed and those that cannot in the packager. r=gps 2015-11-19 08:05:51 +09:00
Mike Hommey
da29499642 Bug 1216371 - Use the PiecemealFormatter for the OmniJarFormatter. r=gps 2015-11-19 08:05:51 +09:00
Mike Hommey
5fd3cd6129 Bug 1216371 - Use the PiecemealFormatter for the JarFormatter. r=gps 2015-11-19 08:05:51 +09:00
Mike Hommey
c9b5b79732 Bug 1216371 - Introduce a PiecemealFormatter base package formatter. r=gps
FlatFormatter, JarFormatter and OmniJarFormatter all, in some way, deal
with different pieces of the package being handled differently.

Instead of each of them dealing with their different pieces in some subtly
different way, instead, introduce a new base package formatter class that
will handle it for all of them.

Use this new PiecemealFormatter for the FlatFormatter.
2015-11-19 08:05:51 +09:00
Mike Hommey
fbe654a00a Bug 1216371 - Add a proxy class to access a subtree of a FileRegistry as an independent FileRegistry. r=gps 2015-11-19 08:05:51 +09:00
Mike Hommey
f4d80001b6 Bug 1216371 - Don't assume the root directory is a base directory in packager formatters. r=gps 2015-11-19 08:05:51 +09:00
Mike Hommey
a98a80e64d Bug 1216371 - Add tests for *Formatter.contains(). r=gps
And fix OmniJarFormatter.contains after bug 910660.
2015-11-19 08:05:51 +09:00
Mike Hommey
14520f6f3a Bug 1216371 - Don't rely on OmniJarFormatter.is_resource for test_omnijar_is_resource. r=gps 2015-11-19 08:05:51 +09:00
Mike Hommey
084a538ae8 Bug 1216371 - Add package formatter tests emulating mac packaging. r=gps
Only directories containing chrome manifests are given as base to formatters,
but there can still be files given outside the bases, like, on mac builds,
all files in Content/MacOS, or Content/Info.plist, whereas chrome manifests
are under Content/Resources.
2015-11-19 08:05:51 +09:00
Mike Hommey
fba25177a8 Bug 1216371 - Rearrange test_packager_formats.py. r=gps
There is a lot of repetition across its various tests, and we're going to add
some more in a subsequent change, so it is desirable to make it a less
repetitive task.
2015-11-19 08:05:51 +09:00
Chris Manchester
f088a308d8 Bug 1219521 - Add imported python modules in the tree to dependencies of GENERATED_FILES scripts. r=glandium 2015-11-16 16:51:51 -08:00
Mark Hammond
1b82232999 Bug 1224689 - Add a 'sync' mozinfo variable and only run test_remotetabmatches.js if it is defined. r=ted 2015-11-15 15:21:00 +01:00
Chris Manchester
561fdbbfb1 Bug 1224411 - Speed up FileRegistry._partial_paths by memoizing on the basis of directory. r=nalexander
This function was found to be a little slow while profiling due to repeated calls to
mozpath.dirname. This patch speeds up the function replacing dirname with string manipulation
(these paths are already normalized), by caching results on the basis of directory,
and converting from iteration to recursion to increase use of the cache.

This commit speeds up the "install tests" step run as a part of the build and running
tests by ~10% on a fast linux laptop.
2015-11-13 16:14:40 -08:00
Mike Hommey
bbbe03b200 Bug 1219104 - Disallow multiple jar.mn mentioning the same files for the same build in the FasterMake backend. r=mshal 2015-11-14 08:40:54 +09:00
Mike Shal
6a5ae87233 Bug 1223593 - Make depsdir optional in xpidl-process.py; r=glandium 2015-11-10 18:30:46 -05:00
Gregory Szorc
8daae9f220 Bug 1223149 - Add basic usage documentation for mach build; r=glandium
Support for displaying docstrings in `mach help` was added relatively
recently. `mach build` was never documented. Let's document it.

There are a gazillion things we could put in the documentation. For now,
mainly focus on targets.
2015-11-10 15:41:08 -08:00
Mike Hommey
c0e8d10ea1 Bug 1222591 - "nsMsgUtils.cpp:52:10: fatal error: 'nsProtocolProxyService.h' file not found". r=gps f=aleth 2015-11-06 17:31:00 +01:00
Chris Manchester
e7b66e98ba Bug 1215238 - Mention the included filepath in pre-processed js sources with #includes. r=glandium 2015-11-06 15:58:30 -08:00
Mike Hommey
7fd290435b Bug 1221453 - Use ObjDirPaths for GENERATED_INCLUDES and merge with LOCAL_INCLUDES. r=gps 2015-11-06 09:59:21 +09:00
Mike Hommey
fa566e20d3 Bug 1221453 - Use SourcePaths for LOCAL_INCLUDES. r=gps 2015-11-06 09:59:21 +09:00
Mike Hommey
2e5387e674 Bug 1219147 - Use addEntriesToListFile in mozbuild.jar.JarMaker.updateManifest. r=mshal
Also make addEntriesToListFile emit files with CR instead of CRLF on Windows.
2015-11-04 11:21:49 +09:00
Chris Manchester
df3288c193 Bug 1218999 - Update mtimes when building a GENERATED_FILES target, even when contents don't change. r=glandium
When a make target is generated with FileAvoidWrite, this can cause targets to
get rebuilt perpetually when a prerequisite is updated, because FileAvoidWrite
will leave the target's mtime older than the prerequisite's when the target's
contents are unchanged. To avoid this issue, GENERATED_FILES is modified to
unconditionally update its target's mtime.
2015-11-03 10:23:04 -08:00
Chris Manchester
964145e07d Bug 1218999 - Back out changeset 5f32b2bcfa43 (bug 1188468) in favor of a more efficient solution. r=glandium
Bug 118468 landed an option for FileAvoidWrite to always write to an output
file, whether or not the contents would be changed. This was to address a
problem caused by not updating mtimes when building GENERATED_FILES, but
undoes the purpose of FileAvoidWrite and isn't really necessary.
This is addressed in a subsequent commit by unconditionally updating
mtimes when processing GENERATED_FILES.
2015-11-03 10:23:04 -08:00
Mike Hommey
de5bb96c0c Bug 1217276 - Fix the handling of relativesrcdir for localized chrome data in FasterMake backend. r=mshal 2015-10-31 07:32:47 +09:00
Mike Hommey
c8b5384759 Bug 1216901 - Make the FasterMake backend reticulate splines when moz.build or jar.mn files are modified. r=mshal 2015-10-31 07:32:43 +09:00
Mike Hommey
ad084dfa2a Bug 1216901 - Always update backend output list files mtime from the base backend class. r=mshal
Instead of having individual backends do it on their own.
2015-10-31 07:32:42 +09:00
Wes Kocher
fcd46af0ed Backed out changeset e22433400ec2 (bug 1216901) to hopefully fix winpgo bustage 2015-10-30 10:11:46 -07:00
Wes Kocher
8e3a6ac8cc Backed out changeset b855984ff056 (bug 1216901) 2015-10-30 10:11:45 -07:00
Wes Kocher
1b8bc2290f Backed out changeset 9475e3ef6a44 (bug 1217276) 2015-10-30 10:11:43 -07:00
Geoff Brown
1592a9f3df Bug 1219803 - Support 'mach run' for Android; r=jmaher 2015-10-30 10:57:35 -06:00
Makoto Kato
b8a737ae4f Bug 1219228 - Generate correct source path of cpu-features.c. r=glandium 2015-10-30 12:23:42 +09:00
Mike Hommey
cc9560d1d8 Bug 1217276 - Fix the handling of relativesrcdir for localized chrome data in FasterMake backend. r=mshal 2015-10-30 08:19:04 +09:00
Mike Hommey
f507927040 Bug 1216901 - Make the FasterMake backend reticulate splines when moz.build or jar.mn files are modified. r=mshal 2015-10-30 08:19:04 +09:00
Mike Hommey
4826b6ba39 Bug 1216901 - Always update backend output list files mtime from the base backend class. r=mshal
Instead of having individual backends do it on their own.
2015-10-30 08:19:04 +09:00
Richard Newman
8927d29f98 Bug 1219512 - Bump Android version code computation check. r=nalexander 2015-10-28 18:38:55 -07:00
Carsten "Tomcat" Book
55d3e6abbf merge mozilla-inbound to mozilla-central a=merge 2015-10-28 10:43:33 +01:00
Nick Alexander
fcf66979c8 Bug 1207708 - Part 2: Build against play-services-{basement,base,gcm} if MOZ_ANDROID_GCM. r=sebastian
Since MOZ_NATIVE_DEVICES builds against play-services-{basement,base,cast},
some ad-hoc de-duplication is necessary.
2015-10-27 17:41:49 -07:00
Nathan Froyd
c1f9e31573 Bug 1218042 - part 2 - make the CompileDB backend follow the backend protocol; r=mshal
Calling CommonBackend.consume_object ensures that we process WebIDL and
IPDL files (and many other things) correctly.  Calling
CommonBackend.consume_finished ensures that the CompileDB backend gets
to see the unified bindings and protocol files that we generate, and add
those files to the compilation database.
2015-10-26 11:53:59 -04:00
Nathan Froyd
174acb53d2 Bug 1218042 - part 1 - pass an objdir into _build_db_line; r=mshal
The only thing we need the obj for here is getting the objdir.  Future
patches will just have an objdir when calling this function, and not a
proper mozbuild object.  In light of these facts, let's change the
function to accept an objdir only, which will make those future patches
easier.
2015-10-26 11:50:27 -04:00
Carsten "Tomcat" Book
97bab2dfe3 merge mozilla-inbound to mozilla-central a=merge 2015-10-26 10:57:35 +01:00
Nick Alexander
5a89165dca Bug 1192064 - Add 'android-x86' job to |mach artifact|. r=jonalmeida 2015-10-23 12:55:16 -07:00
Nathan Froyd
aaefd9a3ed Bug 1215526 - part 3 - make preprocessor.preprocessor report all included files; r=glandium
For GENERATED_FILES scripts that want to report dependencies, this
change makes it easy to use |preprocess|, rather than having to
construct and use |Preprocessor| manually.
2015-10-21 10:38:18 -04:00
Nathan Froyd
909b8d2e84 Bug 1215526 - part 2 - write dependencies to file_generate.py's depfile; r=glandium 2015-10-21 10:36:08 -04:00
Nathan Froyd
8e44e87059 Bug 1215526 - part 1 - pass dependencies file to file_generate.py; r=glandium
In addition to their inputs declared in moz.build files, generated files
may also depend on other files, such as #includes in preprocessed files.
Let's provide a place for file_generate.py to write out those extra
dependencies.
2015-10-21 09:23:09 -04:00
Andrew Halberstadt
e778e11952 Bug 1216575 - [mozbuild] Remove if statement that sets bindir to resource dir on osx, r=spohl 2015-10-21 10:04:21 -04:00
Mike Hommey
9917a51ee8 Bug 1212773 - Extend jar maker syntax for jar file location. r=gps
Indicating a jar currently looks like the following in a jar manifest:
  path/to/name.jar:

The `path/to` doesn't contain the implicit "chrome/" directory. This, in
turn, doesn't allow much flexibility to use the jar maker for what is not
necessarily under chrome/.

To use the jar maker to fill some chrome manifest for the default theme
extension, we currently use a hackish path to get to the right location,
and rely on the chrome.manifest file in the parent directory never to be
picked by the package manifest, which is a quite horrible way to do this,
but worked well enough for that specific use case.

With the need to handle system addons at the build system level, it
becomes necessary to come up with something less hackish.

What this change introduces is an additional syntax for the jar manifest,
in the following form:
  [base/path] sub/path/to/name.jar:

Using this syntax, there is no implicit 'chrome' path. The `base/path` is
relative to the current DIST_SUBDIR, and the `sub/path` is relative to that
`base/path`. The distinction can be useful for build system backends.

The assumption that the "root" chrome.manifest is in the parent directory
of the implicit "chrome" directory dies, and the `base/path` is where the
root chrome.manifest is placed.
2015-10-20 07:36:51 +09:00
Mike Hommey
ee2be20998 Bug 1212773 - Pass a base directory to jar maker, instead of a chrome directory. r=gps 2015-10-20 07:36:47 +09:00
Andrew Halberstadt
38aa543237 Bug 1216171 - Fix MozbuildObject.bindir to import the correct mozinfo, r=jmaher 2015-10-19 11:15:15 -04:00
Tooru Fujisawa
dece6a3daa Bug 1208160 - Show information when Xcode requires accepting license agreement; r=gps 2015-10-16 11:17:48 -07:00
Mike Hommey
a40deb2059 Bug 1211765 - Remove remnants from --with-libxul-sdk. r=bsmedberg
The configure option has explicitly thrown an error for more than a year now,
and it happens that the remaining way to still forcefully use it has been
broken for more than 8 months.
2015-10-14 08:02:34 +09:00