Commit Graph

2415 Commits

Author SHA1 Message Date
Nathan Hakkakzadeh
cf3b86a327 Bug 1100925 - Mach now detects msys2. r=gps
Before, mach would only detect MINGW32 (used with msys). Now it also detects MINGW64 (used with msys2).

MozReview-Commit-ID: 6IrNNmkLKgB

--HG--
extra : rebase_source : e84ee16b5bbc1b6b113163ba5b61759f763645c1
2016-05-31 14:44:53 -07:00
Nathan Hakkakzadeh
5aa1fe6bf4 Bug 1177128 - Added bootstrapper for MozillaBuild that installs rustup. r=gps
MozReview-Commit-ID: D4DuE0Z35Cd

--HG--
extra : rebase_source : 8bb18d459a5f60ed7083e5b591558e241a89175c
2016-07-07 16:26:48 -07:00
Wei-Cheng Pan
4d9de45f4d Bug 1283763 - Fix gdb pretty printers for nsTArray. r=tbsaunde
MozReview-Commit-ID: 6ZirDggUeyD

--HG--
extra : transplant_source : %EA%BF%05i%FC%20%BB%0Dq%AC%E7%A7%E9%F7%D0%F4%C3%82O%F6
2016-07-01 14:58:49 +08:00
Mike Hommey
9607db6e29 Bug 1283052 - Remove some of the magic around mozconfig detection. r=gps
The mozconfig detection logic has bitten us on many occasions in the
past. The following changes are made to tentatively improve the
situation:

- The API is modified such that autodetection of the mozconfig has
  to be a conscious decision made by the caller, and not triggered
  any time there is no mozconfig given, which could be a conscious
  decision of the opposite.

- mozinfo.json now stores the actual mozconfig (or lack thereof) used
  during configure.

--HG--
extra : rebase_source : c7a632afd414f25daf7bbe7e1a66c3736c26e039
2016-07-08 08:43:17 +09:00
Gregory Szorc
5030a743a1 Bug 1186064 - Require Visual Studio 2015 Update 2; r=glandium
Per froydnj in bug 1186064 comment #23, "it makes sense to proceed with removing
MSVC 2013 support." This commit does that.

We also go a step further and require VS2015 Update 2 instead of just
update 1. This temporarily brings us down to just 1 officially supported
Visual Studio version. However, VS2015u3 was just released and is
unofficially supported.

Since MOZ_CRT is no longer set, references to it have been removed.

MozReview-Commit-ID: 8MUR6qLzQA5

--HG--
extra : rebase_source : 8f5061080a3d56dd484f9be03649fb65f0145f67
2016-07-06 09:01:38 -07:00
Wes Kocher
a425a052c1 Backed out changeset d7f98208809f (bug 1186064) for breaking SM(pkg) jobs a=backout 2016-07-06 10:11:04 -07:00
Gregory Szorc
6e4d0edfbc Bug 1186064 - Require Visual Studio 2015 Update 2; r=glandium
Per froydnj in bug 1186064 comment #23, "it makes sense to proceed with removing
MSVC 2013 support." This commit does that.

We also go a step further and require VS2015 Update 2 instead of just
update 1. This temporarily brings us down to just 1 officially supported
Visual Studio version. However, VS2015u3 was just released and is
unofficially supported.

Since MOZ_CRT is no longer set, references to it have been removed.

MozReview-Commit-ID: 8MUR6qLzQA5

--HG--
extra : rebase_source : 22ab4f47661ead4995d0c5261104abfb02b82aa2
2016-07-06 09:01:38 -07:00
Andrew Halberstadt
3c8be23f37 Bug 1281899 - [mozlint] Add ability to lint files touched by revisions and/or the working directory, r=smacleod
This adds two parameters, --rev and --workdir. Each works both with mercurial and git (though the syntax for
specifying revisions is different between them). The value is simply forwarded to either |hg log| or |git diff|
so syntax like |mach lint -r .~4::.| or |mach lint -r "HEAD~4 HEAD"| will work as expected.

MozReview-Commit-ID: aOGp2Yrncs

--HG--
extra : rebase_source : d2cb834d4cc1a083171a3551af4e72c8a7d14021
2016-06-24 14:09:58 -04:00
Andrew Halberstadt
482f8a956c Bug 1281899 - [mozlint] Create cli module and move logic from tools/lint/mach_commands.py there, r=smacleod
There is currently no built-in user interface to mozlint. The only existing interface is the
external cli provided by |mach lint|. However, in the future mozlint may need to be used in a
context where mach isn't readily available (i.e version-control-tools). This patch basically
just moves the cli logic out of mach_commands.py, and into mozlint core. That way it can be
re-used in other places without needing to be re-implemented.

The |mach lint setup| subcommand was removed because apparently subcommands don't work with
the parser attribute. Nothing was using it yet anyway, so I removed it for now. It may get
re-added in some form in the future.

MozReview-Commit-ID: aOGp2Yrncs

--HG--
extra : rebase_source : 8f7530de96e5c131d2ed5bfcdd7a159329401e5b
2016-06-24 14:06:22 -04:00
Gijs Kruitbosch
47178e3a6c Bug 1282420 - fix artifact builds so they don't depend on mach being invoked in the topsrcdir, r=chmanchester
MozReview-Commit-ID: BjgxYVI2se0
2016-06-27 14:42:38 +01:00
Gregory Szorc
71f937363c Bug 1294475 - Remove disabling of 8dot3 filenames; r=glandium
Since it conflicts with moz.configure which resolves shortnames since
parts of the build system don't like paths with spaces.

MozReview-Commit-ID: nJkRV4Nafo

--HG--
extra : rebase_source : 9f2db54ec38eb0f05b478b445c0a883ca69b0127
2016-08-16 10:04:20 -07:00
Gregory Szorc
88d6e5e9c4 Bug 1295439 - Upgrade setuptools to 25.2.0; r=glandium
Should be a drop-in replacement.

MozReview-Commit-ID: 2ebRTXwCBfM

--HG--
rename : python/virtualenv/virtualenv_support/setuptools-20.3-py2.py3-none-any.whl => python/virtualenv/virtualenv_support/setuptools-25.2.0-py2.py3-none-any.whl
extra : rebase_source : d8cef816464fb494a8134967bf912d9dabe41b84
2016-08-16 08:46:57 -07:00
Gregory Szorc
6c01848d23 Bug 1295439 - Upgrade pip to 8.1.2; r=glandium
Should be a drop-in replacement.

MozReview-Commit-ID: 5934X9tS29g

--HG--
rename : python/virtualenv/virtualenv_support/pip-8.1.1-py2.py3-none-any.whl => python/virtualenv/virtualenv_support/pip-8.1.2-py2.py3-none-any.whl
extra : rebase_source : 01d234565de37041f79f3f4498eec1d6fadfe005
2016-08-16 08:46:11 -07:00
Carsten "Tomcat" Book
5c90a99952 merge mozilla-inbound to mozilla-central a=merge 2016-06-29 16:13:05 +02:00
Gregory Szorc
d46f71b8c0 Bug 1279564 - Return a 2-tuple from get_state_dir(); r=glandium
This matches the implementation from mach_bootstrap.py.

MozReview-Commit-ID: 8kZCKuIsAMQ

--HG--
extra : rebase_source : 59b1f3d595e1663603363bb712da9cb74c3ba0e0
extra : amend_source : e95774ade1c7d28ba1d880b6b9ef1d64eaa618a8
2016-06-10 09:39:29 -07:00
Gregory Szorc
95de7f06e8 Bug 1279564 - Move get_state_dir() to own module; r=glandium
We'll be consolidating code from mach_bootstrap.py and mozboot.
We don't want mach_bootstrap.py to import bootstrap.py because it
imports nearly every module under mozboot. So establish a standalone
module with minimal dependencies to hold utility code. Move
get_state_dir() there.

MozReview-Commit-ID: Hw5VB5OZGCi

--HG--
extra : rebase_source : e083f9a5d2fabea308b7b884e9830f800758ae17
extra : amend_source : 0a7b5f42a937430170fdc16909c559f720085668
2016-06-10 09:33:14 -07:00
Gregory Szorc
a8add2ef97 NO BUG - Reference hg.mozilla.org/mozilla-unified instead of /firefox
DONTBUILD (NPOTB)

MozReview-Commit-ID: CnM3AEtRjVj

--HG--
extra : rebase_source : 7c3c873beaa8355c7055ae828dee0b0d0e4ed795
2016-06-27 13:54:15 -07:00
Ted Mielczarek
f04fd21cff bug 1280220 - find_program should append an exe extension to absolute paths on Windows. r=glandium
MozReview-Commit-ID: 2gaLnL5x2zR

--HG--
extra : rebase_source : 9f5941bbfa73b75c903a64a9be257d205236778d
2016-06-16 12:05:12 +01:00
James Graham
3ca7bb37ed Bug 1279811 - Make output of column number optional in mozlint, r=ahal
MozReview-Commit-ID: 7eGTJKPMMAc
2016-06-23 10:36:47 +01:00
Mike Shal
b7110a8a71 Bug 1275111 - Move artifact download/install into its own tier; r=glandium
This also fixes the issue of processing the artifacts twice in some
situations (bug 1275673). Note that the artifact download no longer
happens when a specific target is passed to 'mach build'.


MozReview-Commit-ID: Ktys6u3r1kG
2016-06-01 13:48:53 -04:00
Chris Manchester
4821b30b36 Bug 1278700 - Add missing libraries to Mac artifact builds to avoid failing in the packager when doing an artifact build on automation. r=mshal
MozReview-Commit-ID: 7wv57TcdLUR
2016-06-17 00:58:36 -07:00
Carsten "Tomcat" Book
ecdef8e6f4 merge mozilla-inbound to mozilla-central a=merge 2016-06-17 00:32:10 +01:00
Gregory Szorc
6011245964 Bug 1279563 - Clone unified Firefox repository; r=glandium
https://hg.mozilla.org/firefox now exists. It is a unified Firefox
repository containing the heads of all the major Firefox repos
(mozilla-central, inbound, aurora, beta, release, esrs, etc).

Having 1 unified repository is more useful and incurs less overhead
than N separate repos. We want to encourage the use of the unified
repository. So, we start cloning from it.

The unified repo on the server is configured in such a way that
manifest delta chains can become very long - over 30,000 deltas. This
can make manifest reading very slow and slow down many Mercurial
operations. The server compensates for this by setting
format.maxchainlen=10000 to limit the delta chains to 10,000.
Unfortunately, this setting is not preserved when clients do a
traditional clone: the changegroup consists of a single delta chain
and the client will use its own settings (often the default) to
break the chain. This will result in the client re-creating very long
delta chains. So, as part of initializing the new repo we configure
format.maxchainlen in its .hg/hgrc so it doesn't suffer from this
performance issue.

We could achieve the same result by passing the --config option to
`hg clone`. However, the option won't be preserved in the repo's
.hg/hgrc and subsequent `hg pull` operations could result in the
creation of very long delta chains. So we need to write the config
option in the .hg/hgrc. `hg clone` is equivalent to `hg init` +
`hg pull` anyway, so we just separate out the steps and insert a
write to .hg/hgrc in between.

We also set the "default" path (like `hg clone` would do).

DONTBUILD (NPOTB)

MozReview-Commit-ID: Fs4cz9YvdCv

--HG--
extra : rebase_source : 99e8239415f74d078c9a1a903355175cb54a8184
extra : amend_source : ee4bc9ef2b89fabdae6f14d0ab10ca12dc08b15d
2016-06-16 09:46:24 +01:00
Gregory Szorc
bf4ae47d54 Bug 1279563 - Offer to clone Firefox source repo during bootstrap; r=glandium
I've always been bothered that the one-line bootstrap configures your system
then leaves you on the hook to clone source code and configure the build
system. I'd like the bootstrap wizard to guide you through end-to-end.

This commit addresses part of the disconnect by offering to clone the
Mercurial source repository at the end of bootstrap.

We only offer to clone if we aren't running from a Firefox source checkout
(likely the one-line bootstrap invocation) and if we are in interactive
mode.

I'd like to eventually offer Git support here. Mercurial is the canonical
repo, so it makes sense to start with that.

MozReview-Commit-ID: 6TSZwxB3702

--HG--
extra : rebase_source : 5c35408a4f0e59d681ca28e5b23359c54927b513
extra : amend_source : f980b972e35a17e733e704e47efdd773b3633e45
2016-06-16 09:42:32 +01:00
Gregory Szorc
497ef8f99b Bug 1280022 - Fix gratuitous syntax error; r=me
DONTBUILD (NPOTB)
2016-06-15 23:00:16 +01:00
Gregory Szorc
84f709c221 Bug 1280022 - Search for hg.exe on Windows; r=glandium
Without this, we attempt to execute "hg" as a native Win32 program
and get the dreaded "%1 is not a valid Win32 application" error because
"hg" has a shebang and only executes inside a UNIX-like shell.

MozReview-Commit-ID: 5sUrxh1IxFC

--HG--
extra : rebase_source : b01d9b2f8ffc60da320f51a1b7e8a398781c373a
2016-06-15 22:49:11 +01:00
Mike Hommey
a4b157940a Bug 1278415 - Make the buildconfig module use MozbuildObject.from_environment. r=gps
The buildconfig module predates MozbuildObject.from_environment, and
it's about time to start factoring things out such that we only have
one way to get config.status data. This is step 1: making the
buildconfig module use MozbuildObject.from_environment.

