Commit Graph

3363 Commits

Author SHA1 Message Date
Steve Armand
d11ffd18db Bug 1399989 - Add python/mach to flake8 linter. r=gps
MozReview-Commit-ID: KKnBgYFwpfT

--HG--
extra : rebase_source : 4e4b3453a91970366dba0073853ad3ab62738c81
2017-09-17 22:41:17 -04:00
Andrew Halberstadt
dae5d6aae4 Bug 1399522 - [mozlint] Properly handle directories in LineLinters, r=bc
Currently line linters (linters that open a file and process it line by line,
by applying a regex for example), don't handle directories. If a directory is
passed in, it will try to 'open' it, which fails. Directories can get hit  if
the linter has a directory in its include directive or if the user passes in
--no-filter.

This patch modifies LineLinters so that if a directory is detected, we search
for all relevant files under that directory. If 'extensions' is used, we'll
look for only files with appropriate extensions. Otherwise we assume the
linter wants every file.

MozReview-Commit-ID: D9lzTNuQTob

--HG--
extra : rebase_source : 0b952c06eae28b67b687813ff7e75b231b2dd4d3
2017-09-13 12:03:18 -04:00
SingingTree
51faf6041e Bug 1385241 - Remove mozilla-build specific rust install. r=ted.mielczarek
The MozillaBuildBootstrapper specific rust install code in not needed as
mozbase already includes genertic code to achieve the same outcome. The
mozilla-build specific code also leads to issues where it tries to add already
existing targets and fails the bootstrap. This changeset removes the
mozilla-build specific step.

MozReview-Commit-ID: G0BqKZrF40A

--HG--
extra : rebase_source : 60e9638afff744c937a9665d6fd5830187835ea4
2017-09-07 17:37:53 +12:00
Botond Ballo
c080667b4c Bug 1398966 - Suggest checking JAVA_HOME if javac is out of date. r=nalexander
MozReview-Commit-ID: FJDrLsTxwIr

--HG--
extra : rebase_source : 758b365905202ece86154e52bf88e6096a11b817
2017-09-11 19:06:26 -04:00
Sebastian Hengst
be553422dd merge mozilla-central to autoland. r=merge a=merge 2017-09-13 11:30:55 +02:00
Andi-Bogdan Postelnicu
472220c52c Bug 1379961 - Add platform and architecture name to MozbuildObject. r=gps
MozReview-Commit-ID: 7F0oFEkTAsk

--HG--
extra : rebase_source : f315397b6038bb6638fe999cea3cc514ba396011
2017-09-05 16:10:09 +03:00
Kris Maglione
6cc95e10e7 Bug 1371065: Follow-up: Fix emitter sandbox validation bustage. r=me CLOSED TREE
MozReview-Commit-ID: 8XK9HuAgtD0

--HG--
extra : rebase_source : 460979f308b2d0b9260b35252e5c53b4ab4e9c6e
extra : amend_source : c01320b0a4f66614cdc9cb8a0fdbe2c19a03af8a
2017-09-12 12:42:11 -07:00
Kris Maglione
e99cced382 Bug 1371065: Part 1 - Remove external references to the add-on SDK. r=Mossop,glandium
MozReview-Commit-ID: D5KyHcg8Ujk

--HG--
extra : rebase_source : 1a74ccb2963f2946a49c8bf720af595151b48fd1
2017-09-12 11:54:47 -07:00
Chris Manchester
d67d2cfd4e Bug 1386876 - Do not provide initial values for COMPILE_FLAGS when invoking within a template. r=glandium
MozReview-Commit-ID: 9JNEThJvva6

--HG--
extra : rebase_source : 9f3d8f9fe58f0d091cfc5d85d4bdc04f6c8c9c98
2017-09-11 11:37:13 -07:00
Chris Manchester
fab07bc443 Bug 1386876 - Replace all uses of NO_VISIBILITY_FLAGS with a template and remove NO_VISIBILITY_FLAGS. r=glandium
MozReview-Commit-ID: 194U1WMCAM0

--HG--
extra : rebase_source : 365b68b0a1772d238ae9b84966e53dcd1197fd85
2017-05-01 18:12:35 -07:00
Chris Manchester
14beabf47f Bug 1386876 - Allow dictionary variables to be passed to gyp_dir_attrs. r=glandium
MozReview-Commit-ID: HTfZLqM9Mdd

--HG--
extra : rebase_source : da024ef5ffc1505c201a1fc5871f9b335a84ea34
2017-09-11 11:36:46 -07:00
Chris Manchester
26d4e4810c Bug 1386876 - Move visibility flag handling to computed compile flags with templates. r=glandium
MozReview-Commit-ID: 9hwiCQv8WKU

--HG--
extra : rebase_source : cc7593fd06949a432dd056194ff19c1ac0daf4e4
2017-09-11 11:36:31 -07:00
Chris Manchester
c0a229d4c3 Bug 1386876 - Replace all uses of DISABLE_STL_WRAPPING with a template, remove DISABLE_STL_WRAPPING. r=glandium
MozReview-Commit-ID: FMEtb5PY7iP

--HG--
extra : rebase_source : 3cdee7528846462c758e623d6bcd2e6e17dbabff
2017-09-11 11:33:26 -07:00
Chris Manchester
e059037e2b Bug 1386876 - Add classes to handle compile flags computed by moz.build with templates, convert 'DISABLE_STL_WRAPPING' to use them. r=glandium
MozReview-Commit-ID: 3PYOtX4E8OC

--HG--
extra : rebase_source : 162999582bc2ef078680ce6feae628d5b1f4e857
2017-04-28 16:35:19 -07:00
Zibi Braniecki
38db965423 Bug 1395457 - De-hardcode product name when producing webext-langpack. r=kmag
MozReview-Commit-ID: D6TbDR7dkY6

--HG--
extra : rebase_source : 9e3d1bd23624fcc5b724ad24698779a7a90cb8c7
2017-09-07 13:16:20 -07:00
Steve Armand
08d5fcd935 Bug 1397423 - Enable py2 linter on python/mozlint. r=ahal
MozReview-Commit-ID: 6QX7YCmfjdJ

--HG--
extra : rebase_source : 0610d67f376c462b0f103a6510f21459fc39f940
2017-09-06 22:52:46 -04:00
Gregory Szorc
069ee9c5d6 Bug 1397406 - Add a helper function to retrieve a BuildReader; r=dustin
The code for obtaining a BuildReader for evaluating moz.build files
is generic and non-trivial. We already had a custom implementation
for `mach file-info` that implemented support for Mercurial
integration. Bug 1383880 will introduce a second consumer.

So this commit factors out the "obtain a BuildReader" logic into
a reusable function on our base MozbuildObject class. This makes
it easily available to various parts of the build system and mach
commands.

As part of the change, we detect when ``.`` is being used as the
revision and verify the working directory is clean. This behavior
can be disabled via argument if unwanted. But it's useful by default
to ensure consumers aren't expecting to read uncommitted changes.

MozReview-Commit-ID: LeYFqAb3HAe

--HG--
extra : rebase_source : d5ed4e4f5570a58a68853188de2225cd4e64ab3a
2017-09-06 12:18:51 -07:00
Gregory Szorc
2cf6305161 Bug 1397406 - Add Repository method to determine if working directory clean; r=dustin
This is generally useful functionality to have. A consume will be
introduced in an upcoming commit.

MozReview-Commit-ID: 4arTMfJSiEC

--HG--
extra : rebase_source : 4bcf70f58b57b79b8dcb7a6eed633e1c7e42aca3
2017-09-06 12:15:12 -07:00
Gregory Szorc
4241161848 Bug 1397406 - Don't mark finder as a protected attribute; r=dustin
It seems reasonable to expose this outside of the BuildReader.

MozReview-Commit-ID: 4paDbYl9dEd

--HG--
extra : rebase_source : 86bb559500952a40fc9afbf958be5706dd9f858e
2017-09-06 12:13:38 -07:00
Mike Conley
c2e06b25fc Bug 1397279 - Have mach bootstrap install rustup 1.6.0. r=froydnj
MozReview-Commit-ID: LeabPgl8TTZ

--HG--
extra : rebase_source : e800ea1263bf371431a64eccf1b60b90cbdfe1d8
2017-09-06 09:59:45 -04:00
Nick Fitzgerald
0144e10df3 Bug 1277338 - Part 12: Make js/rust a top level crate instead of js/src; r=froydnj
The `js` crate at `js/rust` depends on the `mozjs_sys` crate at `js/src`, so it
makes sense to make it the top level crate.
2017-09-05 09:26:22 -07:00
Gabriele Svelto
80ff657d2a Bug 1398935 - Make |mach bootstrap| support 'mobile/android' builds on Gentoo; r=froydnj
This also passes the '--noreplace' option to all the emerge invocations thus
preventing already installed packages from being rebuilt from scratch.

MozReview-Commit-ID: 4JBuptmgS3Y

--HG--
extra : rebase_source : e581607d4a2e997e7d79c7c4496d13b8e9b10e50
2017-09-11 23:42:53 +02:00
Zibi Braniecki
956980a762 Bug 1396334 - Add sources list to manifest.json. r=kmag
MozReview-Commit-ID: 4kIowQG2HxR

--HG--
extra : rebase_source : 9a4205c533daf8703755b3bfa4d0930d0cfb2a50
2017-09-02 18:18:17 -07:00
Zibi Braniecki
55a7b70e19 Bug 1395456 - Use MOZ_APP_MAXVERSION for strict_max_version in langpack manifest. r=Pike
MozReview-Commit-ID: 63BQQt4U8if

--HG--
extra : rebase_source : faf796d214298fa50e0d73a82a7b1a4d0e91de30
2017-08-31 11:54:26 -07:00
Jim Chen
c3c2bfc408 Bug 1378410 - 2a. Expose set to moz.build sandbox; r=gps
To construct an empty set, we need to use the `set()` notation. In order
to do that, we need to expose `set` to the moz.build sandbox.

MozReview-Commit-ID: DMyKnF0FEx2

--HG--
extra : rebase_source : 5cfe8080ec333a1eca70cd3edba2aaaff6406820
2017-09-01 14:02:30 -04:00
Gregory Szorc
0b25d43eaf Bug 1393242 - Use hglib for get_files_in_working_directory(); r=mshal
And convert consumers to context managers because hglib requires that.

MozReview-Commit-ID: Ckf1yBYeUlm

--HG--
extra : rebase_source : 985220032bced1a7077fd9b04ca8ad6de822c887
2017-08-23 15:21:16 -07:00
Gregory Szorc
8634ccb29c Bug 1393242 - Hook up hglib to HgRepository; r=mshal
Because hglib spawns a persistent process, we introduce a context
manager for Repository. It no-ops by default. On HgRepository it
controls the lifetime of the persistent hg process.

A helper method for running an hg command via hglib has been added.
We can't transition existing methods to hglib because hglib
requires a context manager, which no consumer is using yet.

MozReview-Commit-ID: 8z0fcGFeAm5

--HG--
extra : rebase_source : 1cbfe44a5aafe838c25bcde91cc1deaf5e7367de
2017-08-23 15:09:27 -07:00
Gregory Szorc
b2e9cd1780 Bug 1393242 - Normalize paths in MercurialRevisionFinder; r=mshal
This ensures we use forward slashes, even if Mercurial emits
backslashes (which it can do on Windows).

MozReview-Commit-ID: 2dnWAEvytwn

--HG--
extra : rebase_source : 9ebb454bc9ad11b3eba334e412685e529573a0a1
2017-08-31 10:39:28 -07:00
Gregory Szorc
8a82cba53d Bug 1393242 - Make hglib tests more resilient; r=mshal
These tests weren't running in automation because hglib wasn't
available. An upcoming commit will vendor hglib. This exposed that the
tests can fail if ui.username isn't set.

In this commit, we introduce a helper function to obtain an hglib
client with ui.username set. We also convert tests to use the context
manager form of the client so resources are cleaned up immediately
without relying on refcounting or garbage collection.

MozReview-Commit-ID: HRSBDlYgqpC

--HG--
extra : rebase_source : 83deb56a0c2efefa883d6df104cd67194a811907
2017-08-30 10:42:35 -07:00
Gregory Szorc
7b34d836e2 Bug 1393242 - Return a Repository using configure preferences; r=mshal
If configure has defined VCS binaries, we should use those.

MozReview-Commit-ID: DVnsSaJC8eN

--HG--
extra : rebase_source : 6a940b6b4f7986eece350ab692242701dfbf41dd
2017-08-23 15:04:46 -07:00
Gregory Szorc
0b2782154b Bug 1393242 - Helper function to obtain a repository from a build config; r=mshal
Some callers already have a build config object. Let's not
make them call a function that imports buildconfig.

MozReview-Commit-ID: J22HhyVma9y

--HG--
extra : rebase_source : fe5151925aee76508d26a9368e7a2ebec7e23ddb
2017-08-23 15:03:36 -07:00
Ryan VanderMeulen
1a86da24ad Backed out 9 changesets (bug 1383880) for decision task bustage.
Backed out changeset 53f5d47a7cb0 (bug 1383880)
Backed out changeset a0abda41172a (bug 1383880)
Backed out changeset 729a7e2091e8 (bug 1383880)
Backed out changeset a33f5a14a471 (bug 1383880)
Backed out changeset 5b10d321cfee (bug 1383880)
Backed out changeset 8056488d8aed (bug 1383880)
Backed out changeset e62c90e3c1e8 (bug 1383880)
Backed out changeset 91f116ce6c2a (bug 1383880)
Backed out changeset 045498bc36c4 (bug 1383880)
2017-09-01 15:37:08 -04:00
Dustin J. Mitchell
f8047e8cfa Bug 1383880: add support for SCHEDULES in moz.build; r=gps
MozReview-Commit-ID: 2pfLr0VTy2J

