Commit Graph

26 Commits

Author SHA1 Message Date
Mike Hommey
ac9b21f74d Bug 1335309 - Change the default for find_executables to False. r=mshal
Back when the class was written, for the packaging code, it made sense
that the default was True. But now that it's used all over the place,
and that the vast majority of uses are with find_executables=False, it
makes more sense for that to be the default.
2017-01-31 14:06:15 +09:00
Mike Hommey
ab4e2a0d39 Bug 1335309 - Add explicit find_executables arguments to every use of FileFinder. r=mshal
And make it an error not to give it. While the default is True, we do
pass a value of False wherever it makes sense, which happens to be, in
most places.

This is an intermediate step to flip the default from True to False,
ensuring that we don't unwantedly switch some calls to False.
2017-01-31 13:01:34 +09:00
Phil Ringnalda
dea249bc26 Backed out changeset 349a316ed0f7 (bug 1316735) for build packaging failures
CLOSED TREE
2016-12-13 10:48:40 -08:00
Jack Bates
651d894238 Bug 1316735 - Relative symlinks in the dist directory. r=gps
Make the symlinks in the dist directory relative instead of absolute.

MozReview-Commit-ID: HS7KL4JwSbV
2016-11-10 22:24:38 +00:00
Chris Manchester
969974de81 Bug 1240134 - Fixup TarFinder test on Windows by closing the TarFile after the test. r=me
MozReview-Commit-ID: EbP4o5XLCeB
2016-08-17 16:12:14 -07:00
Chris Manchester
94c3b6c4d7 Bug 1240134 - Implement a TarFinder to facilitate extracting files from compressed Firefox archives. r=glandium
MozReview-Commit-ID: F4l8505bvwR
2016-08-17 15:02:31 -07:00
Gregory Szorc
269780808f Bug 1208320 - Allow FileFinder to find dot files; r=glandium
Previously, we always skipped over files beginning with a ".". This
commit adds an option to include them.

This is needed to support test package generation via Python / mozpack.
2015-09-30 09:16:33 -07:00
Gregory Szorc
8d1cfbc39f Bug 1168607 - Add a native Mercurial finder; r=glandium
The hglib Mercurial finder was nice. But it is somewhat slow, as it
involves a separate Mercurial process.

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

The new code is isolated to its own file because it imports Mercurial
code, which is GPL.
2015-06-09 13:49:45 -07:00
Gregory Szorc
beb47450d1 Bug 1168607 - Add mode to MercurialFileFinder to support non-relative paths; r=glandium
The moz.build reader uses absolute paths when referencing moz.build
files. *Finder classes expect paths to be relative to a base. When we
switched the reader to use *Finder instances for I/O, we simply provided
a default FileFinder based at the filesystem root. This was quick and
easy. Things worked.

Unfortunately, that solution isn't ideal because not all *Finder
instances can accept absolute paths like that. The
MercurialRevisionFinder is one of them.

Changing the moz.build reader to talk in terms of relative paths is a
lot of work. While this would be ideal, it is significantly easier to
defer the problem until later and hack up MercurialRevisionFinder to
accept absolute paths. This commit does exactly that.

Bug 1171069 has been filed to track converting BuildReader to relative
paths.
2015-06-08 09:33:46 -07:00
Gregory Szorc
17f2d21320 Bug 1168607 - Implement a finder that reads from a Mercurial repo; r=glandium
Now that moz.build files use finders for I/O, we can start reading
moz.build data from other sources.

Version control is essentially a filesystem. We implement a finder
that speaks to Mercurial to obtain file data. It is able to obtain
file data from a specific revision in the repository.

We use the hglib package (which uses the Mercurial command server) for
speaking with Mercurial. This adds overhead compared to consuming the
raw Mercurial APIs. However, it also avoids GPL side-effects of
importing Mercurial's Python modules.

Testing shows that performance is good but not great. A follow-up
commit will introduce a GPL licensed Mercurial finder. For now, get
the base functionality in place.
2015-06-09 13:39:01 -07:00
Gregory Szorc
861050d884 Bug 1168607 - Add get method to finders; r=glandium
Today, the *Finder classes are optimized for doing matching and
returning multiple results. However, sometimes only looking for a
single file is wanted.

This commit implements the "get" method on all the *Finder classes.
It returns a BaseFile or None.

FileFinder._find_file has been refactored into FileFinder.get
to avoid code duplication.
2015-06-04 11:24:03 -07:00
Mike Hommey
bcc257ae3e Bug 1147207 - Add a ComposedFinder class that acts like a FileFinder proxy over multiple FileFinders. r=gps 2015-03-31 12:32:51 +09:00
Mike Hommey
8b34276c27 Bug 1147723 - Avoid non TEST_PASS/TEST_UNEXPECTED_FAIL output from test_files.py. r=gps
Instead, capture the output and check it's being printed.
2015-03-31 12:32:50 +09:00
Mike Hommey
2e51d2ef87 Bug 1147283 - Replace mozpack.path with mozpath. r=mshal
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-27 08:13:16 +09:00
Nathan Froyd
838951e4de Bug 996061 - part 0 - make tests use [scriptable] interfaces; r=ted
Smart xpt linking will keep around [scriptable] interfaces and anything
those interfaces depend on.  Modify the tests that deal with xpt linking
so they use [scriptable] interfaces, ensuring that the tests continue to
work in the face of smarter linkers.
2014-05-19 12:35:21 -04:00
Gregory Szorc
3ffe1dbe60 Bug 903149 - Part 3: Support for minifying packaged JavaScript; r=glandium 2013-09-11 19:54:19 -07:00
Brian O'Keefe
677d33d23d Bug 935987 - Part 2: Add preprocessed files to mozpack.files; r=gps 2013-11-06 14:46:05 -05:00
Gregory Szorc
7f670ac533 Bug 941245 - Allow FileFinder to ignore patterns; r=glandium 2013-11-20 13:12:21 -08:00
Gregory Szorc
ddb90ab40d Bug 918392 - Handle symlinked directories properly; r=glandium 2013-09-24 10:44:27 -07:00
Gregory Szorc
b6d33a9036 Bug 911375 - Part 1: Add support for optional existing files; r=glandium 2013-09-03 22:16:47 -07:00
Gregory Szorc
4efb9ddb44 Bug 890097 - Part 2: InstallManifest class for managing file installs; r=glandium 2013-07-23 14:36:40 -07:00
Gregory Szorc
85cee7ad07 Bug 845050 - FileCopier support for symlinks; r=glandium 2013-07-17 11:44:33 -07:00
Gregory Szorc
4ab8c3f766 Bug 884587 - Part 0: Teach FileCopier how to remove unwritable files on Windows; r=glandium 2013-06-28 14:46:56 -07:00
Mike Hommey
2a64cdfa4a Bug 836218 - Always copy files instead of skipping when destination is newer when doing l10n-repacks. r=ted 2013-02-03 07:20:24 +01:00
Mike Hommey
0db6eb8e66 Bug 835309 - Look at .xpi file contents when unifying them for universal builds. r=gps 2013-02-03 07:19:15 +01:00
Mike Hommey
8d6a15b2f6 Bug 780561 - Unit tests for the new packager code. r=ted,r=gps 2013-01-23 11:23:14 +01:00