Eventually, we'll want to remove the buildconfig module uses everywhere.
2016-06-16 11:43:35 +09:00
Mike Hommey
721ada9f07 Bug 1278415 - Ensure MOZ_CURRENT_PROJECT is set when running make directly in objdir. r=gps
The topobjdir-finding logic in mozbuild relies on MOZ_CURRENT_PROJECT
being set, and it's currently only set when going through client.mk.

On automation, during universal builds, make check is invoked directly
in one of the objdirs, so MOZ_CURRENT_PROJECT is not set. We've had
other similar problems in the past. Ensuring MOZ_CURRENT_PROJECT is set
in the objdir itself should reduce the risk of other such issues in the
future.
2016-06-16 11:43:30 +09:00
Mike Hommey
8a3b88f341 Bug 1278415 - Also write a mozinfo for js standalone builds. r=gps
Historically, a mozinfo for js standalone build has not been necessary,
but with the move towards a) having things work with mach and b)
buildconfig using the MozbuildObject.from_environment in next patch,
mozinfo becomes necessary (it's required for
MozbuildObject.from_environment to find the directory is an objdir).

Interestingly, hazard builds do both a js standalone build and a desktop
Firefox build at the same time, both of which are done with MOZCONFIG
set in the environment... with the Firefox mozconfig. The result of now
writing a mozinfo for js standalone builds is that in that case, they
end up with a reference to the mozconfig, which the build system then
reads, and finds a MOZ_OBJDIR, which then doesn't match the js
standalone build objdir. So for those builds, reset MOZCONFIG.
2016-06-16 11:43:23 +09:00
Andrew Halberstadt
13a551f7f9 Bug 1277641 - [mozlint] Add --no-filter option to make experimenting locally easier, r=smacleod
This makes it easier to lint a path that otherwise wouldn't have been linted due to the include/exclude
directives. Now, you can pass in -n/--no-filter instead of needing to modify the linter configuration file.

MozReview-Commit-ID: GMJuE2C1NyY

--HG--
extra : rebase_source : 03627e930f76903ad629cb01b58c4ae7372e4bb1
2016-06-02 15:14:07 -04:00
Gregory Szorc
f0ab95aa08 Bug 1277406 - Delete now-unused Mercurial setup wizard; r=glandium
The wizard has been ported to the version-control-tools repository
and in-tree consumers have been switched to consume it from there. This
code is now dead. Kill it.

References to the now-defunct code have been removed/updated.

MozReview-Commit-ID: 5fpCXdNIp8L

--HG--
extra : rebase_source : 6c1e2363793fe2cd3a506ce5d962788657871203
extra : histedit_source : c40d2203aaa54bbd48e4e2b46178e277dcdc2e3f
2016-06-09 13:20:53 -07:00
Gregory Szorc
854ef84c06 Bug 1277406 - Use the bootstrapper code for mach mercurial-setup; r=glandium
The Mercurial setup wizard has now been ported to the version-control-tools
repository, where it has testing and integrates better with Mercurial
configs.

The bootstrapper has been taught how to invoke the new version of the
Mercurial setup wizard.

This commit switched `mach mercurial-setup` to call the bootstrapper
code for invoking the Mercurial setup wizard from version-control-tools.
As of this commit, the Mercurial setup wizard in tools/mercurial is
unused.

MozReview-Commit-ID: 3xzgOYZWTZn

--HG--
extra : rebase_source : 56697d504ff41ad02d77ddd1241cebafe610751a
extra : histedit_source : feb7450130c447dc74e059173f5b54544c020929
2016-06-09 13:19:04 -07:00
Gregory Szorc
c67e0b8843 Bug 1277406 - Offer to configure Mercurial during bootstrap; r=glandium
If a state directory is available and we're running in interactive mode
(or have been told otherwise), we now configure Mercurial during
bootstrap.

This consists of cloning version-control-tools to the state directory
(mimicking code in `mach mercurial-setup` today) and running the
config wizard from version-control-tools.

Code for cloning/updating repositories has been stolen from
tools/mercurial/hgsetup.