--HG--
extra : rebase_source : 58613f9b929a736034389b27a49d353deebb4bb3
2017-07-31 20:44:56 +00:00
Sebastian Hengst
43bc951ac7 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: ES9rKhiQo10
2017-09-01 10:38:51 +02:00
Henri Kemppainen
9edda378b4 Bug 1395768 - Use absolute path to mach. r=gps 2017-09-01 03:15:45 +03:00
Andrew Halberstadt
2255a9eed7 Bug 1395126 - Support cascading configuration for flake8, r=bc
This allows .flake8 files to override one another, and fixes a pretty bad known
bug with our flake8 implementation. For example, say we have a .flake8 file at:
/foo/.flake8

Before this patch, if we ran |mach lint foo/bar|, the configuration defined in
that .flake8 file wouldn't get picked up. It would only work if running the
specific directory that contains it, e.g |mach lint foo|.

This change additionally allows multiple .flake8 files to be used. So if
there's one defined at both:
/.flake8
/foo/.flake8

Then running |mach lint foo/bar| will first apply the root .flake8, then the
one under /foo (overriding earlier configuration).

This bug still doesn't make flake8 configuration perfect though. Any directory
containing a .flake8 file still needs to be explicitly listed in the "include"
section of /tools/lint/flake8.yml. Otherwise in the example above, if running
|mach lint /|, it wouldn't be able to find /foo/.flake8. This is a hard problem
and is likely best solved by fixing flake8's upstream configuration handling.

Unfortunately this means we still can't switch from a whitelist to a blacklist.

MozReview-Commit-ID: 3DZAi1QHYYo

--HG--
extra : rebase_source : 51298c5847f6c2792581d9b312c87b70fa716ee1
2017-08-29 17:32:31 -04:00
Zibi Braniecki
c59ba12105 Bug 1393147 - Update the new langpack-webext manifest scheme. r=kmag
MozReview-Commit-ID: 80g61YvsiSk

--HG--
extra : rebase_source : f4ca6f61d31db8eb442b586c7e511dff4b616eae
2017-08-28 10:42:31 -07:00
Mike Shal
f1348beac8 Bug 1394576 - Fix install manifests tracking with broken symlinks; r=gps
The install manifest with the .track files uses os.path.exists() to
determine if a previously tracked file is no longer installed and needs
to be removed from the system. However, exists() returns False for
broken symlinks, so as far as the manifest is concerned, there is no
file in the filesystem that needs to be removed. We should use lexists()
so we know that the broken symlink still exists in the system so
that it can be removed when the install manifest is processed.

MozReview-Commit-ID: 6v7CYOKzjGs

--HG--
extra : rebase_source : 8aeeef59e644613f34c8458bd30a83d8299585ea
2017-08-28 22:12:04 -04:00
Sebastian Hengst
ca3d97b658 merge mozilla-central to autoland. r=merge a=merge 2017-08-29 20:31:58 +02:00
Sebastian Hengst
2a9cc8e3be merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: BQuBmVtsdki
2017-08-29 20:30:41 +02:00
hmk
31b4badfcf Bug 1394371 - Make it clear that the script proposes to clone mozilla-unified. r=gps 2017-08-28 18:02:45 +03:00
Johan Lorenzo
a716c447c0 Bug 1384482 - Rename android-api-15 into android-api-16 r=mtabara
MozReview-Commit-ID: 4j66pTZEJzq

--HG--
rename : mobile/android/config/mozconfigs/android-api-15-frontend/nightly => mobile/android/config/mozconfigs/android-api-16-frontend/nightly
rename : mobile/android/config/mozconfigs/android-api-15-gradle-dependencies/nightly => mobile/android/config/mozconfigs/android-api-16-gradle-dependencies/nightly
rename : mobile/android/config/mozconfigs/android-api-15-gradle/nightly => mobile/android/config/mozconfigs/android-api-16-gradle/nightly
rename : mobile/android/config/mozconfigs/android-api-15-gradle/nightly-artifact => mobile/android/config/mozconfigs/android-api-16-gradle/nightly-artifact
rename : mobile/android/config/mozconfigs/android-api-15/debug => mobile/android/config/mozconfigs/android-api-16/debug
rename : mobile/android/config/mozconfigs/android-api-15/debug-artifact => mobile/android/config/mozconfigs/android-api-16/debug-artifact
rename : mobile/android/config/mozconfigs/android-api-15/l10n-nightly => mobile/android/config/mozconfigs/android-api-16/l10n-nightly
rename : mobile/android/config/mozconfigs/android-api-15/nightly => mobile/android/config/mozconfigs/android-api-16/nightly
rename : mobile/android/config/mozconfigs/android-api-15/nightly-artifact => mobile/android/config/mozconfigs/android-api-16/nightly-artifact
rename : mobile/android/config/mozconfigs/android-api-15/nightly-old-id => mobile/android/config/mozconfigs/android-api-16/nightly-old-id
rename : testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15.py => testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16.py
rename : testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_artifact.py => testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_artifact.py
rename : testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_debug.py => testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_debug.py
rename : testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_debug_artifact.py => testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_debug_artifact.py
rename : testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle.py => testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_gradle.py
rename : testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle_artifact.py => testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_gradle_artifact.py
rename : testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle_dependencies.py => testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_gradle_dependencies.py
rename : testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_old_id.py => testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_old_id.py
rename : testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_partner_sample1.py => testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_partner_sample1.py
rename : testing/mozharness/configs/single_locale/ash_android-api-15.py => testing/mozharness/configs/single_locale/ash_android-api-16.py
rename : testing/mozharness/configs/single_locale/date_android-api-15.py => testing/mozharness/configs/single_locale/date_android-api-16.py
rename : testing/mozharness/configs/single_locale/jamun_android-api-15.py => testing/mozharness/configs/single_locale/jamun_android-api-16.py
rename : testing/mozharness/configs/single_locale/mozilla-aurora_android-api-15.py => testing/mozharness/configs/single_locale/mozilla-aurora_android-api-16.py
rename : testing/mozharness/configs/single_locale/mozilla-beta_android-api-15.py => testing/mozharness/configs/single_locale/mozilla-beta_android-api-16.py
rename : testing/mozharness/configs/single_locale/mozilla-central_android-api-15.py => testing/mozharness/configs/single_locale/mozilla-central_android-api-16.py
rename : testing/mozharness/configs/single_locale/mozilla-release_android-api-15.py => testing/mozharness/configs/single_locale/mozilla-release_android-api-16.py
rename : testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_15.py => testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_16.py
rename : testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_15.py => testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_16.py
rename : testing/mozharness/configs/single_locale/tc_android-api-15.py => testing/mozharness/configs/single_locale/tc_android-api-16.py
rename : testing/mozharness/configs/single_locale/try_android-api-15.py => testing/mozharness/configs/single_locale/try_android-api-16.py
extra : rebase_source : d24bd3b0298e4fc21e9e8029e5f69a65fd1012f9
2017-08-09 16:18:15 +02:00
Ted Mielczarek
afbf75cb40 bug 1371992 - make mozlint's LintRoller use concurrent.futures. r=ahal
There's a persistent test failure in automation that seems to have to do
with shutting down the `multiprocessing.Manager` that's used to get a
`Queue` to submit jobs to worker processes. After toying around with fixing
that I decided it would be simpler to just use concurrent.futures here,
since we already have it in-tree and it fits the use case here better
than using raw multiprocessing.

MozReview-Commit-ID: 8DdSvs2qp0q

--HG--
extra : rebase_source : 0b1cbb96bd3016778e4974a311722a8882f87216
2017-08-29 10:30:12 -04:00
Gregory Szorc
39eefe01b3 Bug 1394071 - Ignore moz.build files that should be ignored; r=mshal
Before, the "relevant" moz.build files were based strictly on filename.
In reality, there are some moz.build files that we wish to ignore.

The previous commit introduced a Finder that knows how to ignore
moz.build files that should be ignored. In this commit, we hook
it up to our low-level function for determining the set of relevant
moz.build files for a path.

The main benefit of this change is that paths in the moz.build
test directory no longer say test moz.build files are relevant.
Previously, we would return these test moz.build files. Some of
these are invalid and would cause execution to fail. So, commands
like `mach file-info` will no longer attempt to evaluate moz.build
files they weren't supposed to and will stop erroring.

Another benefit is that the function returns faster. When passing
in every file in the repo (>230,000 files), execution time dropped
from ~8.03s to ~6.16s. This is probably due to fewer path operations.

MozReview-Commit-ID: J2d25ZtxjFt

--HG--
extra : rebase_source : 26105de85c49e061a720b54019b4f16b6425748e
2017-08-25 19:17:35 -07:00
Gregory Szorc
b36a5bbd84 Bug 1394071 - Create a Finder for relevant moz.build files; r=mshal
Not every moz.build file in the repo is a normal moz.build file.
Some moz.build files are used for testing moz.build files. Others
may exist in directories that should be ignored.

all_mozbuild_path() already knew how to filter out moz.build files
that should be ignored. Let's extract the Finder for doing this
into an instance attribute so it can be used elsewhere.


MozReview-Commit-ID: 9PaZQAbjIZO

--HG--
extra : rebase_source : 5bfd27b5a9ab6b24b9e3aa3c8cc286d64c3ebd3c
2017-08-25 19:08:24 -07:00
Dustin J. Mitchell
53df6a181b Bug 1390968: python-3 compatibility for python/**/*.py; r=Alex_Gaynor,gps
This passes `python3 -mcompileall`.  Changes:

 * use `0o` prefix for octal literals
 * print as a function
 * except .. as
 * use six.reraise to replace a multi-argument raise statement
 * use six.string_types and six.moves.configparser
 * remove uses of `L` suffix for long integers

MozReview-Commit-ID: KLaYRNHGpay

--HG--
extra : rebase_source : 6ca1b5447cd28eff8d9f2805add6a0f07e8b4c63
2017-08-28 21:31:30 +00:00
Mike Hommey
45680ab0c7 Bug 1352595 - Add basic support for brotli compression to the packager. r=gps
Bug 1355661 added support for brotli streams in "jar" files handled by
Gecko, and bug 1355671 made us build the `bro` command line utility that
allows to compress and decompress brotli streams.

This change uses the `bro` command line utility in the packager so that
it can create and handle "jar" files using brotli streams.

However, the `bro` command line utility is not available to l10n
repacks. As, at the moment, we're only hoping that the outcome of using
brotli will be good, we avoid doing all the work to make those work and
just hook things enough to enable brotli, while ensuring l10n repacks
don't break. This involves forcing some files to be deflated, and to
disable some optimizations from the packager.

Things will need to be figured out more properly if the experiment
proves brotli to be worthwhile.

--HG--
extra : rebase_source : a2e0cff67dcaed465fd441ed5d2a7de94b6351c5
2017-08-18 05:37:18 +09:00
Chung-Sheng Fu
e5b80e9a8f Bug 863246 - Move resources that need to be exposed to web content to locations that are marked as contentaccessible r=billm
MozReview-Commit-ID: ArhSHKPYOr8

--HG--
extra : rebase_source : 888f7ce8f9db809ad5abbe6340af74e9dfb1d73b
2017-06-08 17:52:46 +08:00
Andrew Swan
1e8af6f7ac Bug 1393156 Legacy extension test loose ends r=kmag
Change webextensions experiments test to use the shimmed certficiate DB
instead of the extensions.legacy.enabled pref.
In builds that don't honor the extensions.legacy.enabled pref, disable
test_legacy.js since that tests that flipping that preference works properly.
Finally, remove a now doubly-obsolete test of plugins embedded in xpis.

MozReview-Commit-ID: JiRdgCXyjKR

--HG--
extra : rebase_source : f0c7672b0755993bd20f9fc84e242eb76cb949ef
2017-08-26 08:55:20 -07:00
Andrew Halberstadt
508e9aad6b Bug 1393590 - [mach] Use description field for settings instead of gettext locales, r=gps
This preserves ./mach settings' --list option. If --list is passed in, we call splitlines()
on the description and print only the first line. The full multi-line description will be
printed otherwise.

This also displays the type and/or choices of the option as appropriate.

MozReview-Commit-ID: 7UMsN9qslWt

--HG--
extra : rebase_source : 4bc9554d8652e02e290c6a190634f1a72cdbadc3
2017-08-24 16:17:40 -04:00
Ralph Giles
1b86417339 Bug 1380118 - aom: Record the upstream repo we vendored from. r=froydnj
We've been recording the commit id from the last vendor in
README_MOZILLA inside the various media directories. Since
we now support a --repo switch to pull from forks, record
this info as well, to make it easier to find contiguous
upstream source.

MozReview-Commit-ID: 1RanpkWfAeC

--HG--
extra : rebase_source : b6bd16b56626a871802822385be6f3a24db6cd50
2017-08-14 14:33:55 -07:00
Ralph Giles
46a952175a Bug 1380118 - aom: Support vendoring from github. r=froydnj,kinetik
Add a --repo switch to `mach vendor aom` to allow specifying
an alternate repository url.

Update our vendor script to support commit query and
snapshot download from github as well as upstream's
gitiles instance.

This lets us work with experimental branches for testing.

Also cleans up some naming and checks the passed url for
one of the two supported sites. We could fall back to
doing a complete clone and query the local repository,
but this covers most use cases.

--HG--
extra : rebase_source : 4ecc095db4539b86de4e82a853d5b28ac66c7f1d
2017-07-10 16:17:49 -07:00
Andrew Halberstadt
eca136fd91 Bug 1393826 - [python-test] Make sure pytest errors get flagged by treeherder, r=davehunt
This is a quick and dirty hack to get treeherder to show pytest failures. Long term, we might
want to investigate using something like pytest-mozlog. But the benefit of this approach is
we get to keep pytest's fantastic default log format.

MozReview-Commit-ID: Gcsz6z8MeOi

--HG--
extra : rebase_source : 00ee7973eadf86c081b548d5e79c48ca951e25a6
2017-08-25 12:03:23 -04:00
Gregory Szorc
276defc2a7 Bug 1393503 - Proper error handling for failure to find VCS tool; r=glandium,nalexander
``print()`` has no business being in library code like this. It was
a holdover from this code being copied from bootstrap. So remove it.

While we're here, replace the generic exception with a specific one.
We don't want to be swallowing bugs via ``except Exception``.

MozReview-Commit-ID: 49goUstfPBz

--HG--
extra : rebase_source : a821159bd12a449ed1a0edf21a1f9eb29711ad95
2017-08-24 17:09:09 -07:00
Zibi Braniecki
6a8bee55cc Bug 1377911 - Do not strip localized override entries when repackaging. r=glandium,Pike
MozReview-Commit-ID: vKPJcxzh4T

--HG--
extra : rebase_source : 8c062673bdb20f2886aee40d08d184917d025086
2017-08-24 18:08:26 -07:00
Sebastian Hengst
2e163c99b1 Backed out changeset 1bfbae351dd7 (bug 863246) 2017-08-25 16:43:44 +02:00
Chung-Sheng Fu
bb279d6d5e Bug 863246 - Move resources that need to be exposed to web content to locations that are marked as contentaccessible r=billm
MozReview-Commit-ID: ArhSHKPYOr8

--HG--
extra : rebase_source : b0cf8d159ba6bfa6e7bcd9528ae2f9851185ac30
2017-06-08 17:52:46 +08:00
Tom Prince
c29574c405 Bug 1390699 - Follow-up: Use find_executable() to locate echo. r=ahal
MozReview-Commit-ID: QY8dajeXs0
2017-08-17 00:19:12 -06:00
Jeff Gilbert
6d60656908 Bug 1392862 - Remove duplicate browser packages from mozboot/archlinux.py. - r=gps
--HG--
extra : rebase_source : 86d470ce1368610a3334950333b79b1b0c6ebc7d
2017-08-22 18:21:59 -07:00
Jeff Gilbert
1c9d9dd2fb Bug 1392862 - Update mozboot/archlinux.py: jdk7->8. - r=gps
--HG--
extra : rebase_source : 0c48c63be6f8e507c9d402fbb3308e91826a3913
2017-08-22 18:21:19 -07:00
Rok Garbas
f3a3affcf2 Bug 1284475 - migrate ToolTool blueprint to new codebase of relengapi r=KWierso
UPGRADE_NSS_RELEASE a=kaie
MozReview-Commit-ID: 7CB1VYb8OJP

--HG--
extra : rebase_source : 04751620add813cd1780898d109d9f7fa89d7b2d
2017-08-08 10:55:52 +02:00
Andrew Halberstadt
b8511feb50 Bug 1391675 - [mach] Allow commands to have both a parser and subcommands, r=gps
We currently raise if we detect a command has both the `parser` attribute and a subcommand
at the same time, but as far as I can tell, there's no good reason to do this. Handling a
parser + subcommands seems to work exactly how you would expect. Furthermore, it isn't an
error to have subcommands + @CommandArgument, so it doesn't make sense that we're allowing
one but not the other.

This change solves an (admittedly unique) use case I'm trying to build into |mach try|. There
are N subcommands that all support a --save and --load style argument. So, e.g, we might have:

./mach try syntax --save foo
./mach try fuzzy --save bar

The main command will have the ability to detect which subcommand a saved value was generated
from and automatically dispatch to it. So this will work:

./mach try --load foo  # dispatches to the syntax subcommand
./mach try --load bar  # dispatches to the fuzzy subcommand

In order to share the --save/--load arguments across the main command + subcommands, we need
to set the parser attribute.



MozReview-Commit-ID: KmXRj8TBvYK

--HG--
extra : rebase_source : cbf1e402a080913709a34430274ae3191821dd72
2017-08-17 11:10:48 -04:00
Gregory Szorc
3088419b32 Bug 1392886 - Explicit error type when a mach command file doesn't exist; r=mshal
This will facilitate handling this error condition specially.

Some unused imports were also removed.

MozReview-Commit-ID: 4zxVDgE7NxU

--HG--
extra : rebase_source : c4d0dd96629e028ce8a83215564a8d865e4b4b3d
2017-08-22 20:29:01 -07:00
Gregory Szorc
5ce1624c85 Bug 1392886 - Determine if sparse checkout is being used; r=mshal
The Repository interface gains a new method to determine if a sparse
checkout is present. Mercurial's implementation is somewhat crude,
but it should work (Mercurial's sparse support is still experimental
and I only intend to support sparse checkout in Firefox CI until it
is less experimental). Git's always returns False (for now).

To prove it works and to expose the information more widely, we hook
it up to moz.configure. We do this by first implementing a function
that returns a Repository instance. Then we simply call a function on
it to resolve the sparse checkout flag.

MozReview-Commit-ID: AlsT5LdSPdZ

--HG--
extra : rebase_source : f1e9aaa7d15f11c7c5e8d268d4ad82468732103b
2017-08-22 20:26:46 -07:00
Gregory Szorc
ad141eef1b Bug 1392886 - Expose repository type as an instance property; r=mshal
This will remove the need to sniff class types. The 1 in-tree
consumer doing this has been converted.

MozReview-Commit-ID: I8cUa8J54VE

--HG--
extra : rebase_source : 4c24adaf7eb9d62678ac78604e819a7376d4073b
2017-08-22 20:04:55 -07:00
Gregory Szorc
f9bdc9486a Bug 1392886 - Use abstract base class for Repository; r=mshal
This makes the interface more formalized.

MozReview-Commit-ID: JOjgJjR5MZk

--HG--
extra : rebase_source : 20d015dbd6861ea0738828cf6da89723e2afb4e8
2017-08-23 08:33:56 -07:00
Mike Shal
5b41b430f9 Bug 1390916 - Always use --track instead of --no-remove for install manifests; r=gps
The --track flag provides a more accurate accounting of what files were
installed by the manifest, so they can be appropriately removed. For
example, test files are now removed from _tests if an entry in a test
file is deleted.

The --no-remove flag is removed as an alternative, and the --track flag
is now mandatory.

MozReview-Commit-ID: Wiup4Gzwkb

--HG--
extra : rebase_source : 4a44c7fe066ba9b5f1e37ec682464f7f4f6cb2cf
2017-08-08 17:07:07 -04:00
Nicholas Hurley
d4f64ba24e Bug 1391467 - Remove --enable-necko-protocols. r=gps,valentin
This patch removes the ability to select which protocols you want
included in necko, a wholly untested configuration that is broken in
practice. We have no need of this kind of configurability in necko.

In addition, this removes the final vestiges of rtsp support, which was
originally removed in bug 1295885 but still had some stuff hanging
around behind some ifdefs (that were never true).

MozReview-Commit-ID: KOEaDmit2IL

--HG--
extra : rebase_source : f6c2fdb972aaba46e922cda801252dc953550b94
2017-08-17 17:30:57 -07:00
Mike Shal
a4e932605b Bug 1392304 - fix typo in mozversioncontrol for git; r=gps
MozReview-Commit-ID: 1r1Vl5WVhsd

--HG--
extra : rebase_source : 4d16b8133d11592911b5e8529e6a5259dce41f03
2017-08-18 21:06:08 -04:00
Andrew Halberstadt
f79b06a32a Bug 1339178 - Use pytest to run python-tests, r=davehunt
This switches most tests over to use pytest as the runner instead of unittest (taking
advantage of the fact that pytest can run unittest based tests).

There were a couple tests that had failures when swithing to pytest:
config/tests/unit-expandlibs.py
xpcom/idl-parser/xpidl/runtests.py

For these tests, I added a runwith='unittest' argument so that they still run the
same way as before. Once we fix them to use pytest, the unittest logic in mozunit.py
can be deleted.

MozReview-Commit-ID: Gcsz6z8MeOi

--HG--
extra : rebase_source : 3c762422ce0af54cbbe7d9fc20085a2d1ebe7057
2017-08-29 14:50:33 -04:00
Andrew Halberstadt
74afe80557 Bug 1339178 - Add python/mach_commands.py and config/mozunit.py to flake8 linter, r=davehunt
MozReview-Commit-ID: Gcsz6z8MeOi

--HG--
extra : rebase_source : 121c9007d336cecbd068075dc54d66cc06e8334e
2017-08-29 14:41:38 -04:00
Andrew Halberstadt
d3806e8077 Bug 1289444 - Forward extra arguments in |mach test| to the underlying test commands, r=chmanchester
MozReview-Commit-ID: 631K2n0wB1a

--HG--
extra : rebase_source : d5aa8c59e16e811915ff24100fd1fe7a49604304
2017-08-29 16:20:47 -04:00
Phil Ringnalda
9359f5bf39 Merge inbound to m-c, a=merge
MozReview-Commit-ID: LCCoXUsCtmv
2017-08-19 15:29:10 -07:00
Wes Kocher
bb19458d5f Merge m-c to inbound, a=merge
MozReview-Commit-ID: EgYue63nSkv
2017-08-18 16:29:11 -07:00
Wes Kocher
b1fc5e008c Merge inbound to central, a=merge
MozReview-Commit-ID: 4cWGBbMEU2x
2017-08-18 15:53:07 -07:00
Ted Mielczarek
c4f93428a7 bug 1259832 - add a post-build task to upload generated source files. r=dustin
This change adds an upload-generated-sources task kind that runs after nightly
builds, fetches their `target.generated-files.tar.gz` artifact, and uploads
all the contained files to an S3 bucket. For actual nightly and release builds
on SCM level 3 trees, the S3 bucket is configured to be publicly accessible,
so that tools like Socorro will be able to fetch generated source files that
appear in crash reports, and debuggers will be able to fetch generated sources
when they show up while debugging Nightly or Release builds.

There are also level-2 and level-1 S3 buckets configured for builds happening
on trees of other levels such as try. They are not configured as publicly
accessible, but they exist so that these tasks can be tested in try.

MozReview-Commit-ID: Js1HRftbtep

--HG--
extra : rebase_source : b1172c9cc8b8be437d3b94a6bf0ff6b2f7d3508b
extra : source : 73bf88110b3821d62a3d393e85b56896a12f2930
2017-08-09 14:32:05 -04:00
Wes Kocher
c043502159 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 7sFZmPUXSx6
2017-08-18 17:21:29 -07:00
Ted Mielczarek
8715819616 bug 1259832 - package generated sources and upload them along with other build artifacts. r=gps
This change makes us upload an `$(PKG_BASENAME).generated-files.tar.gz` archive
alongside other build artifacts which contains all the generated source files
from the build. A change after this will introduce an `upload-generated-sources`
task to take this artifact and upload the individual files to an S3 bucket.

This will be used to provide links to generated source files when they appear
in stack traces in crash reports.

MozReview-Commit-ID: 6yQAdlZ5q3O

--HG--
extra : rebase_source : d92fb17ae737d1360e9724997f6688e29bedef12
extra : source : 14d18d7cf454c4c3d0f6d49d1d01660e06e4be4b
2017-07-31 12:47:08 -04:00
Mike Hommey
73609ccb6b Bug 1385621 - Fix mach artifact toolchain handling of download exceptions after bug 1364650. r=gps
--HG--
extra : rebase_source : f96c73fd5d8dfb8cd059248dd1e831453546b613
2017-08-18 09:31:35 +09:00
Brian Murray
0ee2f3a4f5 Bug 1380195 Ensure xz settings are compatible with mozglue XZStream.cpp r=glandium,nalexander
Ensure stream only has a single LZMA block.
Ensure that dictionary size is always 8 MiB.

MozReview-Commit-ID: A0CV6M3LIf9

--HG--
extra : rebase_source : e5e35a33dd34a9eebae46f94c1c0fabf74038946
2017-07-11 17:20:39 -07:00
Mike Hommey
003f12df93 Bug 1391114 - Make mach artifact toolchain validate toolchain downloads. r=gps
Tooltool manifests contain digests that have been used to validate
tooltool downloads. Toolchain artifacts don't benefit from that, and as
a result, an incomplete download can be considered as finished, and
unpack fail after that, without retrying, even with --retry.

Fortunately, the chain of trust artifacts do contains digests for
taskcluster artifacts, as long as the jobs that created the artifacts
have chain of trust enabled.

As of now, the goal is not cryptographic validation of the download, but
to ensure that we got the complete file, and to trigger a new download
if we haven't.

--HG--
extra : rebase_source : cdf4b4ec0c99db1f671db799f3941804f2bcbaf9
2017-08-17 09:36:27 +09:00
Tooru Fujisawa
dbfd6caeb0 Bug 1390772 - Check the emptiness of the destination directory for clone. r=gps 2017-08-19 01:11:44 +09:00
Nathan Froyd
802e57346a Bug 1390524 - correctly pass extra_toolchain_flags only to target compiles; r=glandium
We define extra_toolchain_flags for passing extra flags to the target
compiler during configure.  But the way things are currently set up, we
pass those flags to the host compiler during configure as well.  This
behavior is incorrect, and we should only be passing the flags from
extra_toolchain_flags if we're compiling for the target.
2017-08-18 12:05:05 -04:00
Tom Prince
fdff416cd5 Bug 1390699 - Don't try to test mozlint's --edit if echo isn't available; r=ahal
MozReview-Commit-ID: IMS91WthZtq