As the inline TODO notes, I'd like to eventually support
configuring Git during bootstrap. Since Mercurial is the canonical VCS
for Firefox and since we already have a Mercurial setup wizard (and
don't have a Git one yet), I don't think we should block on implementing
Git support.

MozReview-Commit-ID: 1FZyWIlHZNy

--HG--
extra : rebase_source : c727017bbdc703399fa67e1d831280441026614b
extra : histedit_source : fdb124447b4e80277cfd70fb65a24e0947c89c60
2016-06-01 18:15:17 -07:00
Gregory Szorc
903cb58073 Bug 1277406 - Prompt to create the state directory; r=glandium
Currently, on first run of `mach` it prompts you to create a state
directory. The hand-off between bootstrap and `mach` has always
bothered me because bootstrap is supposed to get your system in a good
state.

In this commit, we teach the bootstrap tool to create the state
directory when not present. This duplicates functionality from `mach`.
The justification for the duplication is explained by inline comment.

In future commits, we'll build on this work to have the bootstrapper
run the Mercurial config wizard, which needs this state directory.

MozReview-Commit-ID: CPKVuRJ3peM

--HG--
extra : rebase_source : 085b67183ec4fda8a23ead3328130c962c95617d
extra : histedit_source : 3ba31232521f624bcf9d0cc5a99033083c1f3657
2016-06-01 18:33:13 -07:00
Gregory Szorc
517e7b2b60 Bug 1277406 - Move mach mercurial-setup implementation into bootstrap; r=glandium
This begins the consolidation of `mach mercurial-setup` into
`mach bootstrap`. The first step is to move the content of the
mach_commands.py file into the bootstrapper's.

I'm not crazy about adding the sys.path entry for tools/mercurial.
I intend to clean this up later.

MozReview-Commit-ID: Cq56wPG8sO1

--HG--
extra : rebase_source : 48d6d2631760c9333bf99285673430948085630e
extra : histedit_source : e062f6fbc0ae9678347801b4a1f1c9b6912afd52
2016-06-01 17:06:01 -07:00
Justin D'Arcangelo
26ebe8e651 Bug 1272102 - FlyWeb Android UI. r=sebastian
--HG--
extra : amend_source : b1bac8800988d31790a64a293403336375e5effd
2016-06-08 21:37:06 -04:00
Andrew Halberstadt
fc24b11e43 Bug 1271734 - Move all eslint related infrastructure to tools/lint, r=miker
This commit simply moves 'testing/eslint' to 'tools/lint/eslint' and the eslint related
mach command from 'python/mach_commands.py' to 'tools/lint/mach_commands.py'. It shouldn't
have any functional change on running eslint, either through mach or taskcluster.

This is in preparation for bug 1258341, to make the diffs there a little easier to read.

MozReview-Commit-ID: K03sn9lv9Lv

--HG--
rename : testing/eslint/eslint-plugin-mozilla/LICENSE => tools/lint/eslint/eslint-plugin-mozilla/LICENSE
rename : testing/eslint/eslint-plugin-mozilla/docs/balanced-listeners.rst => tools/lint/eslint/eslint-plugin-mozilla/docs/balanced-listeners.rst
rename : testing/eslint/eslint-plugin-mozilla/docs/import-browserjs-globals.rst => tools/lint/eslint/eslint-plugin-mozilla/docs/import-browserjs-globals.rst
rename : testing/eslint/eslint-plugin-mozilla/docs/import-globals.rst => tools/lint/eslint/eslint-plugin-mozilla/docs/import-globals.rst
rename : testing/eslint/eslint-plugin-mozilla/docs/import-headjs-globals.rst => tools/lint/eslint/eslint-plugin-mozilla/docs/import-headjs-globals.rst
rename : testing/eslint/eslint-plugin-mozilla/docs/index.rst => tools/lint/eslint/eslint-plugin-mozilla/docs/index.rst
rename : testing/eslint/eslint-plugin-mozilla/docs/mark-test-function-used.rst => tools/lint/eslint/eslint-plugin-mozilla/docs/mark-test-function-used.rst
rename : testing/eslint/eslint-plugin-mozilla/docs/no-aArgs.rst => tools/lint/eslint/eslint-plugin-mozilla/docs/no-aArgs.rst
rename : testing/eslint/eslint-plugin-mozilla/docs/no-cpows-in-tests.rst => tools/lint/eslint/eslint-plugin-mozilla/docs/no-cpows-in-tests.rst
rename : testing/eslint/eslint-plugin-mozilla/docs/reject-importGlobalProperties.rst => tools/lint/eslint/eslint-plugin-mozilla/docs/reject-importGlobalProperties.rst
rename : testing/eslint/eslint-plugin-mozilla/docs/var-only-at-top-level.rst => tools/lint/eslint/eslint-plugin-mozilla/docs/var-only-at-top-level.rst
rename : testing/eslint/eslint-plugin-mozilla/lib/globals.js => tools/lint/eslint/eslint-plugin-mozilla/lib/globals.js
rename : testing/eslint/eslint-plugin-mozilla/lib/helpers.js => tools/lint/eslint/eslint-plugin-mozilla/lib/helpers.js
rename : testing/eslint/eslint-plugin-mozilla/lib/index.js => tools/lint/eslint/eslint-plugin-mozilla/lib/index.js
rename : testing/eslint/eslint-plugin-mozilla/lib/processors/xbl-bindings.js => tools/lint/eslint/eslint-plugin-mozilla/lib/processors/xbl-bindings.js
rename : testing/eslint/eslint-plugin-mozilla/lib/rules/.eslintrc => tools/lint/eslint/eslint-plugin-mozilla/lib/rules/.eslintrc
rename : testing/eslint/eslint-plugin-mozilla/lib/rules/balanced-listeners.js => tools/lint/eslint/eslint-plugin-mozilla/lib/rules/balanced-listeners.js
rename : testing/eslint/eslint-plugin-mozilla/lib/rules/import-browserjs-globals.js => tools/lint/eslint/eslint-plugin-mozilla/lib/rules/import-browserjs-globals.js
rename : testing/eslint/eslint-plugin-mozilla/lib/rules/import-globals.js => tools/lint/eslint/eslint-plugin-mozilla/lib/rules/import-globals.js
rename : testing/eslint/eslint-plugin-mozilla/lib/rules/import-headjs-globals.js => tools/lint/eslint/eslint-plugin-mozilla/lib/rules/import-headjs-globals.js
rename : testing/eslint/eslint-plugin-mozilla/lib/rules/mark-test-function-used.js => tools/lint/eslint/eslint-plugin-mozilla/lib/rules/mark-test-function-used.js
rename : testing/eslint/eslint-plugin-mozilla/lib/rules/no-aArgs.js => tools/lint/eslint/eslint-plugin-mozilla/lib/rules/no-aArgs.js
rename : testing/eslint/eslint-plugin-mozilla/lib/rules/no-cpows-in-tests.js => tools/lint/eslint/eslint-plugin-mozilla/lib/rules/no-cpows-in-tests.js
rename : testing/eslint/eslint-plugin-mozilla/lib/rules/reject-importGlobalProperties.js => tools/lint/eslint/eslint-plugin-mozilla/lib/rules/reject-importGlobalProperties.js
rename : testing/eslint/eslint-plugin-mozilla/lib/rules/var-only-at-top-level.js => tools/lint/eslint/eslint-plugin-mozilla/lib/rules/var-only-at-top-level.js
rename : testing/eslint/eslint-plugin-mozilla/moz.build => tools/lint/eslint/eslint-plugin-mozilla/moz.build
rename : testing/eslint/eslint-plugin-mozilla/package.json => tools/lint/eslint/eslint-plugin-mozilla/package.json
rename : testing/eslint/manifest.tt => tools/lint/eslint/manifest.tt
rename : testing/eslint/npm-shrinkwrap.json => tools/lint/eslint/npm-shrinkwrap.json
rename : testing/eslint/package.json => tools/lint/eslint/package.json
rename : testing/eslint/update => tools/lint/eslint/update
extra : rebase_source : bb44b6285acf4625079cb6a3aaca7d9ada778c3a
2016-06-02 15:38:36 -04:00
Chris AtLee
e1b0b79d4d Bug 1275998 - L10n repacks should use the same compression settings for omni.ja as en-US r=glandium
MozReview-Commit-ID: DwuERh5MjX7

--HG--
extra : rebase_source : f447a41ebe48ab075327e0c0f8372d72976b6333
2016-05-27 08:37:09 -04:00
Carsten "Tomcat" Book
733eeabb87 Backed out changeset 6134b92d1b08 (bug 1277483) 2016-06-07 11:46:16 +02:00
Ms2ger
dcb03a5c62 Bug 1277483 - Another followup to fix bustage. 2016-06-07 11:00:31 +02:00
Chris Manchester
6e0414ca1a Bug 1277841 - Use defines and substs from the artifact mach command instead of importing buildconfig in artifacts.py r=glandium
MozReview-Commit-ID: 8fMtTWR93Bw

--HG--
extra : rebase_source : f7e4b2057fea8ecbbcfe15b52226f4a15865e855
2016-06-06 16:14:21 -07:00
Mike Hommey
a9067e9211 Bug 1244446 - Run automation build steps before postflight_all. r=gps,r=ted
Killing the sccache background daemon is part of postflight_all, but in
the current setup, postflight_all happens at the end of a "normal" build,
but we run automation build steps after that.

What happens then is that more compilations happen (gtests), which start
sccache again, but there's nothing to kill sccache again once this is
all done.

Now that the OSX universal builds postflight is gone, it is not
necessary for postflight_all to happen before the automation build steps.
So ensure postflight_all scripts happen last.

The downside of this change is that this now prevents sccache.log from
being uploaded, but we should probably send processed data to the graph
server instead.
2016-06-07 07:41:22 +09:00
Carsten "Tomcat" Book
c51c48ac35 Backed out changeset 1d2c46c8c7c7 (bug 1244446) 2016-06-06 14:28:44 +02:00
Mike Hommey
8fdf97ddfe Bug 1244446 - Run automation build steps before postflight_all. r=gps,r=ted
Killing the sccache background daemon is part of postflight_all, but in
the current setup, postflight_all happens at the end of a "normal" build,
but we run automation build steps after that.

What happens then is that more compilations happen (gtests), which start
sccache again, but there's nothing to kill sccache again once this is
all done.

Now that the OSX universal builds postflight is gone, it is not
necessary for postflight_all to happen before the automation build steps.
So ensure postflight_all scripts happen last.

The downside of this change is that this now prevents sccache.log from
being uploaded, but we should probably send processed data to the graph
server instead.
2016-06-06 14:18:39 +09:00
Nathan Hakkakzadeh
db1f388642 Bug 1275437 - Moved installing of Python into an install_python method in the windows bootstrapper; r=gps
The correct version of Python will get installed from the install_python method instead of with the system packages.

This is more in-line with how a bootstrapper *should* extend from the base bootstrapper.

MozReview-Commit-ID: JIMGF7XKL02

--HG--
extra : rebase_source : dc70bdf555afe0a0dfb253e01381b5e6fa52eee3
2016-05-31 17:15:31 -07:00
Nathan Hakkakzadeh
452a80bc35 Bug 1275437 - Fixed some offending version checks that were inhereted from the BaseBootstrapper r=gps
Overrode BaseBootstrapper.which to append '.exe' to any which checks since (hopefully) anything the bootstrapper looks for, must be a windows executable.

Changed base bootstrapper class to use str instead of unicode to avoid a bug in the MinGW version of Python where subprocces.Popen will not accept environment variables that are in unicode instead of str.

MozReview-Commit-ID: 4m8xNifawYS

--HG--
extra : rebase_source : 455b518b099fdba347626ab93b85ddbd44f1f977
2016-05-31 11:20:34 -07:00
Nathan Hakkakzadeh
ee6484c3fa Bug 1275437 - Added installing of Mercurial to Windows boostrapper. r=gps
Added convenience method for installing from pip.

Windows bootstrapper implements upgrade_mercurial to install mercurial from pip.

MozReview-Commit-ID: ClqNA2NmQcc

--HG--
extra : rebase_source : 8107bbca70b0e1e6208cc37f114ad524472174b8
2016-05-26 10:38:58 -07:00
Nathan Hakkakzadeh
3567dafbb6 Bug 1275437 - Windows bootstrapper installs necessary system and browser packages that come from pacman. r=gps
Windows bootstrapper checks if pacman is installed before continuing.

Added a convenience method similar to BaseBootstrapper.which that works with the mingw version of python in msys2.

MozReview-Commit-ID: 6AG2c18KF0U

--HG--
extra : rebase_source : a76fecf19d81d05e1515647b60f118c590dd3518
2016-05-26 09:53:14 -07:00
Nathan Hakkakzadeh
a1591449e7 Bug 1275437 - Added methods for interacting with pacman. r=gps
These new convenience methods let the bootstrapper update the local package list, upgrade all installed packages, and install new packages.

MozReview-Commit-ID: KZPyBl0OU6Z

--HG--
extra : rebase_source : 6a345b5e0cce7c0095dc1213d6609c1ca6a58920
2016-05-26 09:50:02 -07:00
Nathan Hakkakzadeh
7bfde45213 Bug 1275437 - Added placeholder for Windows bootstrapper. r=gps
Created a WindowsBootstrapper class that raises a NotImplementedError when initialized.

As WindowsBootstrapper is implemented, set $MOZ_WINDOWS_BOOTSTRAP to '1' in your environment to test it.

Bootstrapper now detects if the system is being run on Windows, and if it is dispatches to the WindowsBootstrapper.

MozReview-Commit-ID: 3x6PDPuLtzs

--HG--
extra : rebase_source : 250232493a19f20cf3c2218618373cd9ae4b966f
2016-05-25 16:32:09 -07:00
Trevor Saunders
b31db5b19b bug 985566 - add some pretty printers to .gdbinit r=froydnj r=glandium 2016-06-02 13:33:07 -04:00
Andrew Halberstadt
031698ae90 Bug 1273634 - [mozlint] Add a treeherder formatter, r=jgraham
This is a really simple and ugly formatter that is compatible with
treeherder's error highlighting mechanism. It is designed to be identical
to the current eslint output on treeherder:
https://dxr.mozilla.org/mozilla-central/rev/4d63dde701b47b8661ab7990f197b6b60e543839/tools/lint/eslint-formatter.js

Eventually eslint will also use this and we can remove that file. Once
bug 1276486 is fixed, we can make this look a little nicer. But for now
it gets the job done.

MozReview-Commit-ID: CwfWPcwWFxF

--HG--
extra : transplant_source : %F3PJ%CB%27%A5%82U%D2%CF%B3%9E%A7%9F%0F%A4%F4%E9%5D%BB
2016-05-28 23:38:30 -04:00
Carsten "Tomcat" Book
c30c6ba10e Backed out changeset c48f3b04c9de (bug 1273634) 2016-06-02 15:05:01 +02:00
Andrew Halberstadt
df97806e5f Bug 1273634 - [mozlint] Add a treeherder formatter, r=jgraham
This is a really simple and ugly formatter that is compatible with
treeherder's error highlighting mechanism. It is designed to be identical
to the current eslint output on treeherder:
https://dxr.mozilla.org/mozilla-central/rev/4d63dde701b47b8661ab7990f197b6b60e543839/tools/lint/eslint-formatter.js

Eventually eslint will also use this and we can remove that file. Once
bug 1276486 is fixed, we can make this look a little nicer. But for now
it gets the job done.

MozReview-Commit-ID: CwfWPcwWFxF

--HG--
extra : rebase_source : 8dd39aefec1064e0836c847c6d223db43df4755b
2016-05-28 23:38:30 -04:00
Chris Manchester
79fb27c7a1 Bug 1274090 - Attempt to convert str objects containing non-ascii characters in Python configure rather than failing outright. r=glandium,gps
MozReview-Commit-ID: CxFqFXS7Dh9

--HG--
extra : rebase_source : cd5136461756248335245d433b579dd06d266c97
2016-05-31 10:34:05 -07:00
Carsten "Tomcat" Book
743296ac11 Merge mozilla-central to fx-team 2016-05-30 15:31:42 +02:00
Sebastian Kaspari
8a40b11133 Bug 1247047 - Update build tools to 23.0.3 and Google Play Services to 8.4.0. r=ahunt
MozReview-Commit-ID: 3KZfrc4SL2D

--HG--
extra : rebase_source : bb9844047b01909ac5e9972db844732042389635
2016-05-23 17:46:06 +02:00
Chris Manchester
c373236c7a Bug 1276037 - Update artifact builds to be able to find Linux taskcluster builds. r=mshal
MozReview-Commit-ID: 7ERnMW9xIwC

--HG--
extra : rebase_source : bb850a4d9366b67bb74420fde8b6e2772824ee14
2016-05-26 18:11:19 -07:00
Mike Hommey
fa78b01aa0 Bug 1275419 - Add support for the --option=+a,-b kind of options in python configure. r=chmanchester 2016-05-26 21:29:56 +09:00
Stephen Pohl
15ea9c51d6 Bug 1275622 - Artifact builds busted due to updater name change on OSX. r=cmanchester 2016-05-25 12:07:52 -07:00
Gregory Szorc
dd8c6db496 Bug 1267781 - Bump modern Mercurial version to 3.7.3; r=smacleod
These variables specify a version of Mercurial that is considered
modern and won't trigger giant warnings about being out of date.

We bump to 3.7.3 because 3.7.3 contains security fixes and it is
important for as many users as possible to get these security fixes.

We also update the messaging to indicate security issues with older
releases.

MozReview-Commit-ID: H4utKINrW0V

--HG--
extra : rebase_source : 5247fec94d7df351ef3c7bb2aa60396bb19a6196
extra : amend_source : 70b9aa52cde71d11e2b6d65a1a83567b8a0c7965
2016-04-26 12:11:29 -07:00
Gregory Szorc
2d6fb1ed77 Bug 1275297 - Create Visual Studio project files by default on Windows; r=glandium
Now that the VisualStudio backend will no-op if nothing has changed, it
should be safe to always run this backend.

On first run, backend generation takes ~3.5s on my machine. On subsequent run,
it takes ~1.5s. Wall time for a no-op config.status is now ~15.7s. We could like
make the Visual Studio backend faster by not writing so many project files.
But this would require consolidating libraries in moz.build files. And that's
out of scope for this change.

We drop the check for MSVS_VERSION because it won't always be defined on
MinGW/GCC builds. We simply default to "2015" if it isn't set.

MozReview-Commit-ID: 5W38HMGmcuV

--HG--
extra : rebase_source : 302d76277058819c115f3c2518b8cb2067971950
extra : source : 408319d87eacb28848efeab0346eb815440adade
2016-05-24 08:47:24 -07:00
Nathan Hakkakzadeh
eeb05c1181 Bug 1257095 - Bootstrapper now checks if Python interpreter is version 2.6 or 2.7 so users get a readable error instead of a stack trace. r=gps
Should be a stopgap until bootstrapper is ported to Python 3.

MozReview-Commit-ID: 2NNC3jMftr9

--HG--
extra : rebase_source : 9d903dc0830369a84206c56136fb90006f9ad842
2016-05-24 15:49:49 -07:00
Gregory Szorc
dba3191147 Bug 1275297 - Write VisualStudioVersion to solution file; r=chmanchester
There is probably a way to dynamically retrieve the version. But rather
than take the chance we'd query the wrong thing, let's just parse the
version that Visual Studio writes to the solution file when saving it and
use it.

With this change, generating the VisualStudio build backend should not change
any files unless the build config has changed. This means we can generate
Visual Studio files at will without causing Visual Studio to complain
about the solution and other files changing and needing reloading.

MozReview-Commit-ID: 1udZ72SLEzP

--HG--
extra : rebase_source : d15bff5b30a021dc1180e48fb7bb0d6c84871b69
2016-05-24 08:21:41 -07:00
Gregory Szorc
ef99842bf6 Bug 1275297 - Write MinimumVisualStudioVersion to solution file; r=chmanchester
Visual Studio will write this variable to an ancient Visual Studio
version (2010 I believe) if we don't specify it. Explicitly write the
variable to the minimum Visual Studio version we support.

MozReview-Commit-ID: 8Y0im48OM2G

--HG--
extra : rebase_source : 7b1f4cfe778c6258dce068b2aec8b6acd8e85102
2016-05-24 08:14:06 -07:00
Gregory Szorc
96ada3b958 Bug 1275297 - Use proper header in solution file; r=chmanchester
Upon further examination, VS2013 and VS2015 share the same file format
version. They also write the internal version number in a comment, not
the user-facing production version.

MozReview-Commit-ID: 92HB0pEzeI6

--HG--
extra : rebase_source : ebf00ae704ccd44415f8d7054359c87287734926
2016-05-24 07:58:25 -07:00
Gregory Szorc
fb053cc0d2 Bug 1274444 - Check for null console before attempting to flash it; r=glandium
GetConsoleWindow() can return NULL. Previously, we may have passed a NULL
console reference into FlashWindowEx(). On my machine (when running in a
console), passing NULL doesn't seem to cause an error. But since we have
a report of this function hanging, it is quite possible it can cause
hangs in other scenarios. Since a NULL console won't result in any
notification, let's not call FlashWindowEx() when no console is available.

MozReview-Commit-ID: LrKX8weUkzX

--HG--
extra : rebase_source : 6c3fc724dbc038f6b51bbdc14d985202c47074e8
2016-05-20 14:22:38 -07:00
Nathan Hakkakzadeh
6a2720b1c2 Bug 1042068 - Added terminal-notifier to the list of packages that should be installed with homebrew. r=gps
Before, ./mach build would try to use terminal-notifier after building, but would not be able to since it isn't installed.

MozReview-Commit-ID: 4oBAVfOdcNs

--HG--
extra : rebase_source : 0930e9d4dc038e59f18beb85b4911552c76c0eed
2016-05-23 16:13:38 -07:00
Gregory Szorc
8cddc84662 Bug 1260299 - Remove "experimental" label of Visual Studio files; r=chmanchester
The label has been there for years. It isn't really experimental.
The Visual Studio solution still leaves a lot to be desired. But
let's not scare people away by calling it experimental.

MozReview-Commit-ID: 7UvsbsKNnWw

--HG--
extra : rebase_source : a7d3f824859629297a782a0883ebf78af1d8fa70
2016-05-19 21:56:28 -07:00
Gregory Szorc
9ad306489c Bug 1260299 - Use FileAvoidWrite when writing Visual Studio files; r=chmanchester
By using self._write_file() and FileAvoidWrite, we avoid writing files
unless they change. This means that Visual Studio won't want you to
reload the solution and projects whenever the backend is generated.
This means you can regenerate the backend all you want and chances are
it won't disrupt your Visual Studio experience.

Since self._write_file() creates parent directories for us, we were
able to remove this code.

If you run `mach build-backend --diff` with this commit, output will
change. For reasons I don't understand, we were producing XML with
e.g. \r\r\n sequences. This patch appears to restore \r\n. How
we got \r\r I don't know because I can't find anywhere in the code
where that can occur. But this commit does appear to restore sanity.

Also, it appears modern versions of Visual Studio (perhaps only VS2015)
doesn't write your project files. When I initially implemented Visual
Studio project generation several years ago, as soon as you loaded
the solution and hit "Save All" Visual Studio would re-save your files
using a slightly different formatting (it did some gnarly things with
XML indentation). VS2015 doesn't do this. So your files on disk should
be unmodified for longer, making Visual Studio a more viable development
environment. Yay.

MozReview-Commit-ID: 7CSk0dsLOli

--HG--
extra : rebase_source : 3cd04ba8ffed8fc8880de66b1f4fce1f6300b51c
2016-05-19 21:11:36 -07:00
Gregory Szorc
cff488fdeb Bug 1260299 - Allow _write_file to pass mode argument to FileAvoidWrite; r=chmanchester
Currently, self._write_file() instantiates FileAvoidWrite instances
with the default mode of 'rU' which uses universal newlines (\n).

Visual Studio project files use CRLF newlines. We want to use
self._write_file() in the Visual Studio backend (which predates
self._write_file). Prepare for this by passing the mode argument
through.

MozReview-Commit-ID: LHCUf3IrpJ8

--HG--
extra : rebase_source : be08d8e043ef625f8f846c38446e1430e072a665
2016-05-19 21:03:07 -07:00
Gregory Szorc
75c3a5c27e Bug 1260299 - Generate Visual Studio project files corresponding to current toolchain; r=chmanchester
If we're running VS2013, we generate VS2013 files. If we're running VS2015,
we generate VS2015 files. If we don't have a Visual Studio version
defined, refuse to generate project files (hopefully this doesn't
happen in the real world but I'm sure someone will complain if it does).

MozReview-Commit-ID: 5GdsbGmWPLB

--HG--
extra : rebase_source : 1a50c0fa5b7980ad25fb3ed3c1ec2c95f16996b6
2016-05-19 20:08:46 -07:00
Gregory Szorc
38070c5c36 Bug 1260299 - Support generating Visual Studio 2015 project files; r=chmanchester
Pretty straightforward.

MozReview-Commit-ID: ENYy9i34zCP

--HG--
extra : rebase_source : e9775d03f786350951db7f1ffd978c58f67beef6
2016-05-19 20:03:27 -07:00
Gregory Szorc
464f0e83c0 Bug 1260299 - Remove references to unsupported Visual Studio versions; r=chmanchester
We only support building with VS2013 and VS2015. Remove references
to older versions in the Visual Studio build backend.

MozReview-Commit-ID: 6QTSylqLwLF

--HG--
extra : rebase_source : d654f0e415dd5c1bfa1258633e26d467bea5535a
2016-05-19 19:59:11 -07:00
Ryan VanderMeulen
4cffb5461e Merge inbound to m-c. a=merge 2016-05-19 12:46:54 -04:00
Michael Ratcliffe
348a5cd296 Bug 1273623 - Optimize eslintModuleHasIssues. r=jryans
MozReview-Commit-ID: Iu1IhDCgLJm

--HG--
extra : histedit_source : 3d3397aeb732876e7d310a5f8a59b434bdd9902e
2016-05-18 16:45:49 +01:00
Ehsan Akhgari
ab999b8a97 Bug 1272976 - Don't import anything from the mozwebidlcodegen module globally; r=gps
This import makes out-of-tree builds of SpiderMonkey depend on
dom/bindings/mozwebidlcodegen needlessly.
2016-05-17 21:38:42 -04:00
Ehsan Akhgari
7ee16b69bc Bug 1272975 - Don't import anything from the reftest module globally; r=gps
These imports make an out-of-tree build of SpiderMonkey depend on
the reftest module, which means SpiderMonkey implicitly depends on
layout/tools/reftest.
2016-05-17 21:38:39 -04:00
Gregory Szorc
ba58598e13 Bug 1272768 - Teach mach resource-usage to load arbitrary URLs; r=chmanchester
Firefox automation now uploads resource usage JSON files as
job artifacts (see bug 1272202). Now that the build system
writes the same data format and `mach resource-usage` can
read this data format, let's teach `mach resource-usage`
to load arbitrary URLs. This allows people to view system
resource usage for arbitrary jobs in automation.

Currently, you have to look at Treeherder to find the URL to
the build-resources.json artifact. Perhaps in the future
we can make finding the URL easier. Or we could integrate
source resource viewing into Treeherder itself (this is
probably preferred).

This commit continues the tradition of `mach resource-usage`
being a hacked up mess. Instead of loading the URL in
the browser, we download the URL from Python then serve it
from the HTTP server running as part of `mach resource-usage`.
This is somewhat horrible. But it was easiest to implement.
It also conveniently bypasses any cross origin request
restrictions the browser may impose. So it is useful.

MozReview-Commit-ID: IR1Cfs7SrRN

--HG--
extra : rebase_source : b33231d482ca891c1b3331f472009518bf57f8c3
2016-05-12 17:01:36 -07:00
Gregory Szorc
bb011ff361 Bug 1272768 - Use mozsystemmonitor for writing JSON; r=chmanchester
We currently have our own system monitor serialization in
building.py. It predates as_dict() from mozsystemmonitor. Let's
use the "upstream" data format so we only have a single format
to consume.

This change required updating the in-tree resource viewer to
be compatible with the new data format.

This commit stops short of getting rid of the existing
data massaging code in building.py. Another day perhaps.

MozReview-Commit-ID: 1OJrSiyJjMX

--HG--
extra : rebase_source : 9782b2164d1735ed0872fe8c1637204d5b3b1313
2016-05-17 13:49:42 -07:00
Chris Manchester
3eb90d9dd1 Bug 1269513 - Implement PKG_CHECK_MODULES equivalent in Python configure. r=glandium
MozReview-Commit-ID: mhFMEG0UXz
2016-05-17 14:40:03 -07:00
Chris Manchester
2a763b7273 Bug 1269513 - Add a helper for check_output in Python configure. r=glandium
MozReview-Commit-ID: H3IX5HLyJeu
2016-05-17 14:40:03 -07:00
Chris Manchester
0a11236205 Bug 1269513 - Make queue_debug a no-op if called from within a queue_debug block. r=glandium
MozReview-Commit-ID: 2GO8fV8HseU
2016-05-17 14:40:03 -07:00
Wes Kocher
1dd8a84da8 Merge fx-team to central, a=merge 2016-05-17 14:15:06 -07:00
Michael Ratcliffe
d0f51c8409 Bug 1270851 - mach eslint should install eslint and their dependencies if not installed r=gps
--HG--
extra : amend_source : 875066804424fadccc32aa63f3bc31b76286b7c1
2016-05-13 14:06:08 +01:00
Andrew Halberstadt
b1445349ea Bug 1270506 - [mozlint] Add python flake8 linter, r=smacleod
For now, only the following two directories will be linted:
python/mozlint
tools/lint

New directories can be added by adding them to the 'include'
directive in tools/lint/flake8.lint. They all default to the
configuration specified in topsrcdir/.flake8. Subdirectories
can override this configuration by creating their own .flake8
file.

MozReview-Commit-ID: Eag48Lnkp3l

--HG--
extra : rebase_source : 6d98c9fef80055a48cc2622848aa04c3045b747e
2016-05-05 17:21:12 -04:00
Andrew Halberstadt
5f616862e3 Bug 1270506 - [mozlint] Refactor the include/exclude path filtering algorithm, r=smacleod
The current algorithm for filtering down tests is too naive. For example, given the following
directory structured:

parent
  - foo
    - bar
    - baz

And the following include/exclude directives:
include = ['foo']
exclude = ['foo/bar']

Then running ./mach lint parent and ./mach lint foo/baz should both lint all files in baz but
no files in bar. This provides a nice way to include/exclude directories, while allowing the
underlying linters to find appropriate files to lint *within* those directories.

tl;dr - Straight file paths (no globs) will be passed straight to the underlying linter as is.
While paths with globs will first be resolved to a list of matching file paths.

MozReview-Commit-ID: Eag48Lnkp3l

--HG--
extra : rebase_source : 18ce2231bc4198b1e811d39f9803f0d5e03d982e
2016-05-05 17:20:33 -04:00
Michael Ratcliffe
7b575a75a0 Bug 1265082 - ESLint jobs are apparently hitting the network r=me,dustin,pbro,jryans
So a few changes here:
- node_modules is downloaded using tooltool so that we dont need to rely on external infrastructure.
- We have a npm-shrinkwrap.json file that version locks all of our node packages.
- eslint, eslint-plugin-mozilla etc. are now all installed locally.

In reality this means that we don't hit the network and we don't force users into installing global packages.

./mach eslint --setup has also been improved. We install packages locally and display the path of the user's eslint binary (useful for configuring editors).

eslint-plugin-mozilla has been moved from testing/eslint-plugin-mozilla to /testing/eslint/eslint-plugin-mozilla.

The node_modules directory for eslint and other plugins is located in testing/eslint/.

MozReview-Commit-ID: 4SFSxzka6BS

--HG--
rename : testing/eslint-plugin-mozilla/LICENSE => testing/eslint/eslint-plugin-mozilla/LICENSE
rename : testing/eslint-plugin-mozilla/docs/balanced-listeners.rst => testing/eslint/eslint-plugin-mozilla/docs/balanced-listeners.rst
rename : testing/eslint-plugin-mozilla/docs/import-browserjs-globals.rst => testing/eslint/eslint-plugin-mozilla/docs/import-browserjs-globals.rst
rename : testing/eslint-plugin-mozilla/docs/import-globals.rst => testing/eslint/eslint-plugin-mozilla/docs/import-globals.rst
rename : testing/eslint-plugin-mozilla/docs/import-headjs-globals.rst => testing/eslint/eslint-plugin-mozilla/docs/import-headjs-globals.rst
rename : testing/eslint-plugin-mozilla/docs/index.rst => testing/eslint/eslint-plugin-mozilla/docs/index.rst
rename : testing/eslint-plugin-mozilla/docs/mark-test-function-used.rst => testing/eslint/eslint-plugin-mozilla/docs/mark-test-function-used.rst
rename : testing/eslint-plugin-mozilla/docs/no-aArgs.rst => testing/eslint/eslint-plugin-mozilla/docs/no-aArgs.rst
rename : testing/eslint-plugin-mozilla/docs/no-cpows-in-tests.rst => testing/eslint/eslint-plugin-mozilla/docs/no-cpows-in-tests.rst
rename : testing/eslint-plugin-mozilla/docs/reject-importGlobalProperties.rst => testing/eslint/eslint-plugin-mozilla/docs/reject-importGlobalProperties.rst
rename : testing/eslint-plugin-mozilla/docs/var-only-at-top-level.rst => testing/eslint/eslint-plugin-mozilla/docs/var-only-at-top-level.rst
rename : testing/eslint-plugin-mozilla/lib/globals.js => testing/eslint/eslint-plugin-mozilla/lib/globals.js
rename : testing/eslint-plugin-mozilla/lib/helpers.js => testing/eslint/eslint-plugin-mozilla/lib/helpers.js
rename : testing/eslint-plugin-mozilla/lib/index.js => testing/eslint/eslint-plugin-mozilla/lib/index.js
rename : testing/eslint-plugin-mozilla/lib/processors/xbl-bindings.js => testing/eslint/eslint-plugin-mozilla/lib/processors/xbl-bindings.js
rename : testing/eslint-plugin-mozilla/lib/rules/.eslintrc => testing/eslint/eslint-plugin-mozilla/lib/rules/.eslintrc
rename : testing/eslint-plugin-mozilla/lib/rules/balanced-listeners.js => testing/eslint/eslint-plugin-mozilla/lib/rules/balanced-listeners.js
rename : testing/eslint-plugin-mozilla/lib/rules/import-browserjs-globals.js => testing/eslint/eslint-plugin-mozilla/lib/rules/import-browserjs-globals.js
rename : testing/eslint-plugin-mozilla/lib/rules/import-globals.js => testing/eslint/eslint-plugin-mozilla/lib/rules/import-globals.js
rename : testing/eslint-plugin-mozilla/lib/rules/import-headjs-globals.js => testing/eslint/eslint-plugin-mozilla/lib/rules/import-headjs-globals.js
rename : testing/eslint-plugin-mozilla/lib/rules/mark-test-function-used.js => testing/eslint/eslint-plugin-mozilla/lib/rules/mark-test-function-used.js
rename : testing/eslint-plugin-mozilla/lib/rules/no-aArgs.js => testing/eslint/eslint-plugin-mozilla/lib/rules/no-aArgs.js
rename : testing/eslint-plugin-mozilla/lib/rules/no-cpows-in-tests.js => testing/eslint/eslint-plugin-mozilla/lib/rules/no-cpows-in-tests.js
rename : testing/eslint-plugin-mozilla/lib/rules/reject-importGlobalProperties.js => testing/eslint/eslint-plugin-mozilla/lib/rules/reject-importGlobalProperties.js
rename : testing/eslint-plugin-mozilla/lib/rules/var-only-at-top-level.js => testing/eslint/eslint-plugin-mozilla/lib/rules/var-only-at-top-level.js
rename : testing/eslint-plugin-mozilla/moz.build => testing/eslint/eslint-plugin-mozilla/moz.build
rename : testing/eslint-plugin-mozilla/package.json => testing/eslint/eslint-plugin-mozilla/package.json
extra : rebase_source : cf689f6cc170b9a22018c981a768f545f952e019
2016-05-02 00:22:31 +01:00
Mark Hammond
fde8284626 Bug 1272544 - artifact builds with git now only consider the last 500 revisions rather than all revisions for the last 500 commits. r=chmanchester
MozReview-Commit-ID: 21Y4S5t952d

--HG--
extra : rebase_source : c447adf697f9924d6738c15ccb8c0e170fed31d3
2016-05-13 15:27:27 +10:00
Ben Kelly
8ddb26fdbe Bug 1272748 Expose --enable-sm-promise config setting in mozinfo.json. r=mshal 2016-05-13 13:00:16 -07:00
Andrew Halberstadt
464b3a9f2e Bug 1273556 - [mozlint] Better SIGINT handling, return partial results on Ctrl-C, r=jgraham
Currently a bug in python (https://bugs.python.org/issue8296) is preventing a KeyboardInterrupt from
reaching the parent process, meaning we can't kill the process with SIGINT. There is a workaround to
this bug, but instead I decided to ignore SIGINT in the parent process completely. Now, each child
process is responsible for handling SIGINT on its own. Since child processes should all shutdown
relatively quickly anyway, this effectively also ends the parent process.

The benefit of doing it this way is that each child process can return the results they have collected
to date. So when a developer hits Ctrl-C, they'll still see some (but not all) formatted lint output.
The downside is that a poorly implemented external linter could block the parent process from exiting
quickly, but if this happens we should just fix the linter.

MozReview-Commit-ID: 2tRJgtmoPYP

--HG--
extra : rebase_source : e72282bcc29c9b22690168dc973a817236cdf8ca
2016-05-17 12:24:42 -04:00
Chris Manchester
726b97efc8 Bug 1269517 - Implement check_header in Python configure. r=glandium
MozReview-Commit-ID: 1AypZg3f79a
2016-07-26 15:27:19 -07:00
Chris Manchester
414823b805 Bug 1269517 - Implement try_compile for Python configure. r=glandium
MozReview-Commit-ID: AE7uRVneGXJ
2016-07-26 15:27:19 -07:00
Chris Manchester
46a1df138f Bug 1269517 - Outfit the configure tests' fake compiler to handle compilation calls. r=glandium
MozReview-Commit-ID: 80kwRjHUJb9
2016-07-26 15:27:19 -07:00
Mike Hommey
6070365bf2 Bug 1289946 - Work around preprocessor default defines in get_compiler_info(). r=gps
Some compilers on some platforms by default #define some of the values
we're using in the source we use in get_compiler_info(). Namely,
mingw-gcc #defines WINNT by default, and the WINNT in the source is then
replaced by 1, breaking the check.

The C preprocessor, fortunately, doesn't expand macros inside C strings.
So instead of `%KERNEL WINNT`, we output `%KERNEL "WINNT"`, and strip
out the double quotes. For good measure, we do this for all values in
the source used in get_compiler_info().

--HG--
extra : rebase_source : dd4cc2b8c3bf0cb508b09598706b74ccc12162be
2016-09-08 07:27:56 +09:00
Wes Kocher
c85d7b355d Backed out 2 changesets (bug 1272768) for breaking builds in mozharness
Backed out changeset 5dcc540bd8c8 (bug 1272768)
Backed out changeset 580cb0cd5a96 (bug 1272768)
2016-05-16 11:38:03 -07:00
Gregory Szorc
d897b3b204 Bug 1272768 - Teach mach resource-usage to load arbitrary URLs; r=chmanchester
Firefox automation now uploads resource usage JSON files as
job artifacts (see bug 1272202). Now that the build system
writes the same data format and `mach resource-usage` can
read this data format, let's teach `mach resource-usage`
to load arbitrary URLs. This allows people to view system
resource usage for arbitrary jobs in automation.

Currently, you have to look at Treeherder to find the URL to
the build-resources.json artifact. Perhaps in the future
we can make finding the URL easier. Or we could integrate
source resource viewing into Treeherder itself (this is
probably preferred).

This commit continues the tradition of `mach resource-usage`
being a hacked up mess. Instead of loading the URL in
the browser, we download the URL from Python then serve it
from the HTTP server running as part of `mach resource-usage`.
This is somewhat horrible. But it was easiest to implement.
It also conveniently bypasses any cross origin request
restrictions the browser may impose. So it is useful.

MozReview-Commit-ID: IR1Cfs7SrRN

--HG--
extra : rebase_source : 91f5f807c19643ac4d1edb8f6652110813f7e53f
2016-05-12 17:01:36 -07:00
Gregory Szorc
5b37de35f1 Bug 1272768 - Use mozsystemmonitor for writing JSON; r=chmanchester
We currently have our own system monitor serialization in
building.py. It predates as_dict() from mozsystemmonitor. Let's
use the "upstream" data format so we only have a single format
to consume.

This change required updating the in-tree resource viewer to
be compatible with the new data format.

This commit stops short of getting rid of the existing
data massaging code in building.py. Another day perhaps.

MozReview-Commit-ID: 1OJrSiyJjMX

--HG--
extra : rebase_source : b7c7824b84110f118223dc483b03398855fe9965
2016-05-13 13:31:43 -07:00
Chris Manchester
2f6600bc7f Bug 1257326 - Provide reasons for implied options when the caller provides an immediate value. r=glandium
MozReview-Commit-ID: A8IDPuwPqiP
2016-05-12 11:55:58 -07:00
Chris Manchester
a0e5625c9a Bug 1257326 - Add a parameter to restrict accepted origins for an option in python configure. r=glandium
MozReview-Commit-ID: 4Cme7fvl1fN
2016-05-12 11:55:58 -07:00
Chris Manchester
2bc5c65931 Bug 1257326 - Respect origins set by any caller of CommandLineHelper.add. r=glandium
Origins will be set for any caller of CommandLineHelper.add, but will only
be propagated if args are added to extra_args. This results in an incorrect
origin recorded for mozconfig injected arguments.

MozReview-Commit-ID: 9mJCaNHyd5C
2016-05-12 11:55:57 -07:00
Chris Manchester
e00bb9ee54 Bug 1267454 - Move java toolchain checks to Python configure. r=glandium
MozReview-Commit-ID: KEDkmJJsaUx
2016-05-12 11:55:57 -07:00
Chris Manchester
f99b0b2bf5 Bug 1267454 - Allow passing kwargs to the mocked check_output in configure tests. r=glandium
MozReview-Commit-ID: BH3nUUI9nwn
2016-05-12 11:55:57 -07:00
Chris Manchester
a91638058c Bug 1267454 - Set up a mock-able import for os.environ in configure tests. r=glandium
MozReview-Commit-ID: AtkkLC5xEip
2016-05-12 11:55:57 -07:00
Chris Manchester
463051b415 Bug 1267454 - Add a parameter to find_program and check_prog to allow searching the given paths instead of $PATH. r=glandium
MozReview-Commit-ID: F3lke9Q5rRR
2016-05-12 11:55:57 -07:00
Alexandre Poirot
be70f31de3 Bug 1271706 - Warn when eslint is outdated. r=gps 2016-05-11 07:16:33 -07:00
Joe Steele
4ed8d6276f Bug 1265272 - Update gen-eme-voucher.py to handle work on MacOSX binaries. r=ted
MozReview-Commit-ID: 5b1RTfXgrrk
2016-04-21 11:10:27 -04:00
Mike Shal
be8a00060c Bug 1265272 - Import altgraph 0.12; r=ted,gerv
MozReview-Commit-ID: 7mjFYfEGlHS
2016-04-21 13:49:29 -04:00
Mike Shal
09246b31f2 Bug 1265272 - Import macholib 1.7; r=ted,gerv
MozReview-Commit-ID: 1bPUuRQF2lQ
2016-04-21 11:46:07 -04:00
Wes Kocher
b17d7be7c1 Merge fx-team to central, a=merge 2016-05-06 15:57:08 -07:00
J. Ryan Stinnett
1b0b375ad7 Bug 1270596 - Upgrade to ESLint 2.9.0. r=ahal
MozReview-Commit-ID: IylFUWf1HVG
2016-05-06 10:41:04 -05:00
Mike Hommey
e0898b3dc1 Bug 1270446 - Automatically add --target argument when unit test class has a TARGET attribute. r=chmanchester 2016-05-06 21:24:09 +09:00
Mike Hommey
4af7d047e9 Bug 1270446 - Make it easier to derive compiler results. r=chmanchester 2016-05-06 21:24:02 +09:00
Mike Hommey
645ca5540c Bug 1270446 - Simplify the fake compiler definitions. r=chmanchester
Originally, the changes to FakeCompiler allowing overlays was meant to
be used for compiler target platform, but it turns out the
simplifications this allows on the compiler definitions themselves are
nice.
2016-05-06 21:23:56 +09:00
Mike Hommey
44a58b6529 Bug 1270446 - Allow to combine multiple FakeCompiler definitions. r=chmanchester 2016-05-06 21:23:47 +09:00
Mike Hommey
56ec8ac8b6 Bug 1270446 - Move CompilerPreprocessor, FakeCompiler and their tests to a separate file. r=chmanchester
This makes the toolchain.configure tests more prominent in the file.
2016-05-06 21:23:40 +09:00
Mike Shal
16febf4398 Bug 1269787 - Use _pretty_path instead of full path for inputs; r=glandium
We use _pretty_path when specifying the targets of generated files, so
we need to use _pretty_path for the inputs as well. Otherwise make won't
know that they refer to the same file, and result in "No rule to make
target" errors.


MozReview-Commit-ID: JTdLFbkX1J0
2016-04-29 13:43:25 -04:00
Mike Shal
4bb82a657d Bug 1269787 - Choose tier for GENERATED_FILES based on extension; r=glandium
Some generated files will depend on other generated files, but still
need to be in the export tier because they are C++ headers.


MozReview-Commit-ID: AFvp92lF0xy
2016-04-29 13:41:41 -04:00
Andrew Halberstadt
0484cb2aa7 Bug 1230962 - Create mach/build system integration for mozlint, r=smacleod
MozReview-Commit-ID: 74ma5uMOphe

--HG--
extra : rebase_source : 3b0594650a364ad598fc12cc38f3e4fd916ca26b
2016-03-18 13:54:07 -04:00
Andrew Halberstadt
bb96d51342 Bug 1230962 - Add python/mozlint for running several linters at once, r=smacleod
Mozlint provides two main benefits:
1. A common system for defining lints across multiple languages
2. A common interface and result format for running them

This commit only adds the core library, it does not add any consumers of mozlint just yet.

MozReview-Commit-ID: CSQzq5del5k

--HG--
extra : rebase_source : b520b96177281a1b1770edf53a01cbc2196f494f
2016-03-16 14:55:21 -04:00
Mike Hommey
7c22cf4c1b Bug 1264609 - Derive HOST_CXX from CXX when it makes sense. r=ted 2016-05-04 06:34:38 +09:00
Carsten "Tomcat" Book
f36d230b1f Merge mozilla-central to mozilla-inbound 2016-08-08 12:03:06 +02:00
Timothy Guan-tin Chien
1f59a0d6b9 Bug 1292407 - Make artifact install call git with cwd equal to topsrcdir, r=nalexander
MozReview-Commit-ID: 9clWaG40qSL

--HG--
extra : transplant_source : %B4%BB%A7%D9x%1A%84%7C%16%C9%E2O/%C0%CB%97%1F%EA%9CQ
2016-08-05 14:41:34 +08:00
Nathan Froyd
be0c08d89e Bug 1260208 - part 4 - update mozboot's android NDK URL for r11b and above; r=nalexander 2016-05-03 09:13:49 -04:00
Hector Zhao
a2dad95037 Bug 1268752 - Bug fix in locating eslint with npm. r=gps
MozReview-Commit-ID: 2020nKjC5kL

--HG--
extra : rebase_source : db5a653a6da48e066de407c9b994f6a71326b4c5
2016-04-29 10:50:40 +08:00
Gregory Szorc
cd0ac88627 NO BUG - Bump version of mach to 0.6
DONTBUILD (NPOTB)
2016-05-02 13:36:33 -07:00
Luca Greco
ef7f805759 Bug 1253697 - Support downloading debug artifact builds. r=nalexander
- enable debug artifact from a mozconfig file based on MOZ_DEBUG environment variable
- OSX debug artifact builds have 'mac64' instead of 'mac' into their file name
  (fix debug artifact build download on OSX)

MozReview-Commit-ID: 7kAvsTfwaCb

--HG--
extra : transplant_source : %E6v%25%B79M%02%7E%A9%8B%FF%24%03%D1%BDo%AB%0F%B49
2016-04-25 12:18:50 +02:00
Wes Kocher
20598f44f6 Backed out changesets baa6c68ec413,5b8583070c9e,2942bb31152c,dd2ad6863f53,c68772362633,c8db6695b991 (bug 1231981) a=backout
MozReview-Commit-ID: EoGyz071RoN

--HG--
extra : amend_source : 69d6593ae0a946ed6366513a2e186b43c7435440
extra : histedit_source : cdce5a0698d6e7996ae731cff56263abc202ae65%2Ca62e94bdb37fc3e9266884f283d732e61e0f4715
2016-04-27 10:24:37 -07:00
Matt Howell
dc6cd002ef Bug 1267437 - Generate projects in the Visual Studio backend for every binary generated by the build; r=gps
MozReview-Commit-ID: 5d7jl5NJSNj

--HG--
extra : amend_source : 30420bf751feb9b7067aa1b9ad77bd8d04b1b3f2
2016-04-26 09:31:14 -07:00
Byron Campen [:bwc]
a4e2b3e713 Bug 1231981 - Part 5: Install python packages we need in the virtualenv if not present. r=gps
MozReview-Commit-ID: 9PUHLMxHhQP

--HG--
extra : rebase_source : 5e863a5cf5d60c698d97c0f65070b89b2d8295bd
extra : source : 6848d362c947bf306b650cac7bb6a89981af474b
2016-03-16 15:40:17 -05:00
Gregory Szorc
0de1705927 Bug 1266999 - Stop writing XPT_NAME in backend.mk; r=glandium
It is unused and no longer serves a purpose.

MozReview-Commit-ID: ECzfSbqgA1z

--HG--
extra : rebase_source : 0e0104b42a73c2436b59f09732c27e78a2619ca1
2016-04-23 13:19:58 -07:00
Carsten "Tomcat" Book
e9599aa66e Backed out changeset 5a0d061f7548 (bug 1231981) 2016-04-25 16:28:50 +02:00
Byron Campen [:bwc]
c87769deb2 Bug 1231981 - Part 5: Install python packages we need in the virtualenv if not present. r=gps
MozReview-Commit-ID: 9PUHLMxHhQP

--HG--
extra : rebase_source : f7a4bcff98f436242167dac03cf58973be0e26e6
2016-03-16 15:40:17 -05:00
Mike Hommey
11908ff843 Bug 1266343 - Add unit tests for the toolchain checks. r=chmanchester 2016-04-22 09:04:05 +09:00
Mike Hommey
3b6aa4658f Bug 1266343 - Use an empty mozconfig from the source directory. r=chmanchester
When configure unit tests use an empty mozconfig, instead of creating an
empty temporary file, use an empty mozconfig from the source directory.
2016-04-22 09:03:38 +09:00
Mike Hommey
589f651a98 Bug 1266343 - Create a base class for configure tests, and use it for TestMozConfigure. r=chmanchester 2016-04-22 09:03:37 +09:00
Mike Hommey
44b5cc5dc5 Bug 1266343 - Extend the ConfigureTestSandbox to hook subprocess.Popen. r=chmanchester 2016-04-22 09:03:35 +09:00
Mike Hommey
9e530db748 Bug 1266343 - Move ConfigureTestSandbox to a common module for all configure tests. r=chmanchester 2016-04-22 09:03:31 +09:00
Mike Hommey
23548b6211 Bug 1266343 - Change FindProgramSandbox to override which.which instead of replacing find_program. r=chmanchester
Also make it more generic so that it can be reused for other tests.
2016-04-22 09:03:30 +09:00
Mike Hommey
a3cf230161 Bug 1266343 - Change ConfigureSandbox._apply_imports such that it becomes easy to override imports in unit tests. r=chmanchester 2016-04-22 09:03:28 +09:00
Mike Hommey
24ce400759 Bug 1266343 - Avoid _apply_imports happening twice for the same function. r=chmanchester 2016-04-22 09:03:26 +09:00
Mike Hommey
24fc0c73b9 Bug 1266343 - Use mozbuild.util.exec_ in the various configure tests. r=chmanchester
Because some older python 2.7 versions throw bogus errors when using the
exec statement as a function, use the function we added in bug 1264831
everywhere we use exec in the various configure tests. It doesn't take
much to trigger them, and the following changes ends up doing exactly
that.
2016-04-22 09:03:24 +09:00
Nathan Froyd
82c6f5d7a7 Bug 1163224 - add build system support for multiple Rust crates; r=glandium
Our current build system support for Rust compiles any Rust crate into a
so-called staticlib, which is a static library (.a file) that includes
the Rust runtime. That staticlib is then linked into libxul. For
supporting multiple crates, this approach breaks down, as linking
multiple copies of the Rust runtime is going to fail.

For supporting multiple crates, the approach taken here is to compile
each crate into a so-called rlib, which is essentially a staticlib
without the Rust runtime linked in. The build system takes note of
every crate destined for linking with libxul (treating them like static
libraries generated from C/C++ files), and generates a super-crate,
whimsically named "rul", that is compiled as a staticlib (so as to
include the Rust runtime) and then linked into libxul. Thus only one
copy of the Rust runtime is included, and the Rust compiler can take
care of any inter-crate dependencies.

This patch currently only supports Rust code in shared libraries, not in
binaries.
2016-04-21 09:54:01 -04:00
Carsten "Tomcat" Book
9eb45808ae merge mozilla-inbound to mozilla-central a=merge 2016-04-20 11:50:29 +02:00
Mike Hommey
66ab5aca5c Bug 1264482 - Use the EnumString type for the different values we get out of split_triplet. r=ted 2016-04-19 15:09:37 +09:00
Mike Hommey
3b84e5ed68 Bug 1264482 - Use the EnumString type for the compiler type. r=ted 2016-04-19 15:09:37 +09:00
Mike Hommey
f586735fa8 Bug 1264482 - Add an enumeration-like string type with a limited set of possible values. r=ted 2016-04-19 15:09:37 +09:00
Mike Hommey
fb65986e09 Bug 1264482 - Fake an arbitrary __name__ in sandboxed global. r=ted 2016-04-19 15:09:37 +09:00
Mike Hommey
0037774d91 Bug 1265063 - Fix the shell quoting regexp to properly match backslashes. r=gps 2016-04-19 15:09:37 +09:00
Bob Silverberg
d0c0684cc7 Bug 1263637 - Fix eslint 2 warnings for WebExtensions code. r=kmag
MozReview-Commit-ID: CNLX3xjIoNV

--HG--
extra : transplant_source : T%82%29%1A%0C.%D6%859%EF%F7c%99%84_%BF%90%1C%FCJ
2016-04-18 09:08:05 -04:00
Maja Frydrychowicz
0c371cb3e0 Bug 1261412 - Add mach python-test option to collect tests based on path alone; r=gps
MozReview-Commit-ID: 4rsG6sMPqpv

--HG--
extra : rebase_source : 4ef7599a8d6b60a6a81baf62564eebd92df7a585
2016-04-18 10:21:56 -04:00
Maja Frydrychowicz
50c8a09f37 Bug 1261412 - Relax test output requirement in mach python-test; r=gps
This accounts for default unittest and pytest output formatting,
in addition to mozunit.

MozReview-Commit-ID: 749CD0xQezX

--HG--
extra : rebase_source : 7a451c61d1ec41303b859b8fff4ec3dd2f84064c
2016-04-14 13:06:47 -04:00
Maja Frydrychowicz
6c05aa2a36 Bug 1261412 - Report when mach python-test collects no tests; r=gps
MozReview-Commit-ID: GDlshUUjO7C

--HG--
extra : rebase_source : 21c028d6e77b4ee6eeb9e0040d1d6ea19f79d7f8
2016-03-22 18:53:57 -04:00
Chris Manchester
108befa0c5 Bug 1264703 - Follow up: don't print unhandled BUILDSTATUS messages when running |./mach configure| r=gps
DONTBUILD

MozReview-Commit-ID: BzUnpqreYSb
2016-04-15 17:38:41 -07:00
Chris Manchester
7bc7322566 Bug 1264697 - Change the format of all-tests.json to reduce redundant data. r=gps
The format provided to the build system by the manifest parser is highly redundant:
every test lists all variables for that test, and many tests use a large
support-files entry in DEFAULT that ends up in individual test objects. This
patch stores these DEFAULTS per-manifest rather than per-test to save disk
space, resulting in about a ~22mb smaller all-tests.json file. The
in-memory representation of tests is not changed by this patch, as the defaults
are again propagated to individual tests as all-tests.json is read by the test
resolver.

MozReview-Commit-ID: CEJaevfS5s7
2016-04-15 17:20:04 -07:00
Chris Manchester
73cdc0519a Bug 1264817 - Traverse nspr and icu during disable compile environment builds now that we aren't using their build systems. r=glandium
This also allows us to use the in-tree icu data file for artifact builds.

MozReview-Commit-ID: 4FWd7PV4ONC
2016-04-15 09:17:40 -07:00
Mike Hommey
45128858a8 Bug 1264831 - Defer applying @imports until the function is actually called. r=gps 2016-04-15 18:56:08 +09:00
Mike Hommey
1537683537 Bug 1264831 - Work around issues with the exec statement in older python 2.7 versions. r=gps 2016-04-15 18:56:08 +09:00
Mike Hommey
1cc2a86d6d Bug 1264831 - Try to detect decorators declared in the sandbox and add some automatic @wraps. r=gps 2016-04-15 18:56:08 +09:00
Mike Hommey
5ac7830115 Bug 1264831 - Add a few presumably harmless builtins to the sandbox. r=gps
as well as os.path.normcase.
2016-04-15 18:56:08 +09:00
Mike Hommey
f3054520af Bug 1260327 - Expose a MOZ_CONFIGURE_OPTIONS variable containing configure options. r=chmanchester 2016-04-15 08:14:05 +09:00
Mike Hommey
e1dc6088a2 Bug 1260327 - Remove the --recheck option of config.status. r=chmanchester
With mozconfigs injecting options, it never really worked as intended.
2016-04-15 08:14:05 +09:00
Mike Hommey
9bb5221e5e Bug 1257448 - Don't emit an error on unknown implied options when their resolved value is None. r=nalexander
imply_option has no effect when the resolved value is None, so the same
logic can be applied when checking for unknown implied options.

This allows to imply options that may not always exist (because they are
in a configure file that is optionally included).

Ideally, it would be better not to do this, but until we have something
better than optionally included configure files for
--disable-compile-environment, this is a necessary evil.
2016-04-15 08:14:05 +09:00
Chris Manchester
6a21a3345a Bug 1256979 - Move MOZ_CHROME_FILE_FORMAT to Python configure. r=glandium
The config variable is re-named to avoid confusion, because it is not set by
--enable-chrome-format.

MozReview-Commit-ID: 37gvjGGSkRc
2016-04-14 12:26:38 -07:00
Mike Hommey
3098248f0e Bug 1256571 - Change the execution model of python configure. r=chmanchester
So far, everything was essentially executed at "declaration". This
made the sandbox code simpler, but to improve on the tooling around
python configure (for tests and introspection), we need to have more
flexibility, which executing everything at declaration doesn't give.

With this change, only @depends functions depending on --help, as
well as templates, are executed at the moment the moz.configure
files are included in the sandbox. The remainder is executed at the
end.
2016-04-14 07:29:42 +09:00
Mike Hommey
f7fa631d45 Bug 1256571 - Allow ConfigureSandbox.run to not include a given file. r=chmanchester 2016-04-14 07:29:42 +09:00
Mike Hommey
9da99bc058 Bug 1256571 - Rename ConfigureSandbox.exec_file to include_file. r=chmanchester 2016-04-14 07:29:42 +09:00
Mike Hommey
6f3578276f Bug 1256571 - Move applying implied options to ConfigureSandbox._value_for(). r=chmanchester 2016-04-14 07:29:42 +09:00
Mike Hommey
ee283cf2ee Bug 1256571 - Move running @depends functions to ConfigureSandbox._value_for(). r=chmanchester 2016-04-14 07:29:42 +09:00
Mike Hommey
5527cfee67 Bug 1256571 - Move Options handling to ConfigureSandbox._value_for(). r=chmanchester 2016-04-14 07:29:42 +09:00
Mike Hommey
f4f04ae1c2 Bug 1256571 - Ensure consistent values for variables in closures. r=chmanchester 2016-04-14 07:29:42 +09:00
Mike Hommey
dd20a01b39 Bug 1256571 - Delay resolving the reason for an implied option. r=chmanchester 2016-04-14 07:29:42 +09:00
Mike Hommey
56bbf297c7 Bug 1256571 - Add a generic method to get the results of Options and DependsFunctions. r=chmanchester
instead of manually reading the member variable containing the results.
2016-04-14 07:29:42 +09:00
Mike Hommey
a1c0231f85 Bug 1256571 - Move resolving @depends dependencies to just before running the decorated function. r=chmanchester 2016-04-14 07:29:42 +09:00
Andrew Halberstadt
e34562488e Bug 1255450 - mach settings documentation fix, DONTBUILD, r=me
MozReview-Commit-ID: AQ3w2oCPQeN

--HG--
extra : topic : bar
extra : rebase_source : 2e0de1688fca11bd62c88bd66ef9cf9ad97206f8
extra : amend_source : 45c025594d645a9252989c8f13387de05e49d4dd
2016-04-12 21:03:36 -04:00
Mike Hommey
6684d3c1ee Bug 1259382 - Make mozbuild.shellutil.quote more useful for e.g. creating printable command lines. r=ted 2016-04-13 17:11:36 +09:00
Mike Hommey
36a7c444e8 Bug 1263296 - Work around getpreferredencoding inconsistencies. r=gps
Whether it uses locale._parse_localename or nl_langinfo makes it have completely
different results in weird and/or widespread locale settings (LC_ALL=UTF-8 or
LC_ALL=C).
2016-04-13 06:54:22 +09:00
Mike Hommey
45c833afcb Bug 1254374 - Add various failure tests to test_configure.py. r=nalexander
At the same time, improve some of the failures handling paths.
2016-04-13 06:54:22 +09:00
Mike Hommey
5311ba292c Bug 1254374 - Add exception message checks to test_options.py. r=nalexander 2016-04-13 06:54:22 +09:00
Mike Hommey
77a8fe8505 Bug 1254374 - Remove TestConfigure.get_result. r=nalexander 2016-04-13 06:54:22 +09:00
Mike Hommey
03fcfe8491 Bug 1254374 - Remove the old TestConfigure.test_imports test. r=nalexander
It now duplicates the test added in bug 1256573, which is actually better.
2016-04-13 06:54:22 +09:00
Mike Shal
15969d8d22 Bug 1245701 - Allow absolute paths with wildcards in FINAL_TARGET_FILES; r=glandium
MozReview-Commit-ID: AnD0NeQrIpD

--HG--
extra : rebase_source : 0ddb0ecb7c44659493fe29d0523a4ddc721befe4
2016-04-05 17:40:31 -04:00
Andrew Halberstadt
683014d78f Bug 1255450 - [mach] Create setting for defining command aliases, r=gps
These config options can be defined in ~/.mozbuild/machrc or topsrcdir/machrc.
Aliases work similar to the identically named option in an hgrc.

For example:

[alias]
browser-test = mochitest -f browser
mochitest = mochitest -f plain


MozReview-Commit-ID: CnOocEslRUI

--HG--
extra : rebase_source : 2a6fa154aca7fea8f159ed840728951a37bc52ec
2016-03-23 17:34:35 -04:00
Andrew Halberstadt
fbc37fe116 Bug 1255450 - [mach] Enable runtime configuration files, r=gps
Runtime configs have been implemented for awhile, but disabled. This patch
enables configuration. Config files will be loaded in the following order
(later files override earlier ones):

1a. $MACHRC
1b. $MOZBUILD_STATE_PATH/machrc (if $MACHRC is unset)
2. topsrcdir/machrc
3. CLI via --settings

Note: .machrc may be used instead of machrc if desired.

MozReview-Commit-ID: IntONAZLGML

--HG--
extra : rebase_source : ff79b129eaea7cca5064d30fa6ddc76fceb9669b
2016-03-28 11:18:24 -04:00
Andrew Halberstadt
e0018e5245 Bug 1255450 - [mach] Simplify managing of locale documentation for settings, r=gps
This adds a |mach settings locale-gen| subcommand to automatically generate locale
specific documentation for settings. It also refactors |mach settings-create| to
|mach settings| and moves |mach settings| to |mach settings -l|. Finally it performs
some misc cleanup mostly related to locales.

MozReview-Commit-ID: 1VWLcb9ehAH

--HG--
extra : rebase_source : 8f580217123d79e66323ca4be948a3297ae4ced3
2016-03-23 17:49:15 -04:00
Andrew Halberstadt
c105e8a3b4 Bug 1255450 - [mach] Implement 'wildcard' settings for enabling sections with user-defined options, r=gps
Some sections should support user-defined options. For example, in an [alias] section, the option names
are not well-defined, rather specified by the user. This patch allows user-defined option names for any
section that has a 'section.*' option defined. Even with 'section.*', option types are still well-defined.

MozReview-Commit-ID: L34W9v9Fy28

--HG--
extra : rebase_source : 9333f552edead9bf1cf464e28ef8fbbb9bed5597
2016-03-28 10:52:16 -04:00
Andrew Halberstadt
5167efa8e4 Bug 1255450 - [mach] Replace ConfigProvider class with config_settings attribute, r=gps
Defining settings was a little complicated. First it required overriding a '_register_settings'
method, and then it required making N calls to a second 'register_setting' method within that.

This patch simplifies the process of defining settings by only requiring a
'config_settings' attribute. This attribute should be a list of tuples:

[
  ('<section>.<option>', '<type>', <default>, set(<choices)),
]

`default` and `choices` are optional. Alternatively, 'config_settings' can be a callable
that returns a list of tuples in the same format. This still allows for greater flexibility
for more advanced cases.

MozReview-Commit-ID: F4DTTNJdJsa

--HG--
extra : rebase_source : e3dd455ba559cd3992c9c1b3eaf021c9e0707cc1
2016-03-21 17:55:41 -04:00
Chris Pearce
0bc89f86e9 Bug 1263506 - Ensure MOZ_GMP_PATH in gtests always has native dir separators. r=glandium
Without this, the GeckoMediaPlugin gtests fail, as the GMP stack is unable to
load GMPs from disk.

MozReview-Commit-ID: GGXdm2L5IF9
2016-04-12 16:12:19 +12:00
Chris Manchester
13b3496e7a Bug 1263436 - Show artifact build download progress by default. r=nalexander
MozReview-Commit-ID: 2kdEx87MRQm

--HG--
extra : rebase_source : 24490750a953dc9596118475d298a2115d66b3ad
2016-04-11 16:39:11 -07:00
Andreas Farre
dc5d8fed7a Bug 1254313 - Log less when running mach run --debug within emacs. r=gps
Check if the INSIDE_EMACS environment variable is set and change the
log level to WARNING to not confuse the emacs/mi with logging messages.

MozReview-Commit-ID: 5AWZ6swGJsE

--HG--
extra : transplant_source : b%24%8Ff6%968%8A%02%E2%07%DD%C6Y9E%CB%7C.%E4
2016-04-11 11:20:52 -04:00
Chris Manchester
52083635d3 Bug 1261456 - Combine support-files listed in [DEFAULT] with any listed per-test rather than overriding. r=gps
This requires a change to how we process test manifests in the build system:
now, whenever we see a support file mentioned in a manifest, we require that
file isn't already in that test's support files, but if we see a support file
that was already seen in some other test, the entry is ignored, but it is not
an error. As a result of this change, several duplicate support-files entries
needed to be removed.

MozReview-Commit-ID: G0juyxzcaB8

--HG--
rename : testing/mozbase/manifestparser/tests/test_default_skipif.py => testing/mozbase/manifestparser/tests/test_default_overrides.py
2016-04-11 11:21:20 -07:00
Sebastian Hengst
364386e3cf Backed out changeset cb4b18566f30 and 7c4d19e3376f (bug 1163224) for build bustage. r=backout on a CLOSED TREE 2016-04-11 19:43:04 +02:00
Andrew Halberstadt
3098112a41 Bug 1262495 - [mach] Allow running root commands that have subcommands on their own, r=gps
For example, say there is a command 'foo' that has a subcommand 'bar'. Prior to this, it was not
possible to run:
./mach foo

as its own independent command. The above would instead print the subcommand help for 'bar'.

MozReview-Commit-ID: JU4dXoxnCyu

--HG--
extra : rebase_source : bb15532ad39456b270071bc60d7b15e15af04e48
2016-04-06 11:41:13 -04:00
Nathan Froyd
45af5cd66c Bug 1163224 - add build system support for multiple Rust crates; r=glandium
Our current build system support for Rust compiles any Rust crate into a
so-called staticlib, which is a static library (.a file) that includes
the Rust runtime.  That staticlib is then linked into libxul.  For
supporting multiple crates, this approach breaks down, as linking
multiple copies of the Rust runtime is going to fail.

For supporting multiple crates, the approach taken here is to compile
each crate into a so-called rlib, which is essentially a staticlib
without the Rust runtime linked in.  The build system takes note of
every crate destined for linking with libxul (treating them like static
libraries generated from C/C++ files), and generates a super-crate,
whimsically named "rul", that is compiled as a staticlib (so as to
include the Rust runtime) and then linked into libxul.  Thus only one
copy of the Rust runtime is included, and the Rust compiler can take
care of any inter-crate dependencies.

This patch currently only supports Rust code in shared libraries, not in
binaries.  The handling for the rul crate is placed in the common
backend, with a special hook for derived backends to handle shared
library objects.
2016-04-11 11:05:44 -05:00
Wes Kocher
dfc7e5253f Merge m-c to inbound, a=merge
MozReview-Commit-ID: 9YZdlIARozU
2016-04-08 16:47:03 -07:00
Dave Townsend
66e6b814ee Bug 1257246: Update the version of eslint that mach installs. r=gps
MozReview-Commit-ID: mcb4QwtM96

--HG--
extra : rebase_source : 710a89b734eaae190584a6d9a34335b9c22039a3
extra : histedit_source : 64fc37853702895e49a4aaf3a441ddacf211a203
2016-03-17 10:58:12 -07:00
Dave Townsend
f2c61524b0 Bug 1262978: Run npm to get the path to installed binaries if eslint can't otherwise be found. r=gps
MozReview-Commit-ID: HFWID6QhpS2

--HG--
extra : rebase_source : bed90ecf7b59b348ec5047c9ac9e8cc31a2aa193
extra : amend_source : 97f81e0bb34098c1aaad1b2ad4355d3f0ad6f72c
2016-04-07 13:18:40 -07:00
George Wright
e75c590407 Revert "Bug 1114647 - Rename "plugin-container" to "firefox-webcontent" and create a new executable target for Win32 called "firefox-plugin-container" r=ted,jhamer" because of widespread breakage due to whitelisted executable names in third parties
This reverts commit a94b5f861bd0d25043a3bb7a0c3128acf8c0b93a.


--HG--
rename : ipc/contentproc/firefox-webcontent.cpp => ipc/contentproc/plugin-container.cpp
2016-04-08 13:34:40 -04:00
Ryan VanderMeulen
76ab6cf240 Bug 1262207 - Add a nightly_build entry to mozinfo. r=ahal
--HG--
extra : rebase_source : 5ce90a4c5ac0dd6efe8eeca61a4ec2b90fe9b569
2016-04-06 12:04:29 -04:00
Mike Shal
a1f020d488 Bug 1261283 - allow GENERATED_FILES to write to multiple outputs; r=glandium
MozReview-Commit-ID: DbBoZZnasTo
2016-04-01 10:38:22 -04:00
Mike Hommey
c0808e5f6d Bug 1262087 - Make the @checking callback not alter the behavior for bools. r=chmanchester 2016-04-06 07:25:26 +09:00
Mike Hommey
6878c848b4 Bug 1262087 - Use textwrap.dedent in test_checks_configure.py. r=chmanchester 2016-04-06 07:25:15 +09:00
Chris Manchester
b5ce5e9f35 Bug 1262231 - Fix handling of ICU for artifact builds. r=nalexander
The data file is required as of bug 1239083.

MozReview-Commit-ID: XhETIoUYH8

--HG--
extra : rebase_source : 2d1200a72dadb3e0e8211fa58d3f07bc2453061f
2016-04-05 13:00:21 -07:00
Mike Hommey
c977f50c17 Bug 1261018 - Make log.queue_debug output debug log when receiving an exception. r=ted 2016-04-05 07:16:44 +09:00
Mike Hommey
8155d8f286 Bug 1261235 - Handle non-ascii in configure logging. r=ted
When reading config.log, with old-configure output, we may get non-ascii
strings, but that currently fails because we're using plain open() to
read it. So use encoded_open() instead (which does the same job for
other files in the same script).

Because the build system can be encapsulated in mach, python configure
can have a pipe as stdout/stderr, and in that case, sys.stdout/stderr
have an ascii encoding, failing to print out anything that doesn't
fit in ascii, consequently failing to print the things we've read from
config.log. So reopen stdout and stderr with the right encoding in
the configure output handler.
2016-04-05 07:16:44 +09:00
Chris Manchester
a7138cfc10 Bug 1242051 - Install test files to the objdir lazily rather than with each invocation of mach. r=gps
This moves test installation for test files out of the monolithic install
manifest for $objdir/_tests, and determines the test and support files
to install based on the object derived from all-tests.json. Additionally,
the files resulting from TEST_HARNESS_FILES are installed, as some tests
will depend on them.

As a result, the time to install tests when invoking the test runner will
scale with the number of tests requested to run rather than the entire set
of tests in the tree, resulting in significantly less overhead.

MozReview-Commit-ID: LeIrUVh1yD4
2016-04-04 14:56:52 -07:00
Chris Manchester
fc15bfd0ee Bug 1242051 - Extract support files processing from the emitter. r=gps
This extracts the logic from the emitter that handles support files in ini
manifests to a seperate function in testing.py, so that this logic can be
re-used to determine how to install all the files necessary to run a particular
test fon the corresponding object in all-tests.json.

MozReview-Commit-ID: GSEhEGm09IL
2016-04-04 14:56:52 -07:00
Nick Alexander
bc6d047594 Bug 1261438 - Generalize Android artifact package names. r=chmanchester
DONTBUILD NPOTB

If the target triple is noisy, let's just accept -arm and -i386
instead of being strict.  We can be more strict when things have
settled.

MozReview-Commit-ID: FDNJ3TuY51d

--HG--
extra : rebase_source : 3db70abe6818fbe0360406f20de899867232df02
extra : amend_source : d324c229b1713adb844407078d6cc4d00d84b56d
2016-04-01 14:28:42 -07:00
Nathan Froyd
276caac476 Bug 1260749 - quiet unpacking of Android SDK and NDK downloads; r=nalexander
We send the output to /dev/null or equivalent, but there's no need to
generate a bunch of extraneous output and consume cycles unnecessarily.
2016-03-30 10:46:14 -04:00
Wes Kocher
56b7127be0 Merge fx-team to central, a=merge
MozReview-Commit-ID: 8rupfWq5Wa6
2016-04-01 15:43:36 -07:00
Mike Shal
2176c3ac7f Bug 1259806 - Remove toolkit/components/ctypes/tests/Makefile.in; r=ted
MozReview-Commit-ID: EVCZVXukFQf
2016-03-25 14:25:17 -04:00
Carsten "Tomcat" Book
e873a45f68 Merge mozilla-central to fx-team 2016-04-01 11:49:37 +02:00
Mike Hommey
ad20b091b6 Bug 1260624 - Add support for simple comparisons of ReadOnlyNamespaces. r=ted 2016-04-01 09:43:26 +09:00
George Wright
5c454494ce Bug 1114647 - Rename "plugin-container" to "firefox-webcontent" and create a new executable target for Win32 called "firefox-plugin-container" r=ted,jhamer
--HG--
rename : ipc/app/module.ver => ipc/app/plugin-container/module.ver
rename : ipc/contentproc/plugin-container.cpp => ipc/contentproc/firefox-webcontent.cpp
2016-04-01 02:12:59 -04:00
Nick Alexander
9ab9fa5451 Bug 1260241 - Implement Fennec packaging in Python. r=glandium
A few notes:

* This doesn't accommodate general OMNIJAR_NAME definitions.  The
  current name (assets/omni.ja) is baked into the product in a few
  places, and is very unlikely to change, so we just error out if this
  isn't true.

* This makes the package-manifest.in file authoritative for what goes
  into assets/, libs/, and the APK root.  Previously,
  package-manifest.in wrote into assets/ and libs/ but
  upload-files-APK.mk also had a convoluted DIST_FILES filtering
  process to work through before a file actually made it into the APK.

* This is intentional about repackaging.  It simplifies the repackage
  step rather than trying to make unpackage-then-repackage the same as
  just package.  I pretty much never get repackaging correct the first
  time; this should help.  (I've manually tested it.)

* The ALREADY_SZIPPED during repackaging is subsumed by the previous
  check if UNPACKAGE is set.  The custom linker expects stored, not
  deflated, libraries, so there's some small legwork to accommodate
  that in mozjar.

MozReview-Commit-ID: JvVtIUSX685

--HG--
extra : rebase_source : fd8a9cfe3dc364d23b1065995db599f99e676e38
2016-03-28 20:01:07 -07:00
Nick Alexander
45f7d697fc Bug 1260241 - Pre: Add compress option to Jarrer.add. r=glandium
MozReview-Commit-ID: FWXeBOi9FTY

--HG--
extra : rebase_source : 290bb95e0d9133094c4bf4b99f04ccd3c598c6d8
2016-03-28 19:02:05 -07:00
Mike Hommey
f6cb862439 Fixup test_check_configure after bug 1260066 on a CLOSED TREE. r=me 2016-03-30 08:36:32 +09:00
Mike Hommey
9d9550f0f5 Fixup bug 1256573 to work on buggy older python on a CLOSED TREE. r=me 2016-03-30 08:15:44 +09:00
Mike Hommey
f1ed025e8b Bug 1260066 - Don't allow to use sandbox primitives from anywhere but global scope and templates. r=nalexander
The initial goal of templates was to provide a way to write shorter
constructs for some generic tasks during configure. But the limitations
of the sandbox and the properties of templates made them used for more
general functions.

Consequently, this led to templates having to be available from
anywhere, which, in turn, led to difficult to introspect constructs.
With bug 1257823, we've made almost everything use set_config and
similar functions from the global scope, but we don't enforce that
those primitives are only used at the global scope.

This change does that: it enforces that primitives are only used at
the global scope. Or in templates.

Now, since templates were used for other purposes than generic uses
of other primitives, we now allow non-template functions to be declared.
Those can be used everywhere, but don't have access to the sandbox
primitives.
2016-03-30 07:08:00 +09:00
Mike Hommey
2a7c335181 Bug 1256573 - Remove the @advanced primitive. r=nalexander 2016-03-30 07:07:55 +09:00
Mike Hommey
9877dc7b96 Bug 1256573 - Switch configure tests to use @imports instead of @advanced. r=nalexander 2016-03-30 07:07:52 +09:00
Mike Hommey
abc3477a74 Bug 1256573 - Add a new @imports primitive that allows to import modules into the decorated functions. r=nalexander
Currently, we have @advanced, that gives the decorated functions access
to all the builtins and consequently, to the import statement.
That is a quite broad approach and doesn't allow to easily introspect
what functions are importing which modules.

This change introduces a new decorator that allows to import modules one
by one into the decorated functions.

Note: by the end of the change series, @advanced will be gone.
2016-03-30 07:07:50 +09:00
Mike Hommey
0ea59bc1a8 Bug 1256573 - Add missing primitives to the ConfigureSandbox documentation. r=nalexander
Not directly related, but since this bug is about to add another primitive...
2016-03-30 07:07:48 +09:00
Mike Hommey
943acf7e2b Bug 1259351 - Properly sandbox functions that are decorated with templates. r=nalexander 2016-03-30 07:07:47 +09:00
Mike Hommey
6eee113ee8 Bug 1259960 - Make check_prog more flexible about the list of programs it will check. r=chmanchester 2016-03-30 07:07:42 +09:00
Mike Hommey
028ebf69ff Bug 1259960 - Make check_prog more flexible about the input it receives. r=chmanchester 2016-03-30 07:07:40 +09:00
Mike Hommey
18a002cd83 Bug 1259960 - Allow to pass a string to check_prog to describe what is being looked for. r=chmanchester
So far, we've been using the lowercase of the variable name, but it's
not enough for some special cases. Those special cases could do their
own business, but then, they'd have to duplicate 90% of check_prog,
which is less desirable.
2016-03-30 07:07:38 +09:00
Mike Hommey
29c3394b1b Bug 1259960 - s/DummyFunction/DependsFunction/. r=chmanchester
While DummyFunction is descriptive of what the instances are (and they
can't even be called), the various uses of isintance(obj, DummyFunction)
are kind of confusing, especially when they are in moz.configure land
(and this bug is about to add another one).
2016-03-30 07:07:37 +09:00
Mike Hommey
cbf367717b Bug 1257516 - Make check_prog opt-in to the queued debug log messages. r=ted 2016-03-30 07:07:13 +09:00
Mike Hommey
97ea49f191 Bug 1257516 - Allow to assign Exceptions in the global scope. r=ted
But do not advertise it too much.
2016-03-30 07:06:26 +09:00
Mike Hommey
c7b519d6df Bug 1257516 - Make the ConfigureOutputHandler keep some debug messages to print out when an error occurs. r=ted
The feature is made opt-in by using a context manager.
2016-03-30 07:06:20 +09:00
Mike Hommey
a2c9191daf Bug 1257516 - Add a unit test for check_prog(). r=ted
At the same time, shell quote the result it prints if it needs to be.
2016-03-30 07:00:22 +09:00
Mike Hommey
0e183bb384 Bug 1257516 - Allow the log_handle given to the virtualenv manager to be a file-like object. r=ted
subprocess functions doesn't directly take file-like objects, so add a
minimalistic wrapper to do the right thing instead of subprocess.call
when given a file-like object.
2016-03-30 07:00:12 +09:00
Mike Hommey
ba80937ba0 Bug 1257516 - Send the debug output from our logger to config.log. r=ted
And since the file is also used for old-configure, close our handle on
the file before spawning old-configure, and make old-configure append
there instead of truncating the file.
2016-03-30 07:00:07 +09:00
Mike Hommey
47d916d8f0 Bug 1257516 - Expose a sandboxed logger to moz.configure and use it. r=ted
This removes the warn() function and makes the die() function use the logger
instead of print.
2016-03-30 07:00:03 +09:00
Mike Hommey
c15e6d00c5 Bug 1257516 - Initialize a logger for the ConfigureSandbox, and use it for the help. r=ted 2016-03-30 06:59:59 +09:00
Mike Hommey
e22a5082f7 Bug 1257516 - Add a file-like class that sends writes to a callback. r=ted 2016-03-30 06:59:37 +09:00
Mike Hommey
cf67fa8b15 Bug 1257516 - Add a logging handler class to print out configure output on stdout/stderr. r=ted 2016-03-30 06:58:09 +09:00
Nicholas Nethercote
0f418f3874 Bug 1253512 (part 1) - Overhaul DMD's "sampling". r=erahm.
DMD currently uses a very hacky form of "sampling" by default to avoid
recording stack traces for all blocks. This makes DMD run faster than when it
records all stack traces.

This patch changes the sampling method used; in fact, it avoids "sampling" at
all. The existence of all heap blocks is now recorded exactly, but by default
we only record an allocation stack for each heap block if a Bernoulli trial
succeeds. This choice works well because getting the stack trace is ~100x
slower than recording the block's existence.

Overall, this approach is simpler and it also gives better output -- the choice
of which blocks to record allocation stacks for is mathematically sound, no
stack trace gets blamed for allocations it didn't do, and block counts and
sizes are now always exact.

Other specific things changed.

- All notion of sampling is removed from the various data structures.

- The --sample-below option is removed in favour of --stacks={partial,full}.

- The format of the JSON output file has changed.

- The names of various test files have changed to reflect concept changes.

--HG--
rename : memory/replace/dmd/test/full-empty-cumulative-expected.txt => memory/replace/dmd/test/complete-empty-cumulative-expected.txt
rename : memory/replace/dmd/test/full-empty-dark-matter-expected.txt => memory/replace/dmd/test/complete-empty-dark-matter-expected.txt
rename : memory/replace/dmd/test/full-empty-live-expected.txt => memory/replace/dmd/test/complete-empty-live-expected.txt
rename : memory/replace/dmd/test/full-unsampled1-dark-matter-expected.txt => memory/replace/dmd/test/complete-full1-dark-matter-expected.txt
rename : memory/replace/dmd/test/full-unsampled1-live-expected.txt => memory/replace/dmd/test/complete-full1-live-expected.txt
rename : memory/replace/dmd/test/full-unsampled2-cumulative-expected.txt => memory/replace/dmd/test/complete-full2-cumulative-expected.txt
rename : memory/replace/dmd/test/full-unsampled2-dark-matter-expected.txt => memory/replace/dmd/test/complete-full2-dark-matter-expected.txt
rename : memory/replace/dmd/test/full-sampled-live-expected.txt => memory/replace/dmd/test/complete-partial-live-expected.txt
extra : rebase_source : 47d287405dc5e9075f08addaba49e879c2c6e23f
2016-02-24 14:42:22 +11:00
Mike Hommey
272cfa7a49 Bug 1259683 - Don't make imply_option() do anything when --help is on the command line. r=nalexander
This also adds the same tests that exist for set_config and set_define
and that would have caught the `configure --help` breakage this change
fixes.
2016-03-26 10:34:29 +09:00
Mike Hommey
2651933d3a Bug 1259683 - Forgotten change to test_configure.py before landing bug 1257823. r=nalexander
This was suggested during review, and was applied to 2 of the 3 patches
where this applied, and the imply_option tests were left out. This fixes
it.
2016-03-26 10:34:29 +09:00
Mike Hommey
7ff92bc0ec Bug 1259683 - Miscellaneous small cleanups in the mozbuild.configure module. r=nalexander
This is not related to the bug, but are drive-by cleanups.
2016-03-26 10:34:29 +09:00
Mike Shal
d4bd3eb4ca Bug 1252931 - Add support for generic OBJDIR_FILES and OBJDIR_PP_FILES; r=gps
MozReview-Commit-ID: 6H435DeMHie
2016-03-17 09:13:36 -04:00
aleth
6da499d398 Bug 1259174 - Fix absolute paths in TEST_HARNESS_FILES. r=mshal
--HG--
extra : amend_source : 73b8a4ad68d24ff5f04c17d95423565070aac04b
2016-03-23 22:44:12 +01:00
Gregory Szorc
4a5c6aaf2d Bug 1259551 - Add --no-download to virtualenv.py invocation; r=ted
Before, virtualenv.py may have attempted to use 3rd party
(untrusted) pip indices when installing wheels for pip,
setuptools, and wheel. These dependencies are vendored in
the tree for a reason. So don't let virtualenv contact the
outside world.

MozReview-Commit-ID: 6BCU0WegJO1

--HG--
extra : rebase_source : 6231235486e8cfa784e67e8b18004dd63d8aaf36
2016-03-24 12:34:47 -07:00
Gregory Szorc
4262e28d06 Bug 1259551 - Upgrade vendored virtualenv to 15.0.1; r=ted
While we're addressing virtualenv foo, let's ensure we are running
the latest version. This also pulls in newer versions of pip (8.1.1),
setuptools (20.3), and wheel (0.29.0).

MozReview-Commit-ID: G5uSy66Kd6u

--HG--
extra : rebase_source : 804f230adcf77335c79a93537d9623ac3836d9bf
2016-03-24 12:21:55 -07:00
Mike Hommey
6a8ed3e4a8 Bug 1257823 - Move imply_option() to the global scope. r=nalexander
Like set_config and set_define, we move imply_option to the global
scope.
2016-03-24 09:04:28 +09:00
Mike Hommey
92c7aa3e65 Bug 1257823 - Keep track of the dependencies of @depends functions. r=nalexander
@depends functions are declared like the following:

  @depends('--option', other_function, '--other-option', ...)
  def ...

To simplify some of the processing related to those arguments it's
passed, keep a tuple of Option and DummyFunction objects corresponding
to those arguments.
2016-03-24 09:04:28 +09:00
Mike Hommey
e5cde501da Bug 1257823 - Move set_define() to the global scope. r=nalexander
For the same reasons as set_config is being moved to the global scope,
we're moving set_define to the global scope here. An additional change
is that set_define is now part of the sandbox itself instead of being
defined within the sandbox, which makes it share the implementation
details with set_config.
2016-03-24 09:04:28 +09:00
Mike Hommey
7cd6c430c1 Bug 1257823 - Move set_config() to the global scope. r=nalexander
The way set_config is set currently makes it difficult to introspect
moz.configure files to know what configuration items are being set,
because they're hidden in the control flow of functions.

This makes some of the moz.configure more convoluted, but this is why
there are templates, and we can improve the recurring cases afterwards.
2016-03-24 09:04:28 +09:00