--HG--
extra : rebase_source : 38e33b07fb7fdc4916fbb1469a22f19d871298aa
2017-08-15 16:45:00 -06:00
Wes Kocher
6fc856c286 Merge m-c to autoland, a=merge
MozReview-Commit-ID: DihMPQQtOlw
2017-08-15 23:17:09 -07:00
Aki Sasaki
9d3cf9697f bug 1383771 - back out d25db0546c92 (reland ffc2e43aa834). r=backout a=release
MozReview-Commit-ID: LlNo4Npariw

--HG--
extra : transplant_source : %86Z0%DF%CA%04%B6%AB%2B%0Dz%AF%D6%16%D2%ED%B6%A0%93%F6
2017-08-15 22:54:08 -07:00
Wes Kocher
5a4fb82b72 Merge autoland to central, a=merge
MozReview-Commit-ID: FOw9Q98gVXH
2017-08-15 18:51:25 -07:00
Aki Sasaki
03c0e3b9cb bug 1383771 - back out ffc2e43aa834 until we fix bug 1390552. r=backout a=release 2017-08-15 14:25:04 -07:00
Mike Hommey
740645e51a Bug 1390393 - Override tooltool files with toolchain artifacts when one is given to mach artifact toolchain. r=gps
When the tooltool manifest contains e.g. clang.tar.bz2 and it's also
provided by some toolchain job artifact, we still download both. In
fact, depending how things go, the tooltool one could take precedence.

In practice, this hasn't caused problems so far because we've removed
tooltool manifest items early on, and when we didn't, it was still the
same version as provided by toolchain jobs.

It is still necessary to fix for the future, though.

--HG--
extra : rebase_source : 1d187333ee6149f72e3f9ed91eb1a6a78ad9197f
2017-08-15 11:03:49 +09:00
Wes Kocher
3945278423 Merge m-c to autoland, a=merge
MozReview-Commit-ID: D96bIJACwZe
2017-08-15 19:16:12 -07:00
Gregory Szorc
075f82ba4d Bug 1389417 - Disable problematic extensions when running hg update; r=ted
We correctly worked around problems for `hg pull` but not for
`hg update`. Make the workaround consistent.

MozReview-Commit-ID: 7A4dgANO0ip

--HG--
extra : rebase_source : fd4b90200ab3ce07a3921a02ae28f5a7a0c3d83c
2017-08-11 09:18:04 -07:00
Wes Kocher
2458d6b297 Merge m-c to autoland, a=merge
MozReview-Commit-ID: KfZgcCxrZcg
2017-08-14 17:59:46 -07:00
Johan Lorenzo
d4bd2a28ea Bug 1383771 - Add widevine support to Nightly builds r=aki a=merge
Other related changes:
* Only target.{zip,tar.gz,tar.bz} get the widevine signature (not the various installers).
* Linux{32,64}-nightly are now repackaged. Their mar files are not signed during signed step anymore. It now happens after the repackage.
* As a consequence, funsize routes for linux are now set to repackage-signing (instead of signing)
* Signed upstream artifacts are now defined in a dedicated module (to avoid duplication)
* Platforms defined in beetmover_repackage now allow regex (to reduce duplication too)
* Mozharness configs: Delete unused (and misleading) `src_mozconfig` for windows. This value is actually not used when `run_configure` (in the same dict) is set to False.

MozReview-Commit-ID: COKqevW9Mzn

--HG--
extra : source : ffc2e43aa834e05f0d51d68dfb36317c1b408b08
2017-08-10 19:25:36 +02:00
Andrew Halberstadt
411adfbc83 Bug 1387555 - [mozlint] Make use of quickfix when using --edit with vim/nvim, r=dylan
MozReview-Commit-ID: BlJbWVv1CeO

--HG--
extra : rebase_source : 005f72d9f74ccd86ae73a298acde6b0b3fd6a550
2017-08-09 10:03:02 -04:00
Andrew Halberstadt
81abb80919 Bug 1387555 - [mozlint] After using --edit, run lint check again, r=dylan
MozReview-Commit-ID: BlJbWVv1CeO

--HG--
extra : rebase_source : 18720a32c8ea562af1602ce4c32e46173c0ca4fb
2017-08-09 10:02:23 -04:00
Gregory Szorc
80d6e033a7 Bug 1385381 - Detect and expose Python 3 to the build system; r=chmanchester
Various people want to start experimenting with Python 3 in the build
system and in related tools (like mach).

We want to make it easy to find and use an appropriate Python 3
binary.

This commit introduces a generic function for finding a Python 3
binary and resolving its version.

We use the new code in configure to set PYTHON3 and PYTHON3_VERSION
subst entries for later consultation.

We also expose a cached attribute on the base class used by many
mach and build system types to return a Python 3 executable's info.

By default, we only find Python 3.5+. From my experience, Python 3.5
was the first Python 3 where it was reasonable to write code that
supports both Python 2 and 3 (mainly due to the restoration of the
% operator on bytes types). We could probably support Python 3.4
in the build system. But for now I'd like to see if we can get
away with 3.5+.

MozReview-Commit-ID: BlwCJ3kkjY9

--HG--
extra : rebase_source : b00464972183ef1a97a0b5d888520be425717ae7
2017-07-27 21:19:25 -07:00
Chris Manchester
1ed11b889e Bug 1390239 - Accommodate any ordering of "last" revset in artifact builds. r=gps
A recent mercurial update changed the order of revisions returned by the
"last" revset. The expected revisions are still output, so the artifact
code is updated in this change to impose its own order based on the local
revision order to accommodate any output order.

MozReview-Commit-ID: 7Zka0kQtxJO

--HG--
extra : rebase_source : 415077a806053c0452e4f9dec997a0e40934e51d
2017-08-14 13:02:41 -07:00
Zibi Braniecki
aa1cdf93c2 Bug 1365440 - Generate langpacks as webextensions. r=mshal
Introduce a new make command to produce new type of language packs based
on web extensions.

MozReview-Commit-ID: EltYtzT7ZRR

--HG--
extra : rebase_source : 6477be07c747e90992f18d8c7bff93fd48965200
2017-05-30 11:33:59 +02:00
Matt Brubeck
503070ad8d Bug 1386371 - Disable LTO by default, but enable in automation. r=froydnj
MozReview-Commit-ID: 2DIY9ex3Mch

--HG--
extra : rebase_source : 61f2f073adabfa7c46c324470a308adab23e7781
2017-08-10 11:38:10 -07:00
Andrew Halberstadt
10f8b7e161 Bug 1379151 - Add --fix and --edit to mozlint, r=standard8
While --fix previously worked with eslint, it is now more official (will show
up in the |mach lint --help|).  ESlint is still the only thing that implements
it, but we can implement it for flake8 using the `autopep8` module.

--edit is a new concept that will open an editor for each failing file to let
you fix the errors manually.  For now it is very naive (just opens the file),
and is only really useful if you have an editor integration for the linter(s).
But in the future I'd like to have editor-specific implementations for this.
For example, with vim, we can use -q to pass in an error file that will start
the editor pre-populated with a list of all errors that can then be easily
jumped to. Other editors may just open up to the line containing the error.

--fix and --edit can be used in conjunction with one another. Doing that means
only errors that can't be fixed automatically will show up in your editor.


MozReview-Commit-ID: 5JJJhMIrMIB

--HG--
extra : rebase_source : 2f78a77a91133d7fcc5620ecd5caa500decbce1b
2017-08-10 09:21:17 -04:00
Sebastian Hengst
aedd2b0e08 Backed out changeset d24be9fbef98 (bug 1379151) for breaking Windows builds. r=backout on a CLOSED TREE 2017-08-10 16:55:11 +02:00
Andrew Halberstadt
eb06963c9e Bug 1379151 - Add --fix and --edit to mozlint, r=standard8
While --fix previously worked with eslint, it is now more official (will show
up in the |mach lint --help|).  ESlint is still the only thing that implements
it, but we can implement it for flake8 using the `autopep8` module.

--edit is a new concept that will open an editor for each failing file to let
you fix the errors manually.  For now it is very naive (just opens the file),
and is only really useful if you have an editor integration for the linter(s).
But in the future I'd like to have editor-specific implementations for this.
For example, with vim, we can use -q to pass in an error file that will start
the editor pre-populated with a list of all errors that can then be easily
jumped to. Other editors may just open up to the line containing the error.

--fix and --edit can be used in conjunction with one another. Doing that means
only errors that can't be fixed automatically will show up in your editor.


MozReview-Commit-ID: 5JJJhMIrMIB

--HG--
extra : rebase_source : 889c825dcde5e950e35bc64539b299988f82ac68
2017-08-10 09:21:17 -04:00
Justin Wood
f66ff278ca Bug 1387862 - Lint python/mozlint yaml files. r=ahal
We should have CI Lint YAML files in the tree.

MozReview-Commit-ID: IMOKGhxKFJW

--HG--
extra : rebase_source : 8c695dcb3a81b6683bc76ba663feeacb3126691e
2017-08-06 13:43:04 -04:00
Sebastian Hengst
ca07202265 Backed out changeset 103073e92350 (bug 1387862) 2017-08-10 14:29:48 +02:00
Justin Wood
582030b224 Bug 1387862 - Lint python/mozlint yaml files. r=ahal
We should have CI Lint YAML files in the tree.

MozReview-Commit-ID: IMOKGhxKFJW

--HG--
extra : rebase_source : a2e47f5c5517e999fe21bac4f86491611bd0cece
2017-08-06 13:43:04 -04:00
Ryan VanderMeulen
24396489e3 Backed out 7 changesets (bug 1387862) for yaml linting failures.
Backed out changeset 63f87f6db7d6 (bug 1387862)
Backed out changeset a85b7e7d9f24 (bug 1387862)
Backed out changeset 3713ea9672e8 (bug 1387862)
Backed out changeset 22c1094e387f (bug 1387862)
Backed out changeset e0bfb35b0eec (bug 1387862)
Backed out changeset 5bb5dc7655ec (bug 1387862)
Backed out changeset cc4c01794114 (bug 1387862)
2017-08-09 21:31:30 -04:00
Justin Wood
906fda8397 Bug 1387862 - Lint python/mozlint yaml files. r=ahal
We should have CI Lint YAML files in the tree.

MozReview-Commit-ID: IMOKGhxKFJW

--HG--
extra : rebase_source : 0ef71f24141a531833d48f2a305183dd808f00f5
2017-08-06 13:43:04 -04:00
Zibi Braniecki
0c7d3529d7 Bug 1333980 - Introduce L10nRegistry.jsm. r=mossop
This patch introduces a new registry for localization resources to replace
ChromeRegistry. It uses asynchronous I/O and iterators to generate
permutations of possible sources of language resources for use in the new
Localization API.

In the initial form the API handles packages resources and has API for
interacting with the AddonsManager which will report language packs.

MozReview-Commit-ID: LfERDYMROh

--HG--
extra : rebase_source : 68a664c2c59a82b4dfcae66542c315a00ddae565
2017-06-02 10:36:08 +02:00
Jonas Finnemann Jensen
25d89ec12e Bug 1387307 - Add FailedCommandError to mach r=gps
MozReview-Commit-ID: 8brtYHruEi4
***
Fix ups mach error

MozReview-Commit-ID: 5mqQNqZqLzc

--HG--
extra : rebase_source : 4fb587e8eb9441f2857c8960c8f6b9ce841c6e55
2017-08-08 12:10:10 -07:00
Wes Kocher
223f322400 Merge m-c to autoland a=merge
MozReview-Commit-ID: 2qLtb79Nlhs
2017-08-08 15:26:30 -07:00
Wes Kocher
a27358fe6a Backed out changeset 3cb5dfb73fa3 (bug 1333980) for browser_all_files_referenced.js failures a=backout
MozReview-Commit-ID: 8dZ1lcv6p9V
2017-08-08 13:52:23 -07:00
Dyex
db4f4de93a Bug 1369710 - [mozlint] Ensure that a valid path is entered. r=ahal
MozReview-Commit-ID: 6HOE9hmOkCx

--HG--
extra : rebase_source : 584a4391b832e794dc084254e9203b3a65c89419
2017-08-08 19:20:31 +05:30
Carsten "Tomcat" Book
0f16d437cc merge mozilla-inbound to mozilla-central a=merge 2017-08-08 13:18:14 +02:00
Zibi Braniecki
c41553945d Bug 1333980 - Introduce L10nRegistry.jsm. r=mossop
This patch introduces a new registry for localization resources to replace
ChromeRegistry. It uses asynchronous I/O and iterators to generate
permutations of possible sources of language resources for use in the new
Localization API.

In the initial form the API handles packages resources and has API for
interacting with the AddonsManager which will report language packs.

MozReview-Commit-ID: LfERDYMROh

--HG--
extra : rebase_source : a6e5b790142e5afb1ce750478190e5ad87012f8d
2017-06-02 10:36:08 +02:00
Justin Wood
4a6556fa3c Bug 1387830 - Make ./mach lint able to output available linters. r=ahal
MozReview-Commit-ID: 2hRtfzohwTR

--HG--
extra : rebase_source : 18275b1015f19b98461ebb849555a02fed335462
2017-08-06 09:41:05 -04:00
Kartikaya Gupta
8b8a999a38 Bug 1388423 - Get full rust backtraces everywhere. r=jmaher
MozReview-Commit-ID: 2Mfrpupz7As

--HG--
extra : rebase_source : 9b612430360fe46162f433f13667664188ceac55
2017-08-08 12:34:55 -04:00
Wes Kocher
0854f5772d Backed out changeset 393b0727cba4 (bug 1387830) for flake8 failures a=backout
MozReview-Commit-ID: IOTenjMeVmt
2017-08-08 09:19:39 -07:00
Justin Wood
5381aa19f5 Bug 1387830 - Make ./mach lint able to output available linters. r=ahal
MozReview-Commit-ID: 2hRtfzohwTR

--HG--
extra : rebase_source : 7658b23e5456377bca9d20b5be93b40ca3c65ecc
2017-08-06 09:41:05 -04:00
Andrew Halberstadt
efd355d4d2 Bug 1306122 - [mozlint] Create a compact formatter that mimics the eslint 'compact' format, r=armenzg
MozReview-Commit-ID: 5JJJhMIrMIB

--HG--
extra : rebase_source : 2c8388e20005f7cc67c31fd631e96def452e5416
2017-08-04 10:53:43 -04:00
Bill Gianopoulos
0c72dc997b Bug 1278341 - Move choices closer to prompt in mach bootstrap. r=nalexander 2017-08-06 08:15:50 -04:00
Carsten "Tomcat" Book
546b19363f Backed out changeset 514cf1f55c6f (bug 1380639) 2017-08-07 13:23:35 +02:00
Masatoshi Kimura
8b713b2b0f Bug 1375125 - Stop using nsILocalFile in the tree. r=froydnj
This mechanically replaces nsILocalFile with nsIFile in
*.js, *.jsm, *.sjs, *.html, *.xul, *.xml, and *.py.

MozReview-Commit-ID: 4ecl3RZhOwC

--HG--
extra : rebase_source : 412880ea27766118c38498d021331a3df6bccc70
2017-08-04 17:49:22 +09:00
Jared Wein
b3ac3a75e8 Bug 1388100 - Log filenames of else mismatches in the preprocessor. r=gps
MozReview-Commit-ID: H7yiwtwv0qI

--HG--
extra : rebase_source : c4d5bbdea4a5fa2ddbdfda29b131ed05618ec379
2017-08-07 13:00:21 -04:00
Sebastian Kaspari
b05b8a9729 Bug 1380639 - Add contraint-layout and constraint-layer-solver dependencies. r=mcomella
MozReview-Commit-ID: AbZLlwdDHRV

--HG--
extra : rebase_source : d4538afeca26349512f8453db4782be2bce28ee0
2017-07-25 10:12:38 +02:00
Wes Kocher
db7d003ae0 Merge m-c to autoland a=merge CLOSED TREE
MozReview-Commit-ID: Ko3lhAvzMJN
2017-08-03 18:22:09 -07:00
Marco Castelluccio
c4a3a89783 Bug 1386997 - Log both URL and source file when we can't find a mapped file. r=chmanchester
--HG--
extra : rebase_source : 7bad85c2aaebea9916ca0670bea53d6fb864bff8
2017-08-03 11:44:14 +02:00
Wes Kocher
851b59bdbe Merge m-c to inbound a=merge
MozReview-Commit-ID: 1p4eNdfSz9p
2017-08-02 17:46:32 -07:00
Marco Castelluccio
d5ac42f969 Bug 1381972 - Only fully parse records belonging to preprocessed files, as we only need to rewrite those. r=chmanchester
--HG--
extra : rebase_source : d9f03e90c8aa6a44f282c04a192447b6a3f76a28
2017-08-03 00:02:14 +02:00
Mike Hommey
5d7fc58c7b Bug 1386149 - Add mach artifact toolchain support for toolchain aliases. r=gps
--HG--
extra : rebase_source : 0f0f2a2fc15f01a7a08b79225c614dd7586037b9
2017-08-01 14:58:14 +09:00
Robert Strong
8644543020 Bug 1385780 - Update mar file generation scripts for lzma. r=bhearsum, r=rail, a=app_update_lzma
Update scripts to support both lzma and bzip2
Update unused python script to support lzma. This also adds python 3.0 support to the script while still supporting pythin 2.7
Update test scripts to support lzma
2017-07-31 10:34:22 -07:00
Gregory Szorc
5dd371e131 Bug 1376306 - Update tests to reflect new Java version requirement; r=me
f497b6194e9f bumped the minimum Java version requirement in configure
from 1.7 to 1.8. It forgot to update tests that were pinning the
Java version at 1.7. The tests then failed.

We bump the versions in tests to restore order.

CLOSED TREE

MozReview-Commit-ID: 1zm5L1QQy7a

--HG--
extra : rebase_source : 8868224b5a1a8ffbb633b638df9485760f84fd8a
extra : amend_source : 3faa435ab5478c62aefb3dc18de19256ce0d906e
2017-07-28 17:40:00 -07:00
Nick Alexander
82017ffc19 Bug 1384241 - Add |mach watch|: pywatchman based incremental |mach build faster| shell. r=gps
There's a natural follow-on that I haven't time to explore right now:
I want the faster make backend to also write a "unified chrome
manifest" that maps outputs
(browser/chrome/browser/content/browser/ext-utils.js) to chrome:// or
resource:// URLs (chrome://content/browser/ext-utils.js or similar).

MozReview-Commit-ID: LDQmm8KD57I

--HG--
extra : rebase_source : 13dbeac2fbfa78741be3718fd5305a8ae0d698a8
extra : source : 2af5df7741147769a51da78770c308b370a0cded
2017-07-26 20:34:09 -07:00
Nick Alexander
e2b0d989a6 Bug 1384241 - Pre: Extract acdefines() helper function. r=gps
MozReview-Commit-ID: 6TstvuluvH3

--HG--
extra : rebase_source : de26dd98836ec49d0abc93052e84b6a90b3e248f
2017-07-26 19:31:18 -07:00
Brian Grinstead
b151605206 Bug 1172574 - Prevent the default browser check and the about:config warning by default for the scratch_user;r=mossop
MozReview-Commit-ID: KNQyCrZo41O

--HG--
extra : rebase_source : e38e9807c83b285f123e37db7e7e0e7edd8669e8
2017-07-28 15:38:30 -07:00
Brian Grinstead
d22141a17f Bug 1172574 - Allow for setting prefs in mach run for scratch_user;r=gps
Prefs can be set with `./mach run --setpref foo=bar` or in the ~/.mozbuild/machrc file as:

  [runprefs]
  foo=bar

MozReview-Commit-ID: HO3tdFi9ffi

--HG--
extra : rebase_source : 3c2e6f33567448c19defafb656e6cb9f3a729391
2017-07-28 15:38:22 -07:00
Chris Manchester
9fbb588739 Bug 1385391 - Update artifact names for artifact builds to reflect Taskcluster package names on windows. r=nalexander
MozReview-Commit-ID: kC09UUfAsN

--HG--
extra : rebase_source : 0c3eeb1251f7ede7689a140551b09964ec6b80e3
2017-07-28 18:47:23 -07:00
Nick Alexander
883d82aa7d Bug 1255227 - Pre: Use {0} for Python 2.6. r=sebastian
Per https://stackoverflow.com/a/5447119, Python 2.6 doesn't support
anonymous fields (like {}).  This patch uses {0} instead.

MozReview-Commit-ID: 1VgppEkFn0W

--HG--
extra : rebase_source : 80cc860338132c28a22ca0a6c405484feec91136
2017-07-25 14:46:53 -07:00
Swapnesh Kumar Sahoo
363572e058 Bug 1347582 - Use File object to obtain normalized file mode; r=dustin,gps
MozReview-Commit-ID: HeDq4EwAfVS

--HG--
extra : rebase_source : 5336af2c0868bf2d74e890612e349a55ca846b0b
2017-07-26 11:51:37 +05:30
Ted Mielczarek
8bb1b7ab57 bug 1384568 - Write a generated-sources.json. r=gps
Capture the list of generated source files derived from moz.build data
and save it in a generated-sources.json in the objdir so that we can upload
generated source files for use in crash reports and when debugging release
builds.

MozReview-Commit-ID: FrHcyFo0rBF

--HG--
extra : rebase_source : 09a5a38d22430e9a2c8121ddc8d47fabdd3be705
2017-07-26 07:34:38 -04:00
maliu
f4647149e4 Bug 1316462 - Increase minsdk to 16 and remove EOL notification. r=sebastian, r=snorp, r=rnewman
MozReview-Commit-ID: 7o1xqIqVWC6

--HG--
extra : amend_source : acfca8a9899399772a0387f2a3cbba27969d367a
2017-07-27 08:27:08 -04:00
Nick Alexander
8f1ac5b651 Bug 1384400 - Add input to output mappings to mozpack.FileRegistry. r=gps
This is necessary because the existing manifests don't expose full
dependency information.  I needed to avoid the existing dependency
files because those code paths need to know the output destination of
the manifest in order to parse the Make dependency files; trying to
adapt this system is more complicated than just preprocessing each
file to extract dependency information directly.

MozReview-Commit-ID: 5m0SEqmhJMM

--HG--
extra : rebase_source : 1ff6a1a51bc76efa78eb564cd8e572777dace0f6
2017-07-25 12:28:31 -07:00
Alex Gaynor
837b88dc9c Bug 1384224 - Add support for hardlinks to InstallManifest; r=gps
Also removes InstallManifestNoSymlinks which can be more simply expressed by
passing link_policy='copy' to InstallManifest.populate_registry.

MozReview-Commit-ID: Bkjc2hIub4A

--HG--
extra : rebase_source : df05080fef3baf7e6c60ff9a468e71f0b2c67462
2017-07-25 14:06:15 -04:00
Carsten "Tomcat" Book
8a74dfa905 Merge mozilla-central to autoland 2017-07-26 11:18:21 +02:00
Carsten "Tomcat" Book
198430bca2 merge mozilla-inbound to mozilla-central a=merge 2017-07-26 11:11:40 +02:00
Mike Hommey
c933b5b6e7 Bug 1382571 - Remove support for tooltool manifest filtering in mach artifact toolchain. r=gps
--HG--
extra : rebase_source : 341a586213fa0267fe8a7987cf7033f4302871e0
2017-07-26 14:41:53 +09:00
Mike Hommey
35154eed27 Bug 1382571 - Change install_tooltool_clang_package to use mach artifact toolchain --from-build. r=gps
--HG--
extra : rebase_source : a86c52972503ccf78ad78dec2ce341efe13e23b4
2017-07-26 14:36:07 +09:00
Mike Hommey
2f3e242dc0 Bug 1382569 - Make mach artifact toolchain --from-build use the toolchain-artifact info from bug 1374940. r=gps
--HG--
extra : rebase_source : 7737d6576191592b75e56f9729691c404cee6797
2017-07-26 14:15:33 +09:00
Philip Chimento
fb83555684 Bug 1379537 - Fix InstallManifestNoSymlinks to not install symlinks. r=glandium 2017-07-21 20:13:34 -07:00
Mike Hommey
4b822dd9f0 Bug 1382502 - Remove ${var}_IS_SET variables. r=ted
In bug 1181040, we added ${var}_IS_SET variables for
mk_add_options-defined variables. In the two years since, that has never
been used for anything else than MOZ_PGO_IS_SET, and the only use for
that has now been removed, so remove those ${var}_IS_SET variables.

--HG--
extra : rebase_source : 2fc9abe0c3badbf06f3858fcf326237e67891fee
2017-07-20 14:22:11 +09:00
Mike Hommey
7decc31f76 Bug 1383996 - Add an argument to mach artifact toolchain to store a manifest for chain-of-trust validation. r=gps
Chain of trust validation will require to know what the inputs for a
given build are, and mach artifact toolchain fetches such inputs.

So we make it output a manifest that the chain of trust validation
process will be able to use and correlate with other information, such
as the one from bug 1383993.

At the same time, we make the produced manifest contain information
about tooltool-downloaded packages, which will allow to track the
progress in the migration from tooltool to TC artifacts.

--HG--
extra : rebase_source : 5b3fc32a9fd641cc7edc57865d2b60aaa6ffcbed
2017-07-20 17:52:56 +09:00
Nick Alexander
c519abed2e Bug 1384202 - Add --no-interactive bootstrap support for Android SDK and NDK. r=rillian
Hacky, but it works -- until Google updates its license hashes.  This
looks ahead to using |mach bootstrap| to build docker images.

MozReview-Commit-ID: DF23v8tr8SW

--HG--
extra : rebase_source : 5a80bdd5ddfb551b374464f42c3783fef5a71fc3
2017-07-19 15:29:11 -07:00
Nick Alexander
23992bf0ff Bug 1384202 - Pre: Make mozboot/android.py an executable script. r=rillian
This looks ahead to using |mach bootstrap| when building docker
images.

MozReview-Commit-ID: LoMU7ji5T0x

--HG--
extra : rebase_source : 2885195855497d69b1cbba02a943964dd3286b93
2017-07-18 15:47:04 -07:00
Nick Alexander
9d67ae5102 Bug 1384199 - Fix path issue in Android bootstrap. r=rillian
This was a regression introduced in Bug 1344244.  Google changed the
layout of their packages.  It used to be that the Android SDK archive
had a top-level 'android-sdk-$OS_NAME' directory; that's no longer the
case.  It would be cleaner to unpack to 'android-sdk' without the OS
name, but that complicates the logic that detects existing installs.

MozReview-Commit-ID: 4B2Rt1AM2ky

--HG--
extra : rebase_source : 3cd1fef88cbb47fc9cd4e47a2a4bc2277c576c58
2017-07-19 15:24:47 -07:00
Nick Alexander
8c1bf58d5d Bug 1384199 - Pre: Remove unused messages and print statements. r=rillian
MozReview-Commit-ID: 5w7xwj7MvE4

--HG--
extra : rebase_source : 2ef57bc4067be3932051ded4de0f7308f6443b20
2017-07-19 15:21:20 -07:00
Ralph Giles
06bcb45952 Bug 1382743 - mozboot: Update rust to 1.19.0. r=mshal
Consider Rust toolchains prior to 1.19.0 old enough to update
by the `mach bootstrap` command, in preparation for requiring
that release during Firefox 57 nightly development.

MozReview-Commit-ID: JaaM3sPDmzn

--HG--
extra : rebase_source : 3835103a822cfc05bde92ee920b344fe7b68d61c
2017-07-21 15:36:26 -07:00
Alex Gaynor
18571165c2 Bug 1382739 - Added support for hardlinks to mozbuild; r=gps
MozReview-Commit-ID: 7DcOAVNsr3c

--HG--
extra : rebase_source : 633a1c1af5ae92c16ab17bcf22f2403001003069
2017-07-20 14:04:05 -04:00
Tom Prince
6e592ea68d Bug 1385539 - Re-add accidentally deleted documentation of mozbuild.configure.ConfigureSandbox.include_file; r=glandium
The code was deleted in Bug 1256571.

MozReview-Commit-ID: JgWoxOyMQ8z

--HG--
extra : rebase_source : 5f37e281096b946e94dd77182c8704beee8eeecf
2017-07-29 00:31:17 -06:00
Nathan Froyd
2a27fdebfc Bug 1378830 - part 2 - add tests for {LIB,PROG}_IS_C_ONLY; r=chmanchester
Adding PROG_IS_C_ONLY seems like a good point to add tests, and once we
have tests for that, adding tests for the existing library support is
not too difficult.
2017-08-17 16:21:22 -04:00
Nathan Froyd
c150b738a2 Bug 1378830 - part 1 - define PROG_IS_C_ONLY variables for PROGRAM and SIMPLE_PROGRAMS; r=chmanchester
Similar to the existing LIB_IS_C_ONLY variable, these variables indicate
that the program in question has only C sources and so can be linked by
the C compiler rather than the C++ compiler.  We need to add a little
more information to BaseProgram so we can avoid emitting periods into
Makefile variables.
2017-08-17 16:21:23 -04:00
Andrew Halberstadt
010c1b667c Bug 1311991 - Add CRAMTEST_MANIFEST moz.build variable, r=gps
Supports CRAMTEST_MANIFEST manifestparser manifests in moz.build. Add a new
manifest like:

CRAMTEST_MANIFEST += [
    'path/to/cram.ini',
]

MozReview-Commit-ID: 1eagYMnCrnz

--HG--
extra : rebase_source : 15302e188196fc39221f4179d96f23ba21408b88
2017-01-17 16:21:36 -05:00
Mike Hommey
09db7d4793 Bug 1382564 - Use the information from bug 1374940 with mach artifact toolchain. r=gps
Bug 1374940 adds a MOZ_TOOLCHAINS environment variable with a list of
path@task-id strings, where task-id is corresponding to the (possibly
optimized) toolchain job, and path corresponding to the
toolchain-artifact defined for that toolchain job.

We want to use that to pull artifacts instead of tooltool packages.

--HG--
extra : rebase_source : 277daa2c83d6d197975cb4ef36ee131176afa992
2017-06-21 15:18:33 +09:00
Gregory Szorc
e4480eabc7 Bug 1377216 - Use configure-derived VCS info to find repository; r=glandium
For reasons I can't explain, Windows builds are failing intermittently
because they are unable to locate the `hg` binary when running
some SpiderMonkey test processes. These processes use
mozversioncontrol.get_repository_from_env() to locate the
current repository.

We now store VCS info in configure. This makes it available to anything
running in a build system context.

This commit teaches mozversioncontrol.get_repository_from_env()
to import the "buildconfig" module to locate VCS info. If the module
can be imported, it is the sole source of VCS info. Otherwise, we
fall back to the existing detection mechanisms.

This should get rid of the intermittent failure. If it doesn't,
it is still a step in the right direction because it will allow
build system processes to consistently use a well-defined VCS
binary.

MozReview-Commit-ID: DMxXheJLRqH

--HG--
extra : rebase_source : a9c599934c8c08da1fbb92a9105f5c7cba0867b3
2017-07-18 15:46:47 -07:00
Gregory Szorc
ab7253fb0b Bug 1377216 - Use substs for resolving path to Mercurial and Git; r=glandium
We now store HG or GIT in substs. We don't need to search for
binary paths.

MozReview-Commit-ID: 8sSgPNLok9M

--HG--
extra : rebase_source : bc51087bcb9f2a723e27f240dd06a88540f6d8a8
2017-07-14 17:23:34 -07:00
Gregory Szorc
4ed711f732 Bug 1377216 - Use substs for determining checkout type; r=glandium
We now have a variable in config.status for recording the checkout
type. These helper functions for determining if we're Mercurial or Git
can now be one-liners.

As a bonus, we no longer do I/O as part of this function.

MozReview-Commit-ID: HT9sbOhDEkf

--HG--
extra : rebase_source : 8b53b5f50d14c0bdd4ef3dc7b190314af80a76f0
2017-07-14 17:22:14 -07:00
Ryan VanderMeulen
741a7a5ea3 Backed out 6 changesets (bug 1377216) for SM(pkg) bustage on a CLOSED TREE.
Backed out changeset b5701f3ce506 (bug 1377216)
Backed out changeset 1f37aebe0f43 (bug 1377216)
Backed out changeset c8931588f674 (bug 1377216)
Backed out changeset ded5328ba74c (bug 1377216)
Backed out changeset 6cb234539746 (bug 1377216)
Backed out changeset ce836965fd58 (bug 1377216)
2017-07-19 22:14:03 -04:00
Gregory Szorc
2e6b49383d Bug 1377216 - Use configure-derived VCS info to find repository; r=glandium
For reasons I can't explain, Windows builds are failing intermittently
because they are unable to locate the `hg` binary when running
some SpiderMonkey test processes. These processes use
mozversioncontrol.get_repository_from_env() to locate the
current repository.

We now store VCS info in configure. This makes it available to anything
running in a build system context.

This commit teaches mozversioncontrol.get_repository_from_env()
to import the "buildconfig" module to locate VCS info. If the module
can be imported, it is the sole source of VCS info. Otherwise, we
fall back to the existing detection mechanisms.

This should get rid of the intermittent failure. If it doesn't,
it is still a step in the right direction because it will allow
build system processes to consistently use a well-defined VCS
binary.

MozReview-Commit-ID: DMxXheJLRqH

--HG--
extra : rebase_source : a9c599934c8c08da1fbb92a9105f5c7cba0867b3
2017-07-18 15:46:47 -07:00
Gregory Szorc
1e4d4f7e0f Bug 1377216 - Use substs for resolving path to Mercurial and Git; r=glandium
We now store HG or GIT in substs. We don't need to search for
binary paths.

MozReview-Commit-ID: 8sSgPNLok9M

--HG--
extra : rebase_source : bc51087bcb9f2a723e27f240dd06a88540f6d8a8
2017-07-14 17:23:34 -07:00
Gregory Szorc
d32f8a188a Bug 1377216 - Use substs for determining checkout type; r=glandium
We now have a variable in config.status for recording the checkout
type. These helper functions for determining if we're Mercurial or Git
can now be one-liners.

As a bonus, we no longer do I/O as part of this function.

MozReview-Commit-ID: HT9sbOhDEkf

--HG--
extra : rebase_source : 8b53b5f50d14c0bdd4ef3dc7b190314af80a76f0
2017-07-14 17:22:14 -07:00
Ryan VanderMeulen
0cfb1d8460 Merge inbound to m-c. a=merge
CLOSED TREE
2017-07-19 10:00:35 -04:00
Rok Garbas
8c33261168 Bug 1364650 - retry on ChunkedEncodingError; r=gps DONTBUILD CLOSED TREE
MozReview-Commit-ID: 5F9ZwOvFG2V

--HG--
extra : histedit_source : 2bc1174c8c359d97ac60c48d60863ce1e4c95298
2017-07-18 23:02:29 +01:00
Gregory Szorc
0226f806c0 Bug 1381353 - Set RUST_BACKTRACE=1 during mach run; r=ted
Having Rust dump a stack on panic seems like a useful on-by-default
feature.

MozReview-Commit-ID: ABYTArsMTFh

--HG--
extra : rebase_source : 7d15f44a9ffd14db475db9e5c2964aca31bf0f70
2017-07-17 13:57:50 -07:00
Andrew Halberstadt
2f253251a9 Bug 1381802 - [mach] Allow subcommands to use the 'parser' argument, r=gps
This allows subcommands to use external argument parsers.

MozReview-Commit-ID: 7TkbTff0Tv8

--HG--
extra : rebase_source : a1c245efa7ac7b28b974534b4cd2727c96f9219d
2017-07-18 08:53:13 -04:00
Andrew Halberstadt
f64710a364 Bug 1381802 - [mach] Ensure subcommand help is displayed whenever a subcommand and --help are specified, r=gps
After this patch, the following will all display the subcommand help where they previously displayed
the command help:

    $ mach help <command> <subcommand>
    $ mach <command> --help <subcommand>
    $ mach <command> <subcommand> --help

The command help will still be shown for:

    $ mach help <command>
    $ mach <command> --help

MozReview-Commit-ID: 7EsVblnCaFM

--HG--
extra : rebase_source : 2a1d289d56164366ce140fa653adec93f56be067
2017-07-18 08:42:41 -04:00
Nick Alexander
a66ad814f1 Bug 1344244 - Post: Allow --application-choice to |mach bootstrap|. r=glandium
MozReview-Commit-ID: 496iK5iTEPX

--HG--
extra : rebase_source : 108fdd931b4b0d0b69e00ac9e14a1b22c4891605
2017-07-05 13:25:04 -07:00
Nick Alexander
c3efb6fe79 Bug 1344244 - Part 4: Homebrew includes |brew cask| directly now. r=glandium
There's no need to install the caskroom bits for Homebrew now,
allowing to fix Java installation on Mac OS X and simplify the code at
the same time.

MozReview-Commit-ID: 1Ssjm4YRrPQ

--HG--
extra : rebase_source : 3414d1fbe2bdb693cae1f5b1379d8d9335f1e7f4
2017-07-05 17:05:25 -07:00
Nick Alexander
0f67ddbc23 Bug 1344244 - Part 3: Use sdkmanager rather than android. r=glandium
This is the real fix.  Google has replaced the |android --no-ui ...|
tool with a simpler |sdkmanager| tool, which makes it easier to
install packages with particular major versions.  (Minor versions
still can't be controlled; for example, the m2repository extras are
constantly rolling forward.)

|sdkmanager| fails if the required packages aren't installed and can't
be installed, so there's no need to search for missing packages, etc,
simplifying the code considerably.

I don't see an easy way to upgrade outdated Android SDK installations
-- it's not clear that unpacking over top of an existing SDK
installation succeeds -- so I've included a message about moving or
removing outdated installations.  This will punish folks who have
added additional Android platforms, or download emulator images using
the Android toolchain (but not those downloaded using |mach
emulator|).  C'est la vie.

MozReview-Commit-ID: GLhKyuq701k

--HG--
extra : rebase_source : 26578c5ef4dcc6a29809630add2232a98407ec54
2017-07-05 16:49:09 -07:00
Nick Alexander
6dfa75bd3c Bug 1344244 - Part 2: Merge similar code into android.py. r=glandium
This refactoring unifies similar code that has been copy-pasted and
subsequently diverged.

MozReview-Commit-ID: EuVQBR4gsDo

--HG--
extra : rebase_source : bda66ef9001a1cddf75417aaeebd9dcecd05a6b7
2017-07-05 14:02:58 -07:00
Nick Alexander
09453dbd32 Bug 1344244 - Pre: Support mobile/android in bootstrap on CentOS. r=glandium
This works in a centos:7 docker image.

MozReview-Commit-ID: LZEgSho7xb

--HG--
extra : rebase_source : 8ff3c464ac748e7f9615f5e7c1ede629be12fd8f
2017-07-05 15:06:46 -07:00
Haik Aftandilian
ce8f59e85d Bug 1380132 - Part 2 - Set MOZ_DEVELOPER_OBJ_DIR before launching Firefox. r=gps
MozReview-Commit-ID: CvSUt2KueHr

--HG--
extra : rebase_source : 7d621a1dc7ced33a2c00e906970401e152a70189
2017-07-12 17:01:56 -07:00
Greg Mierzwinski
f87b1eda07 Bug 1378533 - Make the keys for linked-map-files.json entries absolute paths. r=marco
This patch changes the name of the keys that are in the 'linked-files-map.json' that is produced in the code coverage build and are used to map symbolic links to their source files. The new key names (which are the paths to the symbolic links) are now the entire absolute path to each of the files.

MozReview-Commit-ID: 4x1dfk9h2Ov

--HG--
extra : rebase_source : 7d424bbbf1d026ea67c66b743c8c43ea75185733
2017-07-06 10:14:00 -04:00
Mike Shal
29be674102 Bug 1380381 - Set rust debuginfo=1 for cross-OSX builds; r=glandium a=kwierso to reopen this CLOSED TREE
This is similar to bug 1301751, where something in rust seems to trigger errors
running dsymutil to generate debug symbols in OSX. We can set debuginfo=1 for
these builds as a temporary workaround for now, while we work on a more
permanent solution in rust and/or dsymutil. debuginfo=1 still gives us enough
info for stack traces, although without line info. debuginfo=2 would be useful
for debugging, but is irrelevant to crash reports.

MozReview-Commit-ID: DdA00GzVfWg

--HG--
extra : amend_source : 47d3573042098194a07f9b473e4a02c86a1eba7c
2017-07-13 18:49:10 -04:00
Rail Aliiev
50b3d12911 Bug 1380297 - Mac nightly repackage fails trying to read CodeName r=mshal
MozReview-Commit-ID: LauJRihWxJ0

--HG--
extra : rebase_source : 049bac5545891052fcfb20a05b589cdcba828f18
extra : source : 18d843860f83a219e8fbc70b7e6295857d1d70f0
2017-07-12 09:30:41 -04:00
Sebastian Hengst
41ec10ec9c Backed out changeset ad2fdd0912ed (bug 1347582) for breaking taskcluster jobs, or not scheduling them. r=backout on a CLOSED TREE 2017-07-12 21:45:30 +02:00
Swapnesh Kumar Sahoo
b73d585ecd Bug 1347582 - Add option to force file mode during tar creation; r=dustin
MozReview-Commit-ID: HeDq4EwAfVS

--HG--
extra : rebase_source : 027c1b9067f9d28921d18c2a2653cea4eabac46d
2017-07-12 22:59:26 +05:30
Marco Castelluccio
9c81bb27c1 Bug 1379955 - Use longest prefix match when rewriting lcov entries. r=chmanchester
--HG--
extra : rebase_source : 614fb7c1edd4b5e3a86e8e3edad53ed315f6f9df
2017-07-11 16:22:43 +02:00
Carsten "Tomcat" Book
31311070d9 merge mozilla-inbound to mozilla-central a=merge 2017-07-11 12:51:59 +02:00
Andi-Bogdan Postelnicu
139730a55e Bug 1328454 - add footer for static analysis job. r=gps
MozReview-Commit-ID: GqGSPDccHDU
2017-07-11 10:37:49 +03:00
Gregory Szorc
e0c0104c60 Bug 1379298 - Relax __eq__ for empty OptionValue; r=nalexander,rillian
The rigid type comparison added in 51a92a22d6d1 (bug 1375231) was
too rigid. This broke at least one consumer that was comparing an
empty PositiveOptionValue/NegativeOptionValue against a string.

Since comparisons against empty OptionValue are convenient and
don't violate the spirit of the type checking previously added,
this commit relaxes the type equivalence check in cases where the
OptionValue is empty.

MozReview-Commit-ID: UllTrzCjj

--HG--
extra : rebase_source : 2c41428d1be667edecdab0947d006a1a6a533569
2017-07-10 11:21:37 -07:00
Gregory Szorc
675b7da4ed Bug 1375231 - Make OptionValue.__eq__ more type aware; r=glandium
OptionValue and its derived classes are exposed to moz.configure
files. As the previous bug fix showed, it is really easy to
accidentally assume the type is a simple string value and do a
string compare against it.

To prevent this class of bugs, this commit adds additional type
awareness to OptionValue.__eq__.

We first check that the argument is a tuple (including any OptionValue
types). If not, we raise a TypeError because the comparison is
invalid. This is arguably a violation of __eq__. But since OptionValue
is exposed to the moz.configure sandbox and typing '==' will invoke
__eq__, we have to do something to prevent this foot gun.

The change also changes the comparison logic.

If we compare against a non-derived tuple instance, we do a tuple
compare. Otherwise, we fall back to the previous logic of
requiring an identical type then doing a tuple compare.

MozReview-Commit-ID: 7IVSL2Asg9j

--HG--
extra : rebase_source : edab573834da240df9ad7c2fc78c85d6159a6ef9
2017-07-06 17:53:45 -07:00
Wes Kocher
bbb26fe90e Merge inbound to central, a=merge
MozReview-Commit-ID: 2nFzji7su8C
2017-07-06 16:10:49 -07:00
Nathan Froyd
6447359f2a Bug 1378443 - add missing argument to forget_add_remove_files; r=rillian,f=jdm
Leaving off this argument makes `mach vendor rust` with large files fall
over with a Python error.  While the user still gets a semi-useful error
message prior to this failing, it would be better to not fail here at all.
2017-07-06 12:07:17 -04:00
Andrew Halberstadt
6e2032d8c4 Bug 1361972 - [mozlint] Add ability to only lint staged changes to --workdir with git r=standard8
MozReview-Commit-ID: DUxCKN2fiag

--HG--
extra : rebase_source : 11bb7808c7d0f1c02eaea93dc61723d17e921eeb
2017-06-30 18:29:31 -07:00
Wes Kocher
288405ee34 Merge inbound to m-c a=merge
MozReview-Commit-ID: LpxvieHR7VH
2017-07-05 17:10:43 -07:00
Nathan Froyd
c4db85fbe1 Bug 1378440 - part 2 - add mach cargo check; r=rillian
Cargo recently introduced the `cargo check` command for shortening the
edit-compile cycle when working on large programs.  Since we don't
really support invoking `cargo` directly, let's wire up this command to
`mach`.  Gecko developers can then `mach cargo check` to ensure their
changes typecheck.
2017-07-05 14:19:31 -04:00
Nathan Froyd
2bed06130d Bug 1377971 - part 1 - make C++ linking for Linkable ignore shared libraries; r=glandium
We have a flag set on all Linkables, cxx_link, denoting whether there's
anything being linked into them that requires C++.  We do this even when
we link against shared libraries that required C++.  But if these
libraries don't export C++ interfaces, there's no reason that the things
linking against them should require C++.  Therefore, ignore shared
libraries when making the determination of whether an object requires
C++ or not.
2017-07-05 14:05:10 -04:00
Greg Mierzwinski
1a2d6fd412 Bug 1378239 - Change mozinfo 'coverage' flag to 'ccov' to avoid ambiguity. r=ahal
This patch renames the mozinfo flag 'coverage' to 'ccov' to avoid ambiguity in whether a test is being skipped for linux64-ccov or for linux64-jsdcov. It also removes the 'runtests.py' mozinfo hack and renames all occurrences of 'coverage' that are used for skipping tests in linux64-ccov.

MozReview-Commit-ID: IF2640bDQP7

--HG--
extra : rebase_source : 614020325e30d1ca9e01aaf08479b8a4ffaec888
2017-07-04 21:18:19 -04:00
Nathan Froyd
b9d0fc14d2 Bug 1310852 - part 4 - always download packages for stylo during mach bootstrap; r=rillian
With configure now being able to auto-detect the presence of a `mach
bootstrap`-installed clang and libclang and the upcoming
build-by-defaultness of Stylo, we can start downloading these packages
all the time.
2017-06-21 16:36:03 -04:00
Nathan Froyd
3ee2268fa7 Bug 1310852 - part 3 - don't install clang packages through tooltool for OS X mach bootstrap; r=rillian
We decided to install the necessary packages through the appropriate Mac
package manager instead.
2017-06-22 15:36:55 -04:00
Nathan Froyd
119b2cf01e Bug 1310852 - part 1 - install llvm homebrew/macports packages; r=rillian
LLVM/clang is needed for Stylo's bindgen, and Apple's clang is unusable
for such purposes.  For other platforms, we have installed LLVM/clang
from our tooltool archive on the supposition that those packages are
definitely known to work, as we use said packages in automation.  For
Mac, however, we haven't been able to generate packages for tooltool
that successfully build Stylo, and even if we had, those packages would
solely be used for developer builds of Stylo and would not be used in
automation.  The case for downloading LLVM/clang for Mac from tooltool,
therefore, is not as strong as for other platforms.

As a result, we'll rely on the installed package manager for LLVM/clang,
which many people may have installed anyway.

In passing, also delete some old code for OS X versions < 10.7; such
platforms are no longer supported for running or building Firefox.
2017-06-30 15:05:52 -04:00
Phil Ringnalda
22cb9f77bb Merge m-c to m-i
MozReview-Commit-ID: H6zGgEm7oOM
2017-07-04 20:32:07 -07:00
Carsten "Tomcat" Book
75c2b6acd0 Merge mozilla-central to mozilla-inbound 2017-07-04 11:09:13 +02:00
Greg Mierzwinski
3daf739be1 Bug 1377876 - Disable 'test_crash.py' when running on linux64-ccov. r=whimboo
This patch adds a flag to the 'mozinfo.json' that can be used to disable tests when they are running on linux64-ccov. Then, this flag is used to prevent the marionnette test 'test_crash.py' from running on linux64-ccov.

MozReview-Commit-ID: 9IHMiZHxcMK

--HG--
extra : rebase_source : ec690cb3ffa27d3e88d2c0b8c5d510e72a5c5079
2017-06-30 16:30:59 -04:00
Andi-Bogdan Postelnicu
45a6d9565c Bug 1328454 - Add full file path to compilation database. r=glandium
MozReview-Commit-ID: 7H1HvYE9umf
2017-06-21 17:58:24 +03:00
Nathan Froyd
eafe4905bb Bug 1376392 - do a more thorough check for git checkouts of mozilla-central in bootstrap; r=rillian
When determining the path of a possible mozilla-central checkout,
bootstrap currently considers the existence of a `.git` directory as
sufficient proof that the containing directory is a git checkout.
Unfortunately, if you happen to execute standalone bootstrap from a git
checkout of something else, you're gonna have a bad time.

To prevent this, check for the existence of a moz.configure file.  This
is not an ideal proof, but it is better than what we currently have.
2017-06-29 19:26:23 -04:00
Kartikaya Gupta
b9179e9d33 Bug 1336528 - Run cargo-vendor on all the lockfiles together. r=froydnj
MozReview-Commit-ID: BBuizrn3z5k

--HG--
extra : rebase_source : f9ab70d5edeec0e03c51cf4a75e67fc8e24ebe9b
2017-07-04 11:16:40 -04:00
Sylvestre Ledru
8fe8f9a2ae Bug 1375823 - Improve the error message when using the wrong type in ConfigEnvironment r=glandium
MozReview-Commit-ID: 1XF8jpS3i8Q

--HG--
extra : rebase_source : 8ecb169dd86f9ed2be8e48f36fa5171f3e416b2b
2017-06-23 13:58:53 +02:00
Christian Holler
b8ee76ebd8 Bug 1373256 - Changes to support -fsanitize=integer in the codebase. r=froydnj
The -fsanitize=integer analysis from UBSan can be helpful to detect signed and unsigned integer overflows in the codebase. Unfortunately, those occur very frequently, making it impossible to test anything with it without the use of a huge blacklist. This patch includes a blacklist that is broad enough to silence everything that would drain performance too much. But even with this blacklist, neither tests nor fuzzing is "clean". We can however in the future combine this with static analysis to limit ourselves to interesting places to look at, or improve the dynamic analysis to omit typical benign overflows.

It also adds another attribute that can be used on functions. It is not used right now because it was initially easier to add things to the compile-time blacklist to get started.

Finally, it includes a runtime suppression list and patches various parts in the test harnesses to support that. It is currently empty and it should not be used on frequent overflows because it is expensive. However, it has the advantage that it can be used to differentiate between signed and unsigned overflows while the compile-time blacklist cannot do that. So it can be used to e.g. silence unsigned integer overflows on a file or function while still reporting signed issues. We can also use this suppression list for any other UBSan related suppressions, should we ever want to use other features from that sanitizer.

MozReview-Commit-ID: C5ofhfJdpCS

--HG--
extra : rebase_source : 952043a441b41b2f58ec4abc51ac15fa71fc142f
2017-04-09 12:59:26 +02:00
Gabriele Svelto
f71d6d9b09 Bug 1376922 - Make mach's '--enable-crash-reporter' option work on debug builds; r=glandium
MozReview-Commit-ID: Et8452Rfh1F

--HG--
extra : rebase_source : cbfa349cbe0d7763cae8987da4e18fd4c848def4
2017-06-28 22:46:03 +02:00
Sebastian Hengst
d787a096f5 merge mozilla-central to autoland. r=merge a=merge 2017-06-29 03:21:05 +02:00
Justin Wood
acdc65c932 Bug 1376550 - Support tar.gz (mac) regeneration of complete.mar r=mshal
Support OSX Signed nightlies (in the complete.mar too)

MozReview-Commit-ID: HXiFGE14wYJ

--HG--
extra : rebase_source : 1d02b4714c8fafe6cdcd74e6d9b5612c44dcb3b4
2017-06-27 14:00:52 -07:00
Andrew Swan
e9b0926a4a Bug 1369517 Make automation work with legacy extensions disabled r=rhelmer
- Set the extensions.legacy.enabled pref for mochitests etc
- Skip a plugin-inside-xpi test for now if legacy extensions
  are force-disabled.  That test can just be removed once we
  get to 57.

MozReview-Commit-ID: As9LtkQTcTS

--HG--
extra : rebase_source : fcc84daef95c453e893cc3b98498fdb87f54b1bb
2017-06-01 21:20:08 -07:00
Carsten "Tomcat" Book
259377b6ab merge mozilla-inbound to mozilla-central a=merge 2017-06-26 13:25:51 +02:00
Marco Castelluccio
7fdfd7350d Bug 1374348 - Rewrite paths from JAR files. r=chmanchester
--HG--
extra : rebase_source : 53222218bb4f831e677c6e9727b832ee615b0679
2017-06-23 17:02:07 +01:00
Carsten "Tomcat" Book
d5969fcdf2 Backed out changeset ececd1d2c875 (bug 1374348) for bustage 2017-06-23 15:00:28 +02:00
Marco Castelluccio
37b556de07 Bug 1374348 - Rewrite paths from JAR files. r=chmanchester
--HG--
extra : rebase_source : 941a70b5e1d4dcbcd6b01c9866fb97cb3fe44435
2017-06-23 12:01:42 +01:00
Mike Hommey
35931ba727 Bug 1354581 - Add unit tests for DEVELOPER_OPTIONS. r=chmanchester
MozReview-Commit-ID: JXNICUdzWzD
2017-06-22 22:05:31 -07:00
Phil Ringnalda
d36c89dea2 Backed out changeset f1288dc02384 (bug 1354581) for test_toolkit_moz_configure.py bustage 2017-06-22 19:30:32 -07:00
Mike Hommey
7cccfe94be Bug 1354581 - Make automation builds imply --enable-release at the configure level. r=cmanchester+432261
--HG--
extra : rebase_source : b6be454ec3b6aad7a1b60905ffe65e1891d4bb22
2017-06-21 11:33:30 +09:00
Mike Hommey
da18a9b1df Bug 1354581 - Add unit tests for DEVELOPER_OPTIONS. r=cmanchester+432261
--HG--
extra : rebase_source : 4f72f6e89d1873618ddaa93c760a5765cb59496a
2017-06-21 10:55:37 +09:00
Bryce Van Dyk
6b2d7e6552 Bug 1372051 - Remove external media tests from /testing, /build, /python. r=maja_zf
MozReview-Commit-ID: 7X2kYf7HLZY

--HG--
extra : rebase_source : 09421cf96c4d214795362e0f53c51310bff0abba
2017-06-12 10:27:42 +12:00
Mike Hommey
aeeee02009 Bug 1374917 - Convert exception messages from the requests module before logging them. r=gps
--HG--
extra : rebase_source : 4fae04c80efbdb7b444578b27a346007430644e1
2017-06-21 13:53:31 +09:00
Wes Kocher
b17932664d Merge m-c to autoland, a=merge
MozReview-Commit-ID: 1dQBCh5pBY6
2017-06-22 14:21:39 -07:00
Wes Kocher
8075c09d4c Merge inbound to central, a=merge
MozReview-Commit-ID: Gk6AmaPVVbV
2017-06-22 14:01:59 -07:00
Wes Kocher
26f08e883b Backed out 2 changesets (bug 1355625) for causing bustage a=backout
Backed out changeset 0b7af9b62aff (bug 1355625)
Backed out changeset b44a1a078e64 (bug 1355625)

MozReview-Commit-ID: JRmf8nbLFPP
2017-06-22 12:05:56 -07:00
Wes Kocher
d0eddcaa44 Merge m-c to autoland a=merge
MozReview-Commit-ID: 5D2HzsGopzc
2017-06-21 18:13:41 -07:00
Carsten "Tomcat" Book
7177a36cde Merge mozilla-central to mozilla-inbound 2017-06-21 14:55:27 +02:00
Andi-Bogdan Postelnicu
c45c5298f3 Bug 1374561 - Allow to set log level in mach for every class derived from MozbuildObject. r=glandium
MozReview-Commit-ID: KpNRZuHkpFe

--HG--
extra : rebase_source : 74e28b203cd5ea0f7d06c9eaf64032a6cbe3a0e0
2017-06-20 11:31:26 +03:00
Wes Kocher
bad95c3b8d Merge m-c to autoland, a=merge
MozReview-Commit-ID: 22m0q698kw2
2017-06-20 18:33:41 -07:00
Wes Kocher
c0e1236f1a Merge autoland to m-c a=merge
MozReview-Commit-ID: LFtpTAueYrF
2017-06-20 18:24:29 -07:00
Nick Alexander
aaab10e6d3 Bug 1355625 - Part 1: Invoke aapt using py_action. r=mshal
This adds a py_action invocation wrapping aapt and implements a hacky
implementation of the Gradle build system's resource merging
algorithm; once we have the moz.build and Gradle resources identical,
we'll be one big step closer to producing bit-identical builds and
flipping the switch in favour of Gradle.  With this, the R.txt
produced by the aapt invocation is the same as the R.txt produced by
the py_action invocation.

Originally I wrote this to use GENERATED_FILES, but it produced a
world of pain.  Since Android's aapt tool is fundamentally directory
oriented, not file oriented, it required adding support for FORCE to
GENERATED_FILES and required directory crawling and FileAvoidWrite in
the wrapper.  After getting that working I was eventually stymied by
the arcane requirements of the Android re-packaging system, which
interacts with the l10n system.  I would have required support for
building GENERATED_FILES in the libs tier rather than the misc tier.
After that realization I gave up and turned to py_action: the
dependencies on branding are just too entangled with l10n to use
GENERATED_FILES.

And, in the not-so-distant future, all of this moz.build and
Makefile.in chicanery will be deleted in favour of invoking Gradle at
the appropriate points!

MozReview-Commit-ID: 4ueVNa7gzgs

--HG--
extra : rebase_source : dab092a188bc735ef819a4be0ad13387e85c87e2
extra : source : a05bd87b09ee5e4cff20fe84c2e75ac3b2a494a1
2017-06-20 15:35:48 -07:00
Kartikaya Gupta
67df6ec929 Bug 1369156 - Bump the minimum allowed version of cargo-vendor. r=froydnj
MozReview-Commit-ID: 2W7og1U8LBv

--HG--
extra : rebase_source : 2436cbb964087cd62af0787e832951ce721fc980
2017-06-20 16:04:07 -04:00
Andrew Halberstadt
af86c88b2f Bug 1369787 - [mozlint] Add a test for vcs operations, r=bc
Create a test for version control related functionality.

MozReview-Commit-ID: GXd27O69GNg

--HG--
extra : rebase_source : 56ce4a38b591fd62f05fbaed0ff05d56ec127422
2017-06-08 14:28:37 -04:00
Andrew Halberstadt
4761330083 Bug 1369787 - [mozlint] Fix up version control commands, r=standard8
The underlying commands to mozlint's vcs.py had a few problems. This:

    1. Ensures deleted files aren't considered in both hg and git
    2. Automatically determines the default remote repo and branch when using --outgoing with git
    3. Excludes metadata from output of the git command used with --outgoing
    4. Adds --cached to the git command for --workdir, which lints all staged files

MozReview-Commit-ID: EBtM3MCiCDs

--HG--
extra : rebase_source : 982b24acd81c86e383b28b8a71bcd51a041e60f4
2017-06-08 23:31:16 -04:00
Andrew Halberstadt
5fde640164 Bug 1369787 - [mozlint] Refactor vcs.py into separate classes for hg and git, r=bc
The old method had a bunch of 'if vcs == git' statements and the like. This
made it hard to follow code paths for a given vcs system. I think this refactor
makes things cleaner to read. It shouldn't be changing any functionality.

MozReview-Commit-ID: EBtM3MCiCDs

--HG--
extra : rebase_source : 9c0fda3f4f824351bae852af25bcd2240b1b1024
2017-06-08 23:31:02 -04:00
Andrew Halberstadt
91efad9d6d Bug 1369787 - [mozlint] Remove 'rev' option from |mach lint|, r=bc
The rev option is inherently broken. It does let you lint files touched by any
revision, but it doesn't update those files to that revision first.  Instead,
they get linted at whatever the working directory is and their results are
bogus. Even if we did some magic to update the files to the proper revision
with in-memory version control magic, the config files would still be out of
date.

Plus, the new --outgoing option does pretty much the only thing --rev was good
for. Rather than cause confusion, I think it's better to just remove the
option.

MozReview-Commit-ID: 2y2UnfIkvsR

--HG--
extra : rebase_source : 9b5c142270c98905d71ebb89d1620e91914c0b47
2017-06-08 22:54:00 -04:00
Chris Manchester
2ad823acd0 Bug 1371871 - Do not install unnecessary files in an artifact build. r=mshal
This prevents us from redundantly installing httpd.js and httpd.manifest
from the test package during an artifact build, which interferes with
the Tup backend's handling of these files as symlinks.

MozReview-Commit-ID: LuMurUc1P36

--HG--
extra : rebase_source : 1aabd788ff71ae28434a4076d5304f611ada5d92
2017-06-21 16:20:18 -07:00
Chris Manchester
a5c1097837 Bug 1371871 - Do not process XPIDL in the tup backend during an artifact build. r=mshal
MozReview-Commit-ID: AtnXcv6iPRD

--HG--
extra : rebase_source : f0f9699fb16c0f93c01af5fd6099b87b1855af32
2017-06-21 16:20:18 -07:00
Chris Manchester
764bbd5f7c Bug 1371871 - Do not generate or attempt to install unnecessary files in artifact builds in the Tup backend. r=mshal
MozReview-Commit-ID: B2zyhKD4gVt

--HG--
extra : rebase_source : f5d28c6b05ee15a1dcfae94f91f0b41832d34bcc
2017-06-21 16:20:18 -07:00
Chris Manchester
08b8a5b405 Bug 1319225 - Install generated FinalTargetFiles in the Tup backend. r=mshal
MozReview-Commit-ID: 8NLF11upDCn

--HG--
extra : rebase_source : b9c3d3bc25b64a72e31c3b0e739a52f2ee649b06
2017-06-21 16:19:16 -07:00
Chris Manchester
43dec7d716 Bug 1371817 - Handle FinalTargetFiles with wildcards in the Tup backend. r=mshal
MozReview-Commit-ID: KMJJ8vg7g7s

--HG--
extra : rebase_source : a96e30e8060d370f86a2ce59d8a16ef15a683187
2017-06-21 15:35:19 -07:00
byron jones
c191b98031 Bug 1361003 - Use check_call when calling "mach vendor rust". r=ted
As mozprocess doesn't have any special handling of stderr, should cargo
operations fail their output is dropped.  Switch to subprocess.check_call to
ensure cargo errors are displayed to the caller.
2017-06-22 13:52:38 +08:00
Andrew Halberstadt
4b93103061 Bug 1375166 - [mozlint] Don't require leading '.' in extensions, r=standard8
This was a regression from bug 1288432. The 'extensions' config in mozlint required a
leading period, but eslint requires them without the period (and this got copied over
to the linter definition). The result was mozlint filtering out any files (not dirs)
that were passed in.

This just modifies mozlint to strip out the period so both are acceptable.

MozReview-Commit-ID: CbNynYzrbGz

--HG--
extra : rebase_source : 51c740cb1d2febaee3ae46784f83381cda5e5eaa
2017-06-21 13:22:34 -04:00
Jan Beich
095deaf886 Bug 1375198 - FreeBSD bootstrap: drop explicit dependency on libGL. r=rillian
libGL package was consolidated into mesa-libs but quarterly set still
uses the old name. Since gtk3 (via libepoxy) and gtk2 (via cairo)
already indirectly depend on mesa-libs take advantage of it to avoid
churn on updates.

MozReview-Commit-ID: F5LBOOthAMc

--HG--
extra : rebase_source : 4e3e30e817187c3ffef30e280554b12b02f44568
2017-06-21 18:45:14 +00:00
Sylvestre Ledru
dbfe98bb2d Bug 1375593 - If cannot find ThirdPartyPaths.txt, don't break the build r=gps
MozReview-Commit-ID: KSUCct6Si2I

--HG--
extra : rebase_source : 73166eab662c97687fd51ff0d5e7f8a6a6abd87f
2017-06-23 15:42:19 +02:00
Ted Mielczarek
a1155285c8 bug 1367329 - fix error handling code in mozversioncontrol. r=gps
MozReview-Commit-ID: Bu5FA9PhxJY

--HG--
extra : rebase_source : 4aa19c087cd4f9e03f2fd385e0d0052cca9bc954
2017-06-22 12:54:25 -04:00
Andrew Halberstadt
96fe8190c2 Bug 1375834 - [mozlint] Stop printing vcs command used if command returns non-zero, r=bc
MozReview-Commit-ID: HfG5CqQDIdr

--HG--
extra : rebase_source : 062d201073a13a906e156cee6592ef5251ab39d6
2017-06-23 08:55:04 -04:00
Ralph Giles
ea1e9c1f12 Bug 1376940 - mozboot: Update rustup to 1.5.0. r=froydnj
Bump the target version and checksums for the rustup installers
we use for the latest release so reduce the variance with manual
installs.

MozReview-Commit-ID: E5O4UOu1wLr

--HG--
extra : rebase_source : a0745515957667787929bc5df05a66adb29cbd66
2017-06-28 14:23:48 -07:00
Nathan Froyd
fc95670240 Bug 1374432 - enable stylo attribute for tests only if stylo is enabled; r=jgraham
If we don't do this, various bits of test infrastructure will turn on
when stylo is merely built, not enabled, which will cause no end of
orange and unhappiness.
2017-06-20 11:34:37 -04:00
Carsten "Tomcat" Book
013fb0680e merge mozilla-inbound to mozilla-central a=merge 2017-06-20 11:26:40 +02:00
Sylvestre Ledru
8f9cde3657 Bug 1373951 - Use the existing list of thirdparty code instead an hardcoded list r=gps
MozReview-Commit-ID: LaBH5Ye019Y

--HG--
extra : rebase_source : 82da697e243ffd9297a0cbf1753871b04759b4e6
2017-06-20 00:17:58 +02